agentleFS
axrmxvaxrmxv/claude-config/CLAUDE.md

claude-config

CLAUDE.md1 starsChanged 4 months agoMITView on GitHub

Layered, reusable development standards for Claude Code, packaged as a plugin. This file is always loaded. The stack-agnostic rules live under .claude/rules/common/; language and framework standards load on demand as skills. Each layer is a delta over the one above — no rule is duplicated downward. See .claude/rules/README.md for the taxonomy and the reasoning behind putting language layers in skills/ rather than in scoped rule files. On-demand content is absent in two windows: while a new file is being created,…

The file

We split this CLAUDE.md into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No hardcoded secrets: Use environment variables / a secret manager.

    line 57
  2. Distinctive:

    Validate all input at system boundaries: before use; never trust external data.

    line 59

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Claude Standards

Layered, reusable development standards for Claude Code, packaged as a plugin. This file is always loaded. The stack-agnostic rules live under .claude/rules/common/; language and framework standards load on demand as skills.

Map of the repository

CLAUDE.md                 ← you are here (always loaded entry point)
.claude-plugin/
  plugin.json             plugin manifest
  marketplace.json        marketplace catalogue (this repo is its own marketplace)
agents/                   9 specialist subagents (planner, reviewers, tdd-guide, …)
skills/
  research-reuse/         workflow: find what already exists before writing code
  plan-feature/           workflow: phased implementation plan
  tdd/                    workflow: RED → GREEN → refactor with a coverage floor
  review-changes/         workflow: quality + security review of the current diff
  ship/                   workflow: pre-commit gate, then a conventional commit
  add-standards-layer/    maintenance: scaffold a new language/framework layer
  add-agent/              maintenance: scaffold an agent and register it in the roster
  audit-config/           maintenance: audit this repo for drift
  standards-python/       Python delta over common/
  standards-typescript/   TypeScript delta over common/
  standards-fastapi/      FastAPI delta over Python
hooks/hooks.json          PostToolUse format hook (delegates to scripts/format.sh)
scripts/format.sh         self-guarding formatter runner
.claude/
  settings.json           permission allowlist for the documented toolchain
  rules/
    README.md             taxonomy + how to add a layer
    common/               stack-agnostic rules — NO frontmatter → always loaded
    _template/            blank canonical stubs to copy when adding a layer

How the layers load

LayerLoaded when
.claude/rules/common/Always — no frontmatter
skills/standards-<language>/On demand, when the skill description matches the work
skills/standards-<framework>/On demand, same mechanism, narrower description

Each layer is a delta over the one above — no rule is duplicated downward. See .claude/rules/README.md for the taxonomy and the reasoning behind putting language layers in skills/ rather than in scoped rule files.

On-demand content is absent in two windows: while a new file is being created, and immediately after /compact. Non-negotiable invariants therefore live in this file and in common/, never only in a layer.

Security baseline (always applies — including when creating new files)

These hold regardless of which layers are loaded:

  • No hardcoded secrets. Use environment variables / a secret manager; validate required secrets at startup.
  • Validate all input at system boundaries before use; never trust external data.
  • Parameterized queries only — never build SQL by string concatenation.
  • Escape/sanitize any user-controlled value rendered into HTML or a shell.
  • Never leak sensitive data in errors or logs (credentials, tokens, cookies, auth headers).

Full checklist: .claude/rules/common/security.md.

Core conventions (full text in common/)

  • Immutability — return new objects, never mutate in place. (coding-style.md)
  • KISS / DRY / YAGNI; small focused files (≤800 lines) and functions (≤50 lines); early returns over deep nesting.
  • TDD, 80% coverage minimum — test first (RED → GREEN → refactor). (testing.md)
  • Review before merge — code-reviewer + security-reviewer; block on CRITICAL. (code-review.md)
  • Research & reuse first — search existing code/libraries before writing new. (development-workflow.md)

Workflow

Research & reuse → plan → TDD → code review → commit. Each step has a skill that executes it: /research-reuse → /plan-feature → /tdd → /review-changes → /ship.

Agents and orchestration: agents.md — that table is the authoritative reviewer roster; do not invoke a reviewer that is not listed there. Commits use <type>: <description> (feat/fix/refactor/docs/test/chore/perf/ci); git-workflow.md.

Commands referenced by the rules

These appear in the rules and assume the relevant toolchain is installed in the target project:

  • Python format/lint: black, isort, ruff
  • Python types: mypy / pyright
  • Python security scan: bandit -r <package>/
  • Python tests + coverage: pytest --cov=<package> --cov-report=term-missing
  • TypeScript format/lint/types: prettier, eslint, tsc --noEmit
  • TypeScript tests: vitest / jest

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.