Working with coding agents produces exhaust. Plans written before any code gets touched. Research notes on the library that didn't make the cut. A script that verified one thing once. Instructions telling the agent how I like to work.
None of it belongs in the repo, but all of it wants to live right next to the repo.
For a while, I handled this the usual way: a .gitignore entry and good intentions.
The problem is that .gitignore is a promise, not a guarantee. One git add -f when you're moving fast. One overly broad pattern change that un-ignores a directory as a side effect. One agent that "helpfully" cleans up your ignore file during a refactor—which is a real thing that happens when you give a language model write access to your tree.
Any of those can put your private notes into history. Once that history reaches a shared remote, cleaning it up means rewriting commits, coordinating with everyone who pulled them, and possibly rotating anything sensitive.






