building my favorite AI dev stack
after enough projects starting from the same half-remembered checklist, i turned my actual claude code workflow into a starter template instead of re-explaining it every time.
every new project started the same way. open claude code, spend the first twenty minutes re-explaining how i like to work — commit conventions, branch model, when to ask before doing something risky, which skills i actually use versus which ones i installed once and forgot about. useful the first time. tedious the fifteenth.
so i stopped re-explaining it and started templating it.
what actually mattered
not the tools themselves — most of them are the boring, obvious picks. what mattered was the defaults. don’t commit or push without asking, every session, no matter how many times i said yes last time. don’t jump into an isolated worktree unless i actually asked for one. these sound like small preferences until you’re the one repeating them for the fifth project in a row.
a real branch model helped more than i expected. not because gitflow is exotic — it’s about as standard as it gets — but because having one written down meant i stopped improvising branch names differently every time and forgetting halfway through which convention this particular repo used.
the boring parts, on purpose
a spec-before-code habit. a release checklist that doesn’t let a build get called “done” until it’s actually been built, tested, and versioned. these aren’t interesting to write about, which is sort of the point — the goal was consistency i didn’t have to think about, not a clever system i’d have to remember how to operate.
where it stands
it’s a starter template now, not a one-off setup. new project, one command, and the workflow i actually use shows up already in place instead of getting rebuilt from memory. still adjusting the defaults as i find the edges of what i actually meant versus what i typed the first time under deadline pressure.
which is probably how every “opinionated” toolkit ends up — a running list of opinions you didn’t know you had until something violated one.
repo’s private for now — more on the project page.