I built the setup with Claude Code that remembers every architecture decision I’ve made, runs agents in parallel, and enforces my conventions without being asked. The whole thing runs on the $20/month Pro plan plus open source pieces. My CLAUDE.md File It lives in your project root. Read at the start of every session. Don’t skip it. most useful.
CLAUDE.md ## project - stack: next.js 14, typescript, tailwind, postgres via prisma - deployed on vercel, staging branch auto-deploys - monorepo: /apps/web, /apps/api, /packages/shared ## conventions - all components in PascalCase - API routes return { data, error } format - no default exports except pages - tests live next to source files, named *.test.ts - commits follow conventional commits (feat:, fix:, chore:) ## architecture decisions - chose prisma over drizzle (dec 2024): type safety priority - chose zustand over redux (jan 2025): less boilerplate - auth via clerk, not next-auth: better DX for our team size ## current focus - migrating payment system from stripe checkout to stripe elements - performance audit on /dashboard (target: LCP < 2s) ## rules - never mass edit more than 3 files without showing me the plan first - always run existing tests before writing new ones - if a task takes more than 5 steps, create a plan document first
Conventions kill nitpicks. Decisions stop Claude from re-litigating choices. Rules encode the things you keep correcting in chat. CLAUDE.md is static though. For memory that grows, you need the next layer . Memory that survives sessions Three pieces working together. Obsidian as the knowledge base. a structured wiki Claude reads from and writes to: /vault /decisions — every architecture decision with context /errors — bugs we hit and how we fixed them /patterns — code patterns that work in our codebase /sessions — summaries of what happened each day /stack — documentation for every tool we use Memory.md — who I am, what I’m building, my preferences index.md — master index of everything in the vault The structure comes from Andrej Karpathy’s large language model wiki concept. Knowledge compounds instead of being rediscovered every session. https://github.com/karpathy/llm-wiki claude-mem compresses each session into a persistent store that carries into the next. claude-subconscious runs a background agent that watches sessions and writes memory passively, no prompting. Claude already knows that Friday I was debugging a race condition in the payment webhook, switched from polling to websockets, and the tests still need updating. Skills turn the generalist into a specialist Markdown files that teach Claude how to perform specific tasks the way you want them done. Start with Superpowers from the Anthropic plugin marketplace: /plugin install superpowers@claude-plugins-official It forces a real workflow: brainstorm, spec, plan, test-driven development, implement, review. Claude writes a spec for your approval before any code gets touched. Then stack: Trail of Bits security skills audit workflows from real security engineers, every pull request scanned before I open it. Anthropic’s official skills PDF, DOCX, XLSX, data analysis. Reference implementation. tdd-guard blocks commits that skip tests. The block message explains what’s missing. Skills don’t conflict. Each sharpens one thing. Subagents split the work One session does tasks sequentially, and the context pollutes by task four. Subagents give each role its own context window and CLAUDE.md: architect design, specs, plans. No code. coder writes code from the plan. Full tool access. reviewer security-first read on every pull request, flags issues, checks coverage. tester writes and runs tests, pairs with tdd-guard. ops deploy, continuous integration and continuous deployment, infra. Tool permissions stay separated by role. The coder never sees deploy configs. Hooks and slash commands Any instruction I typed three times became a command: /fix-issue 456 reads the GitHub issue, branches, writes the fix with tests, opens a pull request. /review runs the reviewer agent on the current pull request. /deploy staging full deploy pipeline through the ops agent. Full collection of 57 production commands: Hooks fire automatically: Pre-commit tdd-guard verifies tests exist and pass. Session-start loads memory from Obsidian, reads recent session logs. Pre-push security review before code hits the remote. Rules stop being something I remind Claude about and start being something the system enforces. Orchestration claude-squad runs multiple agents in parallel, each in its own git worktree so branches don’t collide: brew install claude-squad cs Close the terminal, agents keep working. https://github.com/smtg-ai/claude-squad My nightly run, three sessions: agent 1: “fix all open issues labeled ‘bug’ in the repo” agent 2: “write missing tests for /apps/api/src/services/” agent 3: “refactor the dashboard components to use the new design tokens” Auto-accept ( cs -y ) for trusted work, plan mode for anything risky. Laptop closed. Three pull requests in the morning, separate branches, tests passing. Local orchestration stops at the pull request though . For agents that need to actually run, hit external APIs, and ship somewhere, I point them at coding-cli . it drops a sandboxed runtime into any agent’s chat, with 30+ APIs pre-wired (no keys to manage), a built-in database and auth, and deploys to a custom domain or the App Store. The agent gets a place to actually build and ship instead of just producing diffs. submitted by /u/Deep_Structure2023
Originally posted by u/Deep_Structure2023 on r/ClaudeCode
