Abie Maxey
Claude Code Setup Done Right ~ Abie Maxey
The Blog
Claude Code May 2026 10 min read

Claude Code Setupdone right.

Most guides stop at install. That's where the real config work actually begins.

01 ~ The amnesia problem

Claude hasamnesia.

Every new Claude session starts with a blank slate. No memory of your stack, your team's naming conventions, your git rules, or the fact that you've asked it not to use em dashes forty-seven times. Default Claude Code is like hiring a brilliant contractor who shows up on day one without any briefing documents and just starts asking questions.

The difference between a default setup and a properly configured one is night and day. With a solid CLAUDE.md, a couple of skills, and the right MCP servers, Claude stops guessing and starts knowing. This is the setup guide that goes past the install command.

What we're building

A complete Claude Code project config: correct install, CLAUDE.md with the WHY/WHAT/HOW framework, personal overrides with CLAUDE.local.md, custom skills, MCP servers, and habits that make the whole thing stick.

02 ~ Install it right

The install most guidesstill get wrong.

If you've seen a guide telling you to runnpm install -g @anthropic-ai/claude-code,that method is deprecated. Anthropic switched to a native installer that requires zero Node.js. Two minutes, then you're done.

Step 1 ~ Install
$ curl -fsSL https://claude.ai/install.sh | bash
Step 2 ~ Verify
$ claude --version
Claude Code v1.x.x ~ ready
Step 3 ~ Launch in your project
$ cd your-project && claude
Browser opens for OAuth login ~ takes 20 sec

No Node.js required. The npm install method is deprecated ~ use the native installer above.

Homebrew also works: brew install --cask claude-code.Windows users: WSL is recommended over native PowerShell if you're already in a Linux-based toolchain. Either way, Git Bash is a requirement on Windows.

03 ~ The .claude/ folder

The folder that makesClaude smart.

Everything lives under .claude/ at your project root.Most of it goes into git so your team inherits the setup automatically. One file ~ CLAUDE.local.md ~ stays private and gitignored.

