Original Reddit post

I run a small hosted SaaS by myself. Claude Code writes most of the code, but honestly that’s become the least interesting part. It also runs most of the day to day: it deploys, watches the servers, drafts the support replies, writes the SEO pages, does a chunk of the monthly bookkeeping. The repo is 5 months old, about 4,200 commits, so I finally have a decent sample of what helps versus what just feels like helping. Up front: the “my setup is dead simple” crowd is mostly right. For a normal project I wouldn’t build any of this. Everything I still have exists because the same mistake happened twice, not because I like sharpening the axe. The biggest thing I turned off: git worktrees, the standard answer for parallel sessions. My reason is boring - I deploy by pushing to main, and some sessions run unattended overnight. An unattended agent that’s allowed to create branches will eventually park important work on one, and I find it three days later. So a PreToolUse hook refuses the worktree tool. The rule started as a sentence in CLAUDE.md and got ignored once the context window filled up; hooks can’t be ignored. Parallel work is subagents doing research and review, with one writer on the checkout. Skills are where the repetition went. I’m at 82 of them now - deploy, code review, the refund flow, support reply drafting, weekly usage reports. Sounds like a lot, but each one is just instructions I caught myself typing a second time. The deploy skill remembers that migrations don’t run automatically on this repo, which I personally forgot twice. An employee training manual you write once. The thing that compounded hardest though is the memory directory. 427 small markdown files, one fact each, half of them “never do X again” notes written ten minutes after Claude did X. CLAUDE.md gets you through week one. The mistake ledger is why month five feels different. The unattended part is what changed how the whole thing feels. Overnight sessions run scoped audit and maintenance jobs, and a hook sends me a Telegram ping when a session actually needs me, so I stopped checking on it and let it interrupt me instead. Deploys still wait for me in the morning. This is where “agent, not autocomplete” stopped being a slogan. And review: nothing deploys until a model from a different vendor reviews the diff, then a fresh subagent checks the fix. On my diffs, same-model review tended to repeat the original reasoning. Last week the cross-model pass flagged a missing tenant-scoping condition in an account query before it shipped. That one catch paid for the whole setup. Claude drafts every customer email, and a human has sent every single one. Same for this post - it wrote the first draft and I rewrote most of it because it sounded like a LinkedIn guy. I’m more curious about the opposite of the usual setup thread: what did you turn off? submitted by /u/indie_zack

Originally posted by u/indie_zack on r/ClaudeCode