Files
claude-foundations/improvements/claude-md-refinements.md
Paul O'Reilly a4967df815 Initial commit: Claude Code foundations and improvements research
Conventions, community best practices research (Sept 2025 - March 2026),
and prioritized improvement backlog for Claude Code workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:02:54 +13:00

66 lines
3.0 KiB
Markdown

# CLAUDE.md Refinements
## Why This Matters
CLAUDE.md is the agent's "constitution." Community consensus is clear: bloated files cause Claude to ignore instructions. The sweet spot is under 200 lines / 1,000 tokens. Your current file is 187 lines — right at the boundary.
## Current State
- 187 lines in `~/dev/claude/CLAUDE.md`
- Contains project conventions, secrets rules, scripting standards, process principles
- Well-structured but could benefit from pruning and restructuring
## What To Keep (High Value)
These earn their place because Claude cannot infer them:
- Bash commands with specific flags (build, test, deploy recipes)
- Code style rules that **differ from defaults** (only deviations)
- Architectural decisions specific to your project
- Common gotchas and non-obvious behaviours
- Testing instructions and preferred test runners
- Repository etiquette (branch naming, commit format)
- Lessons from past mistakes
## What To Remove or Move
These can be pruned because Claude discovers them automatically or they belong elsewhere:
| Item | Why Remove | Where It Goes |
|---|---|---|
| Folder structure descriptions | Claude reads directories | Nowhere — discoverable |
| Technology stack | Visible in package.json/imports | Nowhere — discoverable |
| Generic advice ("write clean code") | No actionable signal | Delete |
| Formatting/linting rules | Deterministic tools do this better | Hooks |
| Detailed process that's project-specific | Only relevant in that project | Project-level CLAUDE.md or skills |
| Secrets rules (repeated across projects) | Cross-project concern | Global `~/.claude/CLAUDE.md` |
| Gitea/SSH conventions | Cross-project concern | Global `~/.claude/CLAUDE.md` |
## Structural Improvements
### Guidance Over Prohibition
Change "Never do X" to "Prefer Y instead of X." Claude follows positive guidance better than negative constraints.
Before: "Never use placeholder values with `-e` for vars that template config files"
After: "Always source template variables from `inventory.yml`, not ad-hoc `-e` flags"
### Add Verification Commands
Boris from the Claude Code team says giving Claude explicit ways to check its own work "2-3x's output quality." Add a section listing verification commands per project type:
- `helm template` for Helm values
- `kustomize build` for overlays
- `curl --resolve` for endpoint testing
- Test commands, lint commands
### Use Emphasis for Critical Rules
Adding "IMPORTANT" or "YOU MUST" measurably improves adherence for rules that matter most. Use sparingly — if everything is critical, nothing is.
### Attention Distribution
Claude focuses most on the beginning and end of CLAUDE.md. Middle sections get less attention. Put your most critical rules at the top.
## Maintenance Cadence
- Review every 2-3 weeks (ask Claude to audit and suggest improvements)
- Growth pattern: catch mistake -> add rule -> promote frequent rules to permanent status
- Prune aggressively: if a rule hasn't prevented an issue in a month, remove it
- Each model release, review and remove rules the new model handles natively