⚠️ NOTE
You are reading a post about an older version of the extension. Newer versions automatically apply the generated diffs from your clipboar...
For further actions, you may consider blocking this person and/or reporting abuse
Tree-first output is the right shape, it is close to what coding agents assemble for themselves. Two things from running the same shuttle to Gemini. Put the file you are asking about at the very end, just before your question. Long pastes degrade in the middle, so the tree can open the context but the working file should land closest to the prompt. And your example output shows the gotcha by accident: docs/me/prompt.md and docs/me/publishing.md are personal notes that ride along to a hosted chat the moment they match the pattern. A one-second skim of the generated markdown before pasting catches it. Per-project state would have saved me, redoing selections every session is what killed my manual version.
Thanks for your comment! That's correct! I have to figure out a way to allow people to put certain files close to the prompt without making the UI complicated.
Another problem is that currently, all files not ignored by
.gitignorewill appear in the project structure..gitignoreis the only way to control what goes there. I have to fix that too. Thanks for the suggestion! Means a lot!Can you share that manual version of yours? Just to take a look.
It was a shell script and a throwaway markdown buffer, nothing clever. I ran git ls-files for the tracked file list, trimmed it in the editor to the files that mattered, then piped the surviving paths through a loop that appended each file to context.md under its own heading in a code fence. Paste the result into Gemini with the question at the end. Same property you are hitting now, by the way: git ls-files only respects .gitignore, so tracked-but-personal files rode along unless I trimmed them by hand. The workflow itself held up, what killed it was redoing the same selection every session, because the choice lived only in that one buffer. Your extension removes exactly that step, which is why I would store selections as per-project state.
@mansio Curious what you think about this one!
Congrats — the copy/paste loop is what everyone hand-rolls with a shell script, and you actually turned it into a tool with state. That's the part people skip.
I build the other side of this (an MCP server serving code context live), and I went in sure "dump the whole repo" was the wrong call. Measured, it's not about recall — my plain keyword tier matched the full pipeline on 30 code tasks. What breaks is the middle of a long paste, like @piekwerk said. So tree-first + target file last is the right shape, not a bigger paste.
The tokens are where it bites. A friend ran chunks vs whole-document on the same retriever: 9/14 correct at 1,356 tokens for chunks, 5/14 at 2,181 for the whole doc. Tiny sample, direction only, but it points at a context budget being the next move — collapse dirs by default, expand on demand.
The AGENTS.md ("Do not make mistakes.") made me laugh. Good luck with it.
So, it's that important? I have a plan. If you prepend the letter
i(for "important") before a file or a pattern, they get pasted last. How does that sound? I am also thinking about a separate text box for important files, but that would be too many boxes. But it would be clearer to the user. I am not sure how to implement it.Can you share that MCP server you were talking about? Sounds interesting to me...
Thanks for the tag. Your chunks-vs-whole-doc numbers match the shape I kept hitting from the paste side, and it is good to see it quantified even at n=14. I measured something similar on the tool end while consolidating a 9-server MCP setup: the schema block halved, but the bigger win turned out to be cache stability, because the prefix has to stay byte-identical across turns or every reply re-reads everything. One caveat worth adding to the chunk test: chunk count trades against chunk size, and past some point the per-chunk overhead and the lost cross-file references cost more than the shrink saves. Collapsing dirs by default sounds right. The tree only has to tell the model where it is. The file you are asking about is the part that needs to sit at the bottom.
Yes. Now we can put certain files at the bottom. If we want to add all Python files but put
main.pyat the end:Files to include:
**/*.pymain.pyIf you want to include all Python files, but put the ones in
srcat the end:Files to include:
**/*.pysrc/**/*.pyIf you want to put
main.pyat the end, andutils.pybeforemain.py:Files to include:
**/*.py utils.pymain.pyI added another feature today. If we click the "Apply Diffs" button, the extension reads the diffs from the clipboard and applies them to the files! No need to manually paste each file! Instructions on how to generate diffs are provided after the project structure.
Oh yeah! I didnt get that initially. Maybe I should add another tab inside the ReptClip panel where we can open and close directories just like we do on the left side of VS Code. Opened directories go into the project structure. It can be added cleanly without affecting the rest of the UI that much. Brilliant idea! 🙂