A Claude Code plugin that generates tailored engineering standards files (CLAUDE.md) for any project. Instead of copy-pasting rules or maintaining a monolithic config, it composes modular, opinionated fragments based on your stack, domain, team size, and compliance requirements.
Problem: AI coding assistants produce better code when given clear project-specific rules — but writing and maintaining those rules is tedious, error-prone, and rarely done well.
Solution: Auto-detect your stack, ask a short questionnaire, and assemble a comprehensive standards file from battle-tested fragments covering testing, security, code review, git hygiene, and more.
- Auto-detects your stack from manifest files (
package.json,build.gradle,go.mod,Cargo.toml, etc.) - Asks a short questionnaire for what can't be inferred (team size, domain, compliance needs)
- Composes modular fragments into a single, tailored standards file
- Merges non-destructively with any existing standards — never overwrites your additions
| Language | Build Tool | Testing Fragment |
|---|---|---|
| Java | Gradle | JaCoCo coverage, SpotBugs, OWASP dependency check |
| Go | go build | go test, cargo-llvm-cov/tarpaulin, gosec, govulncheck |
| Python | pip | pytest, coverage.py, bandit, pip-audit, mypy |
| TypeScript/JavaScript | npm | Vitest/Jest, c8/v8, eslint-plugin-security |
| Rust | cargo | cargo test, cargo-llvm-cov/tarpaulin, clippy, cargo audit |
| Framework | Testing Fragment |
|---|---|
| React / Next.js | React Testing Library, MSW, Storybook |
| Vue / Nuxt | Vue Test Utils, Testing Library for Vue, Pinia, Storybook |
| Shared | Playwright E2E, visual regression, axe-core a11y, Lighthouse CI |
Full-stack projects (e.g., Go + React, Java + Vue) are fully supported. Each stack gets its own testing and SAST fragments, and the generated file covers both.
Every generated standards file includes these sections:
| Section | What it covers |
|---|---|
| Honesty & Uncertainty | No fabrication, verify before answering, admit uncertainty |
| Boundaries | Hard "never do" rules — destructive ops, security, scope creep, dependency safety |
| Plan, Act, Reflect | When to plan first, approval gates, post-action sanity check |
| Testing Standards | Coverage gates, testing types, per-stack commands and config |
| Code Review Gate | Self-review checklist, AI code review, security scan, peer review |
| Security Scanning | Secrets detection, SAST, SCA, input validation, auth rules |
| Git Hygiene | Conventional Commits, atomic commits, branch strategy, PR rules |
| Definition of Done | Checklist that blocks "done" until all gates pass |
| Section | When included |
|---|---|
| Regulated Data | PII, PHI, PCI, or government data handling |
| Accessibility | UI-facing projects (WCAG 2.1 AA) |
| Data Privacy | Projects handling PII or PHI |
| Solo Guardrails | Relaxed process rules for solo developers |
| Team Guardrails | Branch protection, CODEOWNERS, communication rules |
Two-step install — add the marketplace, then install the plugin:
# Step 1: Add the marketplace
claude plugin marketplace add brandonm/ai-code-standards
# Step 2: Install the plugin
claude plugin install ai-code-standardsClone the repo and copy the project-standards/ directory to your skills location:
git clone https://github.com/brandonm/ai-code-standards.git
mkdir -p ~/.claude/skills
cp -r ai-code-standards/project-standards ~/.claude/skills/project-standardsOnce installed, invoke the skill in Claude Code:
/project-standards
Or ask naturally:
"Generate engineering standards for this project" "Create a CLAUDE.md for this repo" "Set up project standards"
The skill will:
- Auto-detect your stack from manifest files
- Ask you to confirm and fill in missing details
- Generate a tailored standards file
- Show you the output for review before writing
project-standards/
SKILL.md # Skill entry point and workflow
questionnaire.md # Questions to gather inputs
template.md # Assembly skeleton with conditionals
fragments/
honesty.md # Uncertainty protocol
boundaries.md # Do-not-do list
boundaries-solo.md # Relaxed rules for solo devs
boundaries-team.md # Stricter rules for teams
testing-universal.md # Testing philosophy and gates
testing-java-gradle.md # JaCoCo, Gradle commands
testing-go.md # go test, coverage
testing-python.md # pytest, coverage.py
testing-node.md # Vitest/Jest, c8
testing-rust.md # cargo test, llvm-cov
testing-frontend.md # Playwright, visual regression, a11y
testing-react.md # React Testing Library, MSW
testing-vue.md # Vue Test Utils, Pinia
review-gate.md # Self-review + AI review checklist
security-generic.md # Secrets, SAST, SCA, auth
security-regulated.md # PII/PHI/PCI additions
plan-act-reflect.md # Workflow for non-trivial changes
git-hygiene.md # Commit and branch conventions
ui-accessibility.md # WCAG 2.1 AA rules
data-privacy.md # Data handling and retention
examples/
java-gradle-backend.md # Single-stack backend example
java-react-fullstack.md # Multi-stack full-stack example
python-data-pipeline.md # Solo dev, data pipeline example
typescript-react-app.md # Frontend web app example
- Create a new fragment at
fragments/testing-<language>.md - Use
<!-- tier: project -->and<!-- requires: testing-universal --> - Include: test commands, coverage commands, report locations, test organization, SAST tools
- Add the fragment to the selection matrix in
SKILL.md - Add a conditional to
template.md
- Create a new fragment at
fragments/<domain>.md - Add a question to
questionnaire.mdto trigger inclusion - Add a conditional to
template.md
Each fragment is standalone and order-independent. Edit any fragment directly — changes apply to all future generations. Existing generated files are not affected until regenerated.
The plugin uses a fragment composition pattern — each concern (testing, security, accessibility, etc.) lives in its own standalone Markdown fragment with metadata headers for tier and dependencies. At generation time, fragments are selected based on detected stack and user inputs, then assembled via a template with variable substitution. This keeps each fragment independently editable and testable without affecting others.
Design principles:
- Simple, explicit, boring — no clever meta-logic, mostly substitution and concatenation
- Composable fragments — standalone, order-independent, each works if included alone
- Detect before asking — auto-detect what we can from manifest files, confirm with the user
- Never clobber — always diff/merge with existing files, preserving user additions
- Verified commands only — every CLI command in a fragment is validated against real tool docs
- Include "why" comments — every rule explains its rationale to prevent cargo-culting
Contributions welcome. If you add a stack, domain, or improve an existing fragment:
- Follow the existing fragment format (tier marker, requires marker, WHY comments)
- Keep fragments under 50 lines where possible
- Include only verified, real commands — no hallucinated flags
- Add or update an example showing the fragment in context
MIT