dotclaude
CLAUDE.md2 starsChanged 18 days agoMITView on GitHub
Shared Claude Code configuration repo symlinked into ~/.claude/. See @README.md for full documentation. Scope reminder: Everything in this repo root is symlinked to ~/.claude/ and operates at user level (applies to all projects). The .claude/ directory inside this repo is not symlinked — it is project-level config for this repo only. Prerequisites: Commands and agents assume project-level prerequisites documented in README.md. Do not flag these as missing or incorrect. The engineering skills (tdd, improve-codebase-architecture, grill-with-docs) are the source of truth…
In this repository9 other files it gives its agents.
- agent-harnessSkill
- grill-with-docsSkill
- improve-codebase-architectureSkill
- learnSkill
- plugin-browserSkill
- prompt-engineeringSkill
- py-debugSkill
- tddSkill
- ts-debugSkill
The file
We split this CLAUDE.md into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Always update
README.md: when adding, removing, or changing any rule, command, skill, agent, hook, output style, template, or other … - Very specific: line 29
Domain-grounded: Use the project's canonical vocabulary from CONTEXT.md (or the per-context files a root CONTEXT-MAP.md points to) and …
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
dotclaude
Shared Claude Code configuration repo symlinked into ~/.claude/. See @README.md for full documentation.
Scope reminder: Everything in this repo root is symlinked to ~/.claude/ and operates at user level (applies to all projects). The .claude/ directory inside this repo is not symlinked — it is project-level config for this repo only.
Prerequisites: Commands and agents assume project-level prerequisites documented in README.md. Do not flag these as missing or incorrect.
Rules for Changes
- Always update
README.mdwhen adding, removing, or changing any rule, command, skill, agent, hook, output style, template, or other configuration. Keep the README in sync with the actual repo contents. - Don't document project-level
.claude/files inREADME.md— the README catalogs only the user-level artifacts symlinked from the repo root. Files under this repo's own.claude/directory (e.g..claude/commands/,.claude/settings.json) are project-level config for this repo only and must not be added to the README tables. - Keep the README's
settings.jsonsummary to principles only — describe the security posture and intent, never individual entries (permission patterns, excluded commands, domains, env vars).settings.jsonis the single source of those details; listing them in the README rots. Adding or changing a settings entry needs no README change unless it changes a principle. - No personal or machine-specific values — this repo is shared config, so never commit absolute home paths (
/Users/<name>/…), usernames, or settings that only fit one machine. Use portable forms:~,$HOME, or wildcards (e.g.bash */.claude/skills/*.sh *, notbash /Users/alice/.claude/skills/*.sh *). - Every command file (
commands/*.md) must includedisable-model-invocation: truein its YAML frontmatter. - Update the rules index (
shared/rules-index.md) when adding or removing rule or context-rule files — keep it in sync with the actual files inrules/andcontext-rules/. - Context rules go in
context-rules/— rule files loaded on demand by theload-context-rules.shhook belong incontext-rules/, notrules/. When adding a new context rule, also register its glob pattern in the hook script. - Acknowledge sources — when any content is added or inspired by a plugin found via the
plugin-browserskill (whether a new skill/command/agent or content incorporated into existing files like rules), add the reference repo to theAcknowledgmentssection inREADME.md. - Run
make installafter adding a top-level entry to a linked directory (a new skill, command folder, hook script, …) if it must be usable in the current session — otherwise it is linked at the next session start. - Hook scripts go in
hooks/— shell scripts registered as hooks insettings.jsonbelong inhooks/. General helper scripts (e.g., command utilities invoked via!bang syntax) belong inscripts/. - No cross-references irrelevant to the usage context — name another artifact, or the mechanism behind a rule, only when the reader acts on it: reads it, applies its vocabulary, invokes it, sets the flag, or reacts to the value. A source the reader genuinely draws on earns its place (e.g. linking the skill whose vocabulary they must use). Everything else is noise the reader never acts on — how some other artifact consumes this one, which command produced a file they only need to edit, why a section is absent when "absent → treat as not run" is all they need, or that a hook enforces a rule as a "backstop" when the rule itself is the whole instruction. The reader obeys the rule, not the mechanism enforcing it. The test is relevance to the usage context, not whether a cross-reference exists.
Engineering Philosophy
The engineering skills (tdd, improve-codebase-architecture, grill-with-docs) are the source of truth for how this repo thinks about building software. The commands/plan/ commands (generate-plan, to-plan, refine-plan, execute-plan) are a downstream pipeline built directly on top of them: research → deep-module design → domain-grounded refinement → test-first execution. The whole engineering domain rests on four tenets:
- Deep modules. Prefer modules whose interface is small relative to the functionality they hide (high leverage), so complexity is concentrated in one place (locality). Reason about architecture with the exact vocabulary in
improve-codebase-architecture: module, interface, implementation, depth, seam, adapter, leverage, locality — not "component," "service," or "boundary." Apply the deletion test to judge whether a module earns its keep. - Behavior-first testing. Tests verify behavior through public interfaces, never implementation details — the interface is the test surface, so a good test survives any internal refactor. Build in vertical slices via the
tddred-green-refactor loop (one test → one implementation → repeat), never all-tests-then-all-code. - Domain-grounded. Use the project's canonical vocabulary from
CONTEXT.md(or the per-context files a rootCONTEXT-MAP.mdpoints to) and respect the decisions recorded indocs/adr/. Sharpen fuzzy terms into the glossary as they crystallize; don't silently re-litigate an ADR. - Evidence over speculation. Explore the codebase and research docs before designing; ground every plan in real prior-art patterns and tests rather than inventing new ones.
When editing or adding any rule, skill, or command in this engineering domain, stay consistent with these tenets and with the existing artifacts — reuse the established vocabulary exactly, keep tests behavior-focused, preserve the deep-module framing, and keep the plan/ pipeline aligned with the skills it builds on. A change to one engineering artifact must not drift from the language or principles of the others.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

