Building a personal Claude Code workflow: the daily-driver setup
After six months of refinement, here is the exact Claude Code workflow that earns its keep — config, conventions, MCP servers, daily ritual.
Reviews tell you whether Claude Code is good. Workflows tell you whether it actually pays off in your day. This piece is the latter — the exact setup I’ve converged on over six months of daily use across multiple projects.
It’s not aspirational (“here’s what a perfect setup might look like”). It’s descriptive (“here’s what I actually use; here’s why I use it instead of the obvious alternatives I tried first”).
The daily setup
When I sit down to code:
- Terminal split (tmux or kitty splits) — editor on the left, Claude Code on the right
- Helix or Cursor on the left depending on the project
- Claude Code in the right pane, started with
claudein the project root - A second terminal pane for shell commands I want to run myself
That’s the layout. Roughly 40% of my keystrokes happen in the editor, 40% in Claude Code, 20% in the shell pane.
The Claude settings.json
My ~/.claude/settings.json:
{
"model": "claude-opus-4",
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/charles/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
},
"postgres-prod": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://readonly@..."]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": { "BRAVE_API_KEY": "..." }
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"cloudflare": {
"command": "npx",
"args": ["-y", "@cloudflare/mcp-server"]
}
}
}
Six MCP servers. Each earns its keep weekly (see our essential MCP servers guide for the analysis of why these specific six).
The per-project setup
Every project has a .claude/CONVENTIONS.md at the root. For TopInsight:
# Project conventions
## Stack
- Astro 5 + Tailwind 4 + MDX
- Cloudflare Workers Static Assets runtime
- TypeScript strict mode
## Style
- Never explain code unless I ask
- Use U+2019 curly apostrophe in prose, not ASCII '
- Single quotes for JS strings, no semicolons except where mandatory
## Conventions
- Components live in src/components/, lowercase kebab-case
- Pages in src/pages/
- Content in src/content/<collection>/*.mdx with frontmatter
## Ask before
- Adding dependencies
- Editing wrangler.jsonc / package.json / tsconfig.json
- Creating new src/ subdirectories
## Hot files / do not touch
- src/content/authors/charles-lin.md (manual edits only)
- docs/backfill-timeline.md (manual edits only)
This file is the single biggest workflow accelerator I’ve found. Twenty minutes to write, saves hours of correction over a project’s lifetime.
The daily ritual
Morning (15-20 min):
- Open Claude Code in the project root
/memoryto remind it of project-specific knowledge from previous sessions- Tell it what I’m working on in one paragraph
- Add the relevant files to context with
/add - Start the actual work
During the day:
- Claude Code handles tasks I describe; I review diffs
- I use the editor for actual typing-by-hand work
- The shell pane handles ad-hoc commands
End of day:
git status— review what I committed/memory remember <key insight>— if I learned something the agent should know next session
What I learned from r/ClaudeAI
The community thread that most influenced my setup is the 2313-upvote “Claude Code is a Beast — 6 months of tips” thread. The patterns that recur:
- Heavy MCP investment pays off: power users have 5-10 MCP servers configured, not 1-2
.claude/CONVENTIONS.mdper project: universally adopted by heavy users/clearbetween unrelated tasks: saves context budget- Pin Opus for hard tasks, Sonnet for routine: model selection matters
The Boris setup thread (2993 ups) from Claude Code’s creator is the canonical reference. Read it.
The Claude Code plugin system thread (452 ups) covers the newer plugin layer — worth knowing about even if you don’t deeply use plugins yet.
What I do NOT do
Anti-patterns I’ve eliminated:
- Don’t paste files into chat manually —
/adddoes it better - Don’t describe tasks in 5 paragraphs — one paragraph + add files is faster
- Don’t leave 20+ files in context — bloat hurts more than it helps
- Don’t use the same conversation for unrelated work —
/clear - Don’t skip the diff review — even good agents make subtle mistakes
The honest cost / benefit
After six months:
- Total spend: ~$40-60/month on Claude Pro/Max plus occasional API top-ups
- Time saved: 2-4 hours per week of grunt work (refactors, exploration, debugging investigation)
- Quality improvement: hard to quantify, but the “AI catches things I miss in code review” feeling is real
Worth it. The honest test for any tool: would I keep paying for it after 6 months? Yes.
For the deeper coverage, see our Claude Code review, MCP essentials, MCP deep dive, and Claude Code vs Cursor comparison.
Sources
Every reference behind this piece. If we make a claim, it's because at least one of these said so — or we lived it ourselves.
- Firsthand Six months iterating on a daily Claude Code workflow across projects
- Docs Claude Code documentation — Anthropic
- Blog r/ClaudeAI — Claude Code is a Beast: 6 months of tips (2313 ups) — r/ClaudeAI
- Blog r/ClaudeAI — Boris (Claude Code creator) setup thread (2993 ups) — r/ClaudeAI
- Blog r/ClaudeAI — Claude Code plugin system thread (452 ups) — r/ClaudeAI
- YouTube IndyDevDan, AI Jason on Claude Code workflows — IndyDevDan