Create or update CLAUDE.md files following best practices for optimal AI agent onboarding
🇷🇺 Русский | 🇬🇧 English
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty). User may specify:
create - Create new CLAUDE.md from scratchupdate - Improve existing CLAUDE.mdaudit - Analyze and report on current CLAUDE.md qualitysrc/api/CLAUDE.md for directory-specific instructions)LLMs are stateless: CLAUDE.md is the only file automatically included in every conversation. It serves as the primary onboarding document for AI agents into your codebase.
Less is More: Frontier LLMs can follow ~150-200 instructions. Claude Code's system prompt already uses ~50. Keep your CLAUDE.md focused and concise.
Universal Applicability: Only include information relevant to EVERY session. Task-specific instructions belong in separate files.
Don't Use Claude as a Linter: Style guidelines bloat context and degrade instruction-following. Use deterministic tools (prettier, eslint, etc.) instead.
Never Auto-Generate: CLAUDE.md is the highest leverage point of the AI harness. Craft it manually with careful consideration.
First, analyze the current project state:
Check for existing CLAUDE.md files:
./CLAUDE.md or .claude/CLAUDE.md**/CLAUDE.md~/.claude/CLAUDE.mdIdentify the project structure:
Review existing documentation:
Structure CLAUDE.md around three dimensions:
For larger projects, recommend creating an agent_docs/ folder:
agent_docs/
|- building_the_project.md
|- running_tests.md
|- code_conventions.md
|- architecture_decisions.md
In CLAUDE.md, reference these files with instructions like:
For detailed build instructions, refer to `agent_docs/building_the_project.md`
Important: Use file:line references instead of code snippets to avoid outdated context.
When creating or updating CLAUDE.md:
A well-structured CLAUDE.md should include:
# Project Name
Brief one-line description.
## Tech Stack
- Primary language and version
- Key frameworks/libraries
- Database/storage (if any)
## Project Structure
[Only for monorepos or complex structures]
- `apps/` - Application entry points
- `packages/` - Shared libraries
## Development Commands
- Install: `command`
- Test: `command`
- Build: `command`
## Critical Conventions
[Only non-obvious, high-impact conventions]
- Convention 1 with brief explanation
- Convention 2 with brief explanation
## Known Issues / Gotchas
[Things that consistently trip up developers]
- Issue 1
- Issue 2
DO NOT include:
Before finalizing, verify:
create or default:update:audit:If the user requests AGENTS.md creation/update:
AGENTS.md is used for defining specialized agent behaviors. Unlike CLAUDE.md (which is for project context), AGENTS.md defines:
Apply similar principles: