The complete guide to Claude Code. Opus 4.7, Sonnet 4.6, Haiku 4.5. 1M token context window. 27 hook events. 43 production-tested chapters across 6 topical Parts (Foundation, Workflow, Extension, Context Engineering, Advanced, Reference). Three install tiers. CC 2.1.121+ compatible.
Claude Code is Anthropic’s official CLI. This guide’s best-practices package adds a curated set of rules, skills, and hooks on top of it. This chapter walks through installing the package in three tiers – pick the one that matches how deep you’re going.
Purpose: Get from zero to a working, opinionated Claude Code setup Difficulty: Beginner Time: 5-30 minutes depending on tier
Before anything here runs, you need Claude Code itself and a few supporting tools.
claude --version # Claude Code CLI (required)
git --version # Git (required)
jq --version # jq (required by the installer)
node --version # Node v18+ (required for several MCP servers)
npx --version # Ships with Node
If claude is missing, install Claude Code via the official instructions at claude.com/claude-code first. If jq is missing: sudo apt install jq on Debian/Ubuntu/WSL2, brew install jq on macOS.
The installer is manifest-driven. A single best-practices/manifest.json defines what each tier installs, and Recommended extends Core, Full extends Recommended – so you can always upgrade without reinstalling from scratch.
| Tier | Audience | Rules | Skills | Hooks | Install time |
|---|---|---|---|---|---|
| Core | Newcomer / trying things out | 8 | 3 | 1 | ~2 min |
| Recommended | Working developer | ~30 | 16 | 7 | ~5 min |
| Full | Power user, governance, cross-project AI | 55+ | 43 | 12 | ~10 min |
Core gives you validation workflow, no-mock-data enforcement, session protocol, safety rules, and three everyday skills (verify, session-start, troubleshooting-decision-tree). It’s enough to feel the difference.
Recommended layers in the debugging discipline (diagnostic-first, no-band-aids, layer-escalation), planning (plan-checklist, delegation), TDD, Basic Memory MCP patterns, and canary/verify for deploys. This is where most developers land.
Full adds governance scaffolding (context-budget, overlap scanner, missing-refs scanner), AI-specific rules (ADK, Gemini, multi-agent orchestration, Hebrew+LLM), self-telemetry, and the inter-agent bus for cross-project coordination.
See Part VI, Chapter 04 — Skill Catalog for the full list of skills and what each does.
curl -sL https://raw.githubusercontent.com/ytrofr/claude-code-guide/master/install.sh | bash
Run this from any project directory. It installs Core into <project>/.claude/ and writes a marker file .claude-best-practices-installed so updates work later.
The richer tiers pull in more files than a curl pipeline can comfortably fetch, so they require cloning the repo first.
git clone https://github.com/ytrofr/claude-code-guide.git
cd claude-code-guide
# In the project you want to install into:
./install.sh --recommended /path/to/project
# or
./install.sh --full /path/to/project
If you omit the path, the installer installs into the current directory.
./install.sh --recommended --dry-run
Prints everything that would install without touching any files. Use this to see exactly what each tier adds.
global/context-checking, global/validation-workflow, process/safety-rules, process/session-protocol, process/task-tracking, quality/no-mock-data, quality/standards, technical/patternsverify, session-start, troubleshooting-decision-treeSessionStart memory-context-loaderBEST-PRACTICES.md (universal, auto-loaded via @import)CLAUDE.md.template (starter CLAUDE.md for your project)diagnostic-first, follow-the-data, layer-escalation, logs-before-metadata, no-band-aids, trace-before-planningplan-checklist, delegation-rule, kpi-validation, plan-linksequential-user-simulation, two-stage-review, data-validate-before-refactor, source-validationbasic-memory-write-standards, memory-before-work, mcp-firsttdd, plan-checklist, session-end, memory-* (defrag, notes, search), retrospective, canary, mcp-usage-patterns, doctor-workflow, perplexity-workflow, playwright-mcp, documentrule-size-gate, plan-sections-gate, skill-activation-logger, pre-compact, memory-pre-compact, safety-gatebasic-memory.jsonno-hardcoded-classification, per-user-oauth-isolation, llm-finish-reason-probe, and moreSee Part VI, Chapter 04 for the full catalog.
By default the installer writes to <project>/.claude/. Add --global to install into ~/.claude/ instead – useful for rules and skills you want to apply to every project on this machine.
./install.sh --recommended --global
Conventionally:
~/.claude/): universal rules (safety, session protocol), general-purpose skills (verify, tdd, canary)<project>/.claude/): project-specific CLAUDE.md, project-scoped rules (e.g. Jekyll build gate for this repo), per-project settings.jsonUser settings override project settings where they collide. See Part I/03 — Project Structure for the full scope rules.
The Core tier ships with an update.sh in the installed project. Run it to pull the latest Core files without touching your custom additions.
# From a previously installed project:
./update.sh
# Or re-run the installer with --update:
./install.sh --update
For Recommended/Full, pull the latest guide repo and re-run the install command with the same tier flag – the installer is idempotent and overwrites only files it owns per the manifest.
./install.sh --uninstall
Removes only files listed in the manifest under the installed marker. Your own CLAUDE.md, custom rules, and custom skills are left alone.
After installing, confirm it worked.
# What got installed?
ls -la .claude/rules/
ls -la .claude/skills/
# Marker file (proves installer ran)
cat .claude-best-practices-installed
The marker file records which tier was installed and the version.
Start Claude Code in the project:
cd /path/to/project
claude
Then in the Claude Code session:
/skills
The /skills built-in lists every skill Claude Code has discovered from ~/.claude/skills/, <project>/.claude/skills/, and any plugins. Verify the skills you expect to be there are listed. If a skill is missing, check its description field for a trigger clause – without one, auto-invocation won’t work (see Part I/05 — Troubleshooting).
You can also check the CLI version:
claude --version
If the output is older than what’s documented in Part VI/01 — CC Version History, update Claude Code itself (not just this package).
jq not found during install: install jq first (sudo apt install jq / brew install jq)./skills: the description field may be missing or lacking a trigger clause. See Part I/05 — Troubleshooting.CLAUDE.md.template next to your existing one if you already have one. Merge manually.--global, the installer is idempotent.claude mcp add for MCP servers, not settings.json: MCP servers registered in settings.json are silently ignored by recent Claude Code versions. Use the claude mcp add command instead.For a deeper troubleshooting reference, see Part I/05 — Setup Troubleshooting.