The complete .claude/ structure
your-project/
.claude/← the brain
CLAUDE.md← project memory (shared via git)
CLAUDE.local.md← your personal overrides (gitignored)
skills/
fix-tests.md← /fix-tests command
write-changelog.md← /write-changelog command
rules/
api-rules.md← path-scoped: src/api/**
ui-rules.md← path-scoped: src/components/**
.mcp.json← MCP servers (shared via git)

Claude also maintains auto-memory at~/.claude/projects/<project>/memory/~ saving debugging insights, patterns, and preferences across sessions. You don't configure it. It just happens.

04 ~ CLAUDE.md

The brain transplantthat costs 15 minutes.

CLAUDE.md is persistent memory. Claude reads it at the start of every session ~ which means everything in this file shapes every response you get. Getting it right matters more than any other part of your setup.

The framework that works: WHY (what the project does and why it exists), WHAT (your tech stack), HOW (build commands and team conventions). Keep it under 60 lines. Beyond that, Claude starts deprioritizing instructions. Ruthless editing is a feature.

CLAUDE.md
1
# CLAUDE.md — your-project
WHY: one-line project identity
3
## What this project is
4
A creator brand platform with admin dashboard,
Two sentences max. Claude reads this every session.
5
proposal system, UGC pipeline, and free tools.
7
## Tech Stack
8
- Next.js 15 App Router + TypeScript
WHAT: stack at a glance
9
- Tailwind CSS 4, Prisma + Supabase
10
- next-auth v5, Stripe, Resend
12
## Commands
13
- Dev: `npm run dev`
HOW: Claude runs these to check its own work
14
- Build: `npm run build`
15
- Types: `npx tsc --noEmit`
17
## Conventions
18
- kebab-case filenames
Put your team's non-obvious rules here
19
- Never use em dash — use tilde ~
20
- Server components by default;'use client' only when needed
21
- Components stay under 200 lines
22
- Every new feature gets its own branch
24
## Git rules
25
- Never push to main directly
Yes, tell Claude this. It'll respect it.
26
- No Co-Authored-By in commits
Do
  • Project summary in 2 sentences
  • Exact build + test commands
  • Non-obvious team conventions
  • Git branch and merge rules
  • @imports for external docs
Don't
  • Code style rules (use ESLint)
  • Full onboarding guides
  • History of the project
  • Anything over 80 lines
  • Personal dev preferences
Pro tips
  • Update after architecture changes
  • Use .claude/rules/ for path-scoped rules
  • Include your preferred PR format
  • Tell Claude your git branch naming
  • Mention your release channel

For larger projects: use@docs/api-conventions.mdinside CLAUDE.md to pull in external files on demand. Chains up to 5 levels deep, so you get detail without bloat.

05 ~ CLAUDE.local.md

The file most devsnever create.

Your team shares CLAUDE.md through git. But your sandbox URL is different from your teammate's. Your preferred test data is different. Your personal debugging shortcuts don't belong in the shared config.

That's what CLAUDE.local.md is for. Claude automatically reads it alongside CLAUDE.md, and it's automatically added to .gitignore. Nobody else sees it. Put your dev server overrides, personal shortcuts, and preferred workflows in here.

CLAUDE.local.md ~ never committed, always loaded

# Personal overrides ~ not for git

## Dev environment

- Local dev server: http://localhost:3000

- Staging: https://staging-branch.vercel.app

## Shortcuts I use

- When I say "done baby": commit, push, and open a PR

- Test with my seed user: test@example.com

## Personal preferences

- I prefer concise code explanations, not line-by-line commentary

- Don't add TODOs unless I ask

06 ~ Skills

Teachableworkflows.

Skills are how you teach Claude repeatable workflows. Drop a .md file with YAML frontmatter into .claude/skills/ and it becomes a slash command. Claude loads just the name and description at session start, then pulls the full skill when you invoke it ~ keeping your context window lean.

.claude/skills/fix-tests.md

---

name: fix-tests

description: Analyze and fix failing tests

allowed-tools: Read, Grep, Bash(npm test *)

---

Invoke with:

/fix-tests src/features/auth/

Start with the workflows you repeat most. PR description generation, test fixing, changelog writing, database seed scripts. Three good skills are worth more than twenty mediocre ones.

Community skills worth exploring

/fix-tests

/pr-description

/write-changelog

/db-seed

/review-pr

/deploy-check

/translate-copy

/refactor-types

Browse 1,300+ at claude.ai/extensions and Claude Code Plugins

07 ~ MCP servers

The power-uppack.

Model Context Protocol servers connect Claude to external tools and live data. Database schemas, up-to-date API docs, browser automation, GitHub. They've changed how I work more than any other Claude Code feature.

Three scopes: project (.mcp.json ~ shared via git), local (private to you), and user (~/.claude/ ~ all your projects). Start with project scope so your team inherits the config.

Recommended MCP serversClick to copy install command

Keep it to 5-6 MCP servers max. Each one eats context window. Don't be greedy.

08 ~ Commands

What to actuallytype.

Most guides cover install and CLAUDE.md then vanish. Here's the command surface you'll actually use. Bookmark this.

Commands worth knowing from day one
/init

Bootstrap a CLAUDE.md from your project structure

First session in a new project

/clear

Fresh conversation ~ CLAUDE.md context persists

Starting a new task in the same session

/compact

Compress conversation to free context window space

Long sessions getting slow

Shift+Tab

Enter plan mode ~ Claude proposes, you approve

Before any significant change

/config

Open settings (release channel, permissions, etc.)

First-time setup and tuning

/your-skill

Invoke a custom skill from .claude/skills/

Running repeatable workflows

/help

All available commands

You forgot something (no shame)

09 ~ Before vs after

The payoff inreal time.

Same task. Same prompt. Different setups. Toggle between them.

~/project $ claude

You: Add a dark mode toggle to the header

Claude:Sure! What framework are you using? React, Vue, or something else?Also, are you using Tailwind or CSS variables? What's your project structure like?Do you have an existing theme context? What component library, if any?

You: Just... look at the project? It's literally here.

Claude:I'd be happy to help! Could you share some of your existing code so I can understand your setup?

⚠ 4 minutes of back-and-forth before a single line of code

That 4-minute gap compounds. Every task. Every day. A good CLAUDE.md is the single highest-ROI configuration you can do.

10 ~ The checklist

Your 10-stepsetup.

Start at the top. Check things off as you go. The whole setup takes about 15 minutes and you only do it once per project.

Setup checklist0/10 done

“The install takes two minutes.The CLAUDE.md is what actually changes your workflow.”

Tool ~ Skill Maker

Generate your first skill files in minutes

Pick a template (brand voice, coding standards, PR format, email tone), fill in your details, and get a ready-to-drop skill file. No blank page. No guessing the frontmatter syntax.

Brand VoiceCoding StandardsPR DescriptionEmail ToneCustom Workflow
Build a skill

Wrapping up

The install is the easy part. The real work ~ and the real payoff ~ is in what you configure after. A focused CLAUDE.md under 60 lines. A CLAUDE.local.md for your personal setup. Two or three skills for your most repeated workflows. The right MCP servers for your stack.

That's it. 15 minutes of setup that pays back every session. And unlike the endless stream of AI tools that promise to change how you work, this one actually does ~ because you're the one teaching it.

Treat CLAUDE.md like a living document. Update it after architecture decisions, dependency changes, or any time Claude surprises you with an answer that's off-base. The more specific you are, the less it has to guess.

Abie Maxey

Love,

Abie

Weekly Dispatch

Thebuilder'sdiaries.

What I'm building, breaking, and figuring out.

  • AI tools I actually use to build faster
  • Behind-the-scenes of growing a business in Madrid
  • Community plays, client wins, and real revenue breakdowns
  • Grounded dispatches from someone building roots

Drop your email.

Unsubscribe any time. No spam, ever.