Post

My site's repo has 157 design specs and zero implementation plans. On purpose. Two new articles in my Homecoming series this week, both about how I actually worked with Claude Code for six months to bring 23 years of content home. 🧵

First up: process. I started with plan mode. It worked fine until it didn't. Every change was a one-off. After a few weeks of writing content, I'd come back to the code and forget decisions I'd already made. Sometimes I'd contradict them.

After joining AvePoint I copied how a real eng team works. Every change gets an issue written like a PRD, a brainstorm, a spec I review, a plan I don't read, a worktree, and a PR. 415 issues, 320 PRs. Overkill for a personal site? Yep. Did it anyway.

0 reposts0 likes

Second: the files that teach Claude Code how my repo works. I got tired of explaining commit messages for the third time. CLAUDE.md = context Rules = policy Skills = know-how for a task Commands = scripts I'd otherwise write Hooks = what can NEVER be skipped

Five buckets reads about right, and commit messages are what people hit first. Policy alone doesn't teach a shape, so the rules file can say "conventional commits" forever and still get prose. Cheers for laying the split out so plainly.

Your commit-message line caught me, same loop here. What broke it was examples, not policy. I pasted three real messages from git log into the rules file and dropped the prose. The model copies shape. My adjective version drifted within a week, the examples still hold months later.

I'll start with git blame on the 540 lines. Any line added right after the agent tripped is a fix, not context, and your article already says to ask which layer a fix belongs in. The map stays in CLAUDE.md. How many of the 540 would that pull out?

Anything that was 'please never touch migrations or package-lock'. Soft rules in CLAUDE.md got negotiated away once the file passed a few hundred lines. The PreToolUse hook that refuses those paths is the only version that survived a long session.

540 lines is about where mine started getting ignored too. What helped: keep the root file to commands and a repo map, and put folder-specific rules next to the code they cover, so they only load when the agent works there.