I'm building a BitTorrent client in Rust. Mostly just to actually learn Rust.

A couple weeks in, I realized what was really happening. I wasn't learning much at all. I'd just explain what I wanted the piece manager to do in crazy detail, Claude would spit out the code, I'd skim the diff, say "yeah looks good" and commit. The repo was getting bigger. I wasn't.

Which is kind of pointless when the whole reason for the project is to learn. So instead of trusting myself to have willpower at 1am, I just made it a rule in the repo.

What I ended up with is a CLAUDE.local.md that basically tells Claude to tell me no. It can still do all the boring stuff that isn't the point, like renaming things, config, docs, reading code, reviewing my stuff. But if I ask it to build a feature or hunt down a bug for me, it's supposed to refuse and help me figure it out myself.

And honestly this isn't Rust-specific at all. You could drop this into any repo you're using to learn.