Agree. When I first started using AI to build projects I just let it do whatever it wanted. Turned out to be completely unmaintainable — everything was a black box.
The worst is when you find a bug, fix it, and then Claude Code starts spiraling — "this isn't right either", "actually let me change this part too", "wait no let me revert that" — just Clauding endlessly and making things worse.
Now I make it break everything into atomic changes. At least it's not a total black box anymore.
Exactly, for me starting with spec works well. I even do multiple rounds with Claude: "review this from the clean code / SOLID perspective", "check if everything is consistent and follows project conventions". Only after that I allow him to proceed with implementation. And I have architecture and tech stack clearly described in CLAUDE.md
Agree. When I first started using AI to build projects I just let it do whatever it wanted. Turned out to be completely unmaintainable — everything was a black box.
The worst is when you find a bug, fix it, and then Claude Code starts spiraling — "this isn't right either", "actually let me change this part too", "wait no let me revert that" — just Clauding endlessly and making things worse.
Now I make it break everything into atomic changes. At least it's not a total black box anymore.
Exactly, for me starting with spec works well. I even do multiple rounds with Claude: "review this from the clean code / SOLID perspective", "check if everything is consistent and follows project conventions". Only after that I allow him to proceed with implementation. And I have architecture and tech stack clearly described in CLAUDE.md
[dead]