CLAUDE.md
Project instruction file that guides Claude in a repo.
This page is a practical starter kit for users who say “Claude cowork.” The phrase is community shorthand; the official surfaces are Claude, Claude Code, Claude Desktop/Mobile, Connectors, and MCP.
If this is your first pass, follow this exact order in a fresh project folder. You can stop after each step and still be in a safe place.
claude, git, and a terminal you can already type in.cd your-project
cat > CLAUDE.md <<'EOF'
# CLAUDE.md
## Boundaries
- Use short commands and diff-based edits.
- Commit before risky changes.
- Ask for explicit confirmation before write-side integrations.
EOF
claude in the repo and ask for a tiny code-review task on one file.CLAUDE.md + Claude Code + Git.CLAUDE.md.CLAUDE.mdProject instruction file that guides Claude in a repo.
Reusable package that adds tools or skills to Claude’s workflow.
Catalog where plugins are found, installed, and managed.
Official Claude integration path for supported services.
Protocol for local/project server integrations to tool APIs.
Where a setting applies: one project, all projects, or managed policy.
Use one path first, then add complexity only if needed.
When: you want a low-risk baseline.
Install: Claude Code + Git + ripgrep + jq.
First test: run claude --version, then git status in a repo.
When: you already edit code and want PR/issue context.
Install: add one official connector or plugin first.
First test: open plugin manager, then verify one PR-related question is answered with repo context.
When: your team mostly reads/references docs.
Install: one official Docs workspace connector.
First test: run a search in your drive-backed doc set and confirm result visibility.
When: operations is organized in pages/tasks.
Install: Notion MCP example endpoint + any required token.
First test: list a test workspace object from the MCP panel.
When: you need internal tooling first.
Install: local MCP server + scoped token or local stub.
First test: add one local MCP server and confirm claude mcp list includes it.
This guide is for beginners through advanced operators who want one playbook for setup, command habits, reusable Markdown instructions, MCP integration, and connector decisions across macOS, Linux, and Windows.
Use this quick chooser when deciding between instruction files, plugins, connectors, and MCP.
| Thing | Claude Code CLI | Claude web | Claude Desktop | Claude mobile |
|---|---|---|---|---|
| CLAUDE.md | Primary for project and user memory | No local-file memory | No local-file memory | No local-file memory |
| Plugins | Primary install + config surface | Not the main path | Not the main path | Not the main path |
| Connectors | Account-level, less CLI-native | Primary enablement surface | Primary enablement surface | Primary enablement surface |
| MCP | Primary for local/project server config | Usually via curated connectors only | Usually via curated connectors only | Usually via curated connectors only |
/plugin, claude mcp add, claude mcp list) are not the normal path. Use Connector settings and account-level configuration first.
CLAUDE.md filesChoose this if: you need persistent behavior rules, project conventions, and safety boundaries.
Scope: local/project/global and version-controlled where appropriate.
Choose this if: you want reusable packaged capabilities (skills/agents/hooks/MCP) with lower setup friction.
Scope: user/project/local install scopes from the plugin manager.
Choose this if: your data already lives in supported SaaS tools and you want OAuth-first setup.
Scope: mostly UI-managed in Claude web/desktop/mobile.
Choose this if: you need custom/internal tooling, direct transport control, or non-standard integrations.
Scope: CLI-managed local/project/user configs.
Local: no (typically not machine-local by default).
Project: yes, place in repo for shared rules.
User/global: `~/.claude/CLAUDE.md` for universal defaults.
Managed: org-level policy can override behavior.
Local: useful for personal CLI installs.
Project: use project-level plugin config when sharing a team.
User/global: user install covers broader contexts.
Managed: org policy can lock allowed plugin sources.
Local: run and scope local stdio servers here.
Project: store in project `.mcp.json`.
User/global: user-level config covers all projects.
Managed: rarely used in enterprise policy contexts.
Local: mostly not directly local-configured.
Project: connection behavior can be shared per workspace.
User/global: auth is often account-wide.
Managed: team policy commonly controls connector list.
1) Git, 2) Claude Code, 3) project CLAUDE.md, 4) one official connector or plugin, 5) add MCP only when a real workflow demands it.
For many teams, a practical free-first start is Claude Code + Git + ripgrep/jq + markdownlint. Add paid SaaS connectors only when repeat value justifies it.
Start read-only. Add write actions only after you validate logs, scope, and rollback behavior for that integration.
Use this as the fastest practical baseline. Start with CLI + Git, then add connectors/MCP only when needed.
# 1) Install Claude Code (official installer)
curl -fsSL https://claude.ai/install.sh | bash
# 2) Optional: install via Homebrew stable channel
brew install --cask claude-code
# 3) Launch in your project
cd your-project
claude
# 4) Verify CLI health
claude --version
If you use Homebrew, update with brew upgrade claude-code.
# 1) Install Claude Code (official installer)
curl -fsSL https://claude.ai/install.sh | bash
# 2) Install core prerequisites
sudo apt update
sudo apt install -y git curl jq ripgrep fd-find
# 3) Launch in your project
cd your-project
claude
On Fedora/RHEL/Alpine, use your package manager equivalents for prerequisites.
:: 1) Install Claude Code from CMD (official CMD script)
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
:: 2) Optional: install via WinGet
winget install Anthropic.ClaudeCode
:: 3) Install Git for Windows (recommended for Bash tool)
winget install Git.Git
:: 4) Launch Claude
cd your-project
claude
PowerShell alternative: irm https://claude.ai/install.ps1 | iex. If commands/docs mismatch, start in CMD first and switch to PowerShell only after baseline works.
CLAUDE.md for your project.
| What to check | Command / action | Expected success signal |
|---|---|---|
| CLI installed + signed in | claude --version and start a minimal session | CLI runs and you reach a project-aware terminal session. |
| Plugin manager opens | /plugin | Plugin list, install options, or discover view appears. |
| MCP panel and expected server | claude mcp list (or /mcp in Claude Code) | Expected server is listed and shows status. |
| Connector is authorized | Open connector settings and run a lightweight connector read task | Task returns without auth error. |
| Git works in project | cd your-project && git status | Clean status output and expected tracked file list. |
CLAUDE.md leaks them into prompts and history.Plugins are packaged extensions for Claude Code (skills, agents, hooks, and MCP server integrations) distributed through marketplaces.
claude-plugins-official is the official Anthropic marketplace and is commonly available by default. anthropics/claude-code is a separate Anthropic demo marketplace you add manually.
Marketplace name: claude-plugins-official. Usually available in standard setups. Best first stop for production use.
Marketplace source: anthropics/claude-code. Useful for examples and learning plugin structure.
Supported via GitHub repo, Git URL, local path, or remote marketplace.json URL. Review trust and permissions before install.
commit-commands in demo marketplace).Catalog categories evolve. Re-check the Discover tab for current labels and install scopes before standardizing team workflows.
# Open plugin manager
/plugin
# Install from official Anthropic marketplace (already available by default)
/plugin install github@claude-plugins-official
# If official marketplace looks stale/missing
/plugin marketplace update claude-plugins-official
/plugin marketplace add anthropics/claude-plugins-official
# Add Anthropic demo marketplace (manual)
/plugin marketplace add anthropics/claude-code
# Install demo plugin example
/plugin install commit-commands@anthropics-claude-code
# Activate new plugin versions
/reload-plugins
claude-plugins-official).Curated, practical list. “Free/open” means fully open-source or free-to-start with optional paid tiers. Use only what you need.
Use this to scan key tools/plugins/connectors by OS, category, trust source, and cost posture.
| Item | Category | OS | Source posture | Cost posture | Use case |
|---|---|---|---|---|---|
| CLAUDE.md | Instruction files | All | Official behavior model | Free | Persistent repo instructions and constraints |
| CLAUDE.local.md | Instruction files | All | Official behavior model | Free | Private per-project preferences not committed to git |
| claude-plugins-official | Plugin marketplace | All | Official Anthropic | Free | Default trusted marketplace for install/discover |
| anthropics/claude-code | Plugin marketplace | All | Anthropic demo marketplace | Free | Example plugins and learning patterns |
| GitHub connector | Connector | Web/Desktop/Mobile | Directory connector | Optional paid | Repo and issue context in Claude surfaces |
| Google Drive connector | Connector | Web/Desktop/Mobile | Directory connector | Optional paid | Retrieve and search docs/files |
| Custom connector (remote MCP) | Connector | Cloud-routed | You own trust decision | Optional paid | Custom SaaS/internal integration over public internet |
| Notion MCP (HTTP) | MCP | All | Official docs example | Optional paid | Structured docs/tasks with HTTP transport |
| Airtable MCP (stdio) | MCP | All | Official pattern + OSS package | Optional paid | Local stdio MCP add pattern |
| Git | Local tool | All | Open-source baseline | Free | Commit checkpoints and rollback discipline |
| GitHub CLI (gh) | Local tool | All | Open-source baseline | Free | PR workflows and automation |
| ripgrep / jq / markdownlint | Local tool | All | Open-source baseline | Free | Fast search, JSON parsing, and docs quality |
| Name | What it does | Why Claude cowork users care | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| Claude Code CLI | Primary agentic coding surface | Runs edits/commands with reproducible terminal workflows | Requires account; docs include free/paid surfaces | macOS/Linux/Windows | Install via official scripts, Homebrew, or WinGet |
| Git | Version control | Commit checkpoints, branching, rollback | Open source | All | Windows: Git for Windows recommended |
| Python 3 | Scripting/runtime | Data transforms, quick automations, local tools | Open source | All | Prefer system package manager/official installer |
| Node.js LTS | JS runtime/package tools | Needed for many MCP/community utilities | Open source | All | Install LTS channel only for stability |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| VS Code | Editor with extension ecosystem | Pairs well with CLI + diff review workflows | Free (source-available binaries) | All | Install Claude Code extension if you use VS Code surface |
| VSCodium | Telemetry-minimized VS Code build | Open-source-first teams often prefer it | Open source | All | Validate extension compatibility for your stack |
| JetBrains IDE + Claude plugin | IDE integration | Inline diff + context sharing for JVM/Python-heavy shops | Mixed (IDE licensing varies) | All | Install “Claude Code” from JetBrains Marketplace |
| tmux | Terminal multiplexing | Run parallel sessions and keep long tasks alive | Open source | macOS/Linux/WSL | Use named sessions for repeatable runbooks |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| GitHub CLI (gh) | Repo/PR automation from terminal | Fast handoff from Claude-generated changes to PRs | Open source | All | gh auth login once per machine |
| lazygit | Terminal Git UI | Quick staging/cherry-pick/rebase checks | Open source | All | Useful when reviewing many Claude edits |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| Playwright | Browser automation/testing | Reliable UI checks + evidence capture workflows | Open source | All | Install browser binaries after package install |
| mitmproxy | Traffic inspection | Debug API calls and auth flows during integration work | Open source | All | Use only on systems you control |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| markdownlint-cli2 | Lint markdown consistency | Keeps CLAUDE.md/runbooks readable | Open source | All | Run in CI for docs hygiene |
| Prettier | Formatter for Markdown/JSON/YAML | Reduces noisy diffs in prompt/config files | Open source | All | Pin version in project config |
| Pandoc | Document conversion | Convert MD runbooks to PDF/docx deliverables | Open source | All | Pair with print-friendly templates |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| jq | JSON query/transform | Audit API payloads, config diffs, logs | Open source | All | Essential for CLI pipelines |
| yq | YAML/JSON processing | Helps with CI and infra config files | Open source | All | Prefer consistent v4 syntax across teams |
| poppler-utils | PDF text/render tools | Fast extraction and QA for report workflows | Open source | All | pdftotext, pdfinfo, etc. |
| ImageMagick | Image conversion/manipulation | Batch prep assets for docs/UI runs | Open source | All | Use restrictive policy for untrusted files |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| Make | Task automation | One-command builds/test/deploy checks | Open source | All | Define repeatable targets Claude can call |
| just | Developer command runner | Cleaner task files than complex shell scripts | Open source | All | Good for onboarding docs + recipes |
| uv | Fast Python package/project tool | Speed + lockfile workflows for Python repos | Open source | All | Use for reproducible envs and scripts |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| SQLite | Embedded database | Perfect for local proofs and demos | Public domain | All | Pair with DB Browser for GUI inspections |
| DuckDB | In-process analytics DB | Quick analytics on CSV/Parquet without infra | Open source | All | Great for notebook + CLI workflows |
| DBeaver CE | DB desktop client | Cross-DB inspection and query validation | Open source | All | Use read-only creds where possible |
| Name | What it does | Why it matters | Free/Open | OS | Setup note |
|---|---|---|---|---|---|
| MCP Inspector | Inspect/test MCP servers | Validate server behavior before production use | Open source | All | Use during connector/server development |
| Sentry (free tier) | Error monitoring | Useful target for MCP/connector automation recipes | Free tier + paid | Web | Use official SDKs and least-privilege tokens |
| OpenTelemetry tooling | Tracing/metrics standards | Adds observability to agent-assisted workflows | Open source | All | Start local before cloud exporters |
These files are high-leverage because they shape Claude behavior, team alignment, and auditability.
CLAUDE.md files and related .claude/* config. It does not read AGENTS.md as the instruction source.
| File | Purpose | Scope | When to use | Practical note |
|---|---|---|---|---|
| ./CLAUDE.md | Main project instructions loaded each session | Project | Always for active repos | Commit to git for team-shared behavior and runbooks |
| ./.claude/CLAUDE.md | Project instructions in .claude layout | Project | When you standardize around .claude structure | Use one clear project-level CLAUDE source to avoid confusion |
| CLAUDE.local.md | Private project-specific instructions | Local only | Personal preferences and temporary local guardrails | Create manually and keep gitignored |
| ~/.claude/CLAUDE.md | Global instructions across projects | User/global | Personal defaults used everywhere | Keep short; avoid project-specific commands here |
| .claude/rules/*.md | Topic/path-scoped rules | Project or global | Large repos with subsystem-specific constraints | Prefer narrow rule files over one giant CLAUDE.md |
| .claude/settings.json | Permissions/hooks/env/model defaults | Project or global | When behavior needs enforcement, not only guidance | Settings enforce; CLAUDE.md guides |
| .claude/settings.local.json | Local settings overrides | Project-local | User-specific local experimentation | Usually gitignored by Claude Code |
| README.md / docs/*.md / runbooks/*.md | Human and agent operational references | Project | As soon as workflows stabilize | Keep deploy/rollback commands synchronized with CLAUDE.md |
/Library/Application Support/ClaudeCode/CLAUDE.md, Linux/WSL /etc/claude-code/CLAUDE.md, Windows C:\Program Files\ClaudeCode\CLAUDE.md.managed-settings.json and managed-settings.d/*.json.HKLM\SOFTWARE\Policies\ClaudeCode with Settings JSON value (with lower-priority user-level fallback at HKCU).Use managed settings for enforceable controls and managed CLAUDE.md for organization-wide guidance text.
CLAUDE.md# Project instructions for Claude
## Purpose
- One sentence on what this repo is for.
## Boundaries
- Do not touch production paths directly.
- Use deploy scripts in `ops/scripts/`.
- Treat runtime artifacts (.db, .env, caches) as non-source.
## Workflow
1. Inspect current state.
2. Apply smallest safe change.
3. Run local verification.
4. Deploy with script.
5. Run health checks.
6. Commit + push with focused message.
## Repo conventions
- Preferred test command: `...`
- Preferred formatter/linter: `...`
- Branching rules: `...`
- Required docs updates: `README.md`, `CHANGELOG.md`
CLAUDE.local.md# Local-only Claude instructions
## Scope
- This file is local-only and should not be committed.
- Use it for machine or branch-specific preferences.
## Defaults
- Use existing project shell aliases.
- Keep secrets in environment-specific secret stores, not here.
## Workflow
- Run read-only checks before write actions.
- Pause and confirm before external deployments.
.claude/rules/01-safety.md# Safety rules
## Never do
- Push secrets to logs.
- Execute destructive commands without explicit confirmation.
## Do this first
- Validate `claude --version`.
- Confirm `git status` is expected before edits.
- Run one minimal integration action and check output.
## Escalation
- If uncertain, rollback with a small git commit and re-run health checks.
README.md# Project name
## What this does
Short practical summary.
## Quick start
```bash
git clone ...
cd ...
make dev
```
## Structure
- `app/` runtime code
- `ops/` deploy scripts
- `docs/` deep references
## Deploy
```bash
bash ops/scripts/deploy-website.sh
bash ops/scripts/deploy-website.sh --apply
```
## Validation
```bash
bash ops/scripts/healthcheck.sh website
```
MCP (Model Context Protocol) is the open standard Claude Code uses to connect to external tools and data sources. Use it when you are repeatedly copying data into chat from other systems.
# Add remote HTTP MCP server (recommended)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Add local stdio MCP server example
claude mcp add airtable -- npx -y airtable-mcp-server
# List and inspect servers
claude mcp list
claude mcp get notion
:: Add remote HTTP MCP server
claude mcp add --transport http notion https://mcp.notion.com/mcp
:: Add remote SSE server (legacy/deprecated transport)
claude mcp add --transport sse asana https://mcp.asana.com/sse
:: Manage servers
claude mcp list
claude mcp get notion
# Open MCP status panel in Claude Code
/mcp
# If connector auth is required, complete OAuth from /mcp
# Remove a server if no longer needed
claude mcp remove notion
| Server / integration | Example endpoint / command | Transport | Cost posture | Use case | Notes |
|---|---|---|---|---|---|
| Notion MCP | https://mcp.notion.com/mcp | HTTP | Depends on Notion plan | Docs/work items | Used in official HTTP example |
| Asana MCP | https://mcp.asana.com/sse | SSE | Depends on Asana plan | Tasks/projects | SSE listed but docs recommend HTTP where available |
| Airtable local server | npx -y airtable-mcp-server | stdio | Server package is free; Airtable usage varies | Table operations | Official stdio example includes this pattern |
| Anthropic Directory connectors | claude.ai directory listing | Remote MCP under the hood | Varies by connector | Discover vetted connectors | Official docs recommend directory browsing |
.mcp.json.Out-of-the-box connectors are integrations available directly in Claude’s connectors experience (web/desktop/mobile), generally enabled through settings and OAuth, without hand-writing MCP CLI config.
| Connector | How to enable | Typical value | Plan/availability notes | Caveats |
|---|---|---|---|---|
| GitHub | Settings → Connectors → Connect | Code/search/project context | Listed in integration availability guide | Respect repo/org permissions |
| Google Drive | Connect via OAuth, then enable per conversation | Search/retrieve docs and files | Available on Claude + Claude Desktop per help docs | Text extraction focus; permission-scoped |
| Gmail | Connect via OAuth | Search/read emails, create drafts | Availability listed in help docs | No direct send action from Claude |
| Google Calendar | Connect via OAuth | Read/create/update events | Availability listed in help docs | Actions still gated by account permissions |
| Google Drive Cataloging | Enterprise admin enables capability | RAG-style indexing and citations | Enterprise-only in support docs | Indexing delays can occur |
| Directory/remote MCP connectors | Browse Connectors Directory and connect | Fast path to many SaaS tools | Varies by connector and plan | Review connector trust + requested permissions |
| Dimension | MCP (direct config) | Out-of-the-box connectors | Best fit |
|---|---|---|---|
| Setup complexity | Medium to high (CLI/config) | Low to medium (UI + OAuth) | Beginners usually start with connectors |
| Flexibility | Highest; custom/local/remote servers | Moderate; limited to connector capabilities | MCP for custom/internal systems |
| Security/trust control | Granular, but operator-managed | Centralized UX controls, still requires trust review | Team/enterprise may prefer managed connector policies |
| Portability | High across CLI-driven workflows | High in Claude surfaces, less custom outside | Cross-tool automation usually MCP-led |
| Maintenance burden | Higher (endpoints, tokens, scopes) | Lower for common SaaS connectors | Use connectors first for standard apps |
| Write actions governance | You design constraints | Org owners can set action restrictions | Use connector restrictions for broad org governance |
| Recommended default | Add when a concrete workflow needs it | Enable for daily tools with clear ROI | Hybrid model is usually best |
Concrete patterns you can run today. Start simple and add integration complexity only when usage justifies it.
CLAUDE.md with build/test/deploy commands.# Daily baseline
claude
# ask: "review modified files, suggest minimal patch, run tests"
# Add MCP integration for issue flow
claude mcp add --transport http issuehub https://example.com/mcp
claude mcp list
# Run release checks
bash ops/scripts/deploy-website.sh
bash ops/scripts/deploy-website.sh --apply
# Plugin workflow with official + demo marketplaces
/plugin install github@claude-plugins-official
/plugin marketplace add anthropics/claude-code
/plugin install commit-commands@anthropics-claude-code
/reload-plugins
# Scope-aware MCP setup example using an official docs endpoint
claude mcp add --scope project --transport http notion https://mcp.notion.com/mcp
Close old terminals, check which claude, and confirm PATH includes where it is installed.
Use one browser profile, allow local callbacks, and retry once after sign-in completes.
Run connector/plugin refresh commands, then relaunch the manager view.
Re-add the server with correct transport and re-check auth scope before re-running commands.
Use the right network route or move that workflow to local MCP where endpoints are reachable.
Pick one path model per task: repo paths in WSL, file edits in one shell context.
This page includes client-side export utilities only (no backend required):
.md file.Official docs change quickly. Use these as your primary references before acting on any connector/MCP claim:
Hidden handbook page for direct URL access only.