agentleFS
danielmachado60danielmachado60/claude-setup/CLAUDE.md

claude-setup

CLAUDE.md1 starsChanged 4 months agoMITView on GitHub

Claude Code template for a web development agency. Typical projects: landing pages, institutional sites, e-commerce, web systems. TypeScript is the default whenever the stack allows. The language of deliverables is per-project config — see "Project language" below. This file is STATIC: it applies equally to every project and is NEVER edited per project. Everything that varies per project lives exclusively in the root ABOUT.md. ABOUT.md defines what is project-specific: active pack, client and goal, audience and tone of voice, dev/build/test…

  • Reads credentials
  • Commits and pushes

The file

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

3 rules. About 0 are common, 1 is distinctive, and 2 are 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.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    All client-facing deliverables — site copy, UI strings, error messages, form texts, client docs — MUST be written in the project language …

    line 31
  2. Very specific:

    No delivery is "done" without passing /review.

    line 50
  3. Very specific:

    NEVER read, print, copy or commit .env, .env.* or the contents of secrets/.

    line 57

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

Setup Claude — universal agency rules

Claude Code template for a web development agency. Typical projects: landing pages, institutional sites, e-commerce, web systems. TypeScript is the default whenever the stack allows. The language of deliverables is per-project config — see "Project language" below.

This file is STATIC: it applies equally to every project and is NEVER edited per project. Everything that varies per project lives exclusively in the root ABOUT.md.

Project source of truth

ABOUT.md defines what is project-specific: active pack, client and goal, audience and tone of voice, dev/build/test commands, process and constraints. Lines 2–4 are parseable: Active pack: none|static|nextjs|node-api|python — accepting a LIST separated by + for monorepo/multi-stack (e.g. Active pack: nextjs + node-api) — plus Type: and Language:.

  • Pack(s) declared → reading .claude/packs/<pack>/PACK.md for EACH one before the first task is MANDATORY: that is where stack, conventions and anti-patterns live. Precedence: ABOUT.md > PACK.md > agent.
  • Active pack: none or ABOUT.md still in placeholders → do NOT assume a stack. Inspect the project or ask; to fill it in, point to wizard.html (browser) or /new-project.
  • Large systems/monorepos may have a PER-MODULE CLAUDE.md (e.g. apps/web/CLAUDE.md) — Claude Code loads them on its own when working in that area; they are generated at adoption and maintained by /sync-docs. They detail the module; this file and ABOUT.md remain the general rules.

Project language

All client-facing deliverables — site copy, UI strings, error messages, form texts, client docs — MUST be written in the project language declared on line 4 of ABOUT.md. Technical artifacts (code identifiers, comments, commit messages) default to English unless ABOUT.md Constraints say otherwise. If .claude/locales/<language>.md exists, read it before client-facing work — it holds market-specific knowledge (review sources, legal, payment rails, cultural CTA norms).

Session start

The SessionStart hook injects ABOUT.md (and the active PACK.md reminder) into context automatically — there is no manual opening ritual. /prime is a DEEP context reload (tier1 + full PACK.md + filled-in tier2): use it in a long working session or when context has been compacted, not as a per-session obligation.

Non-negotiable quality

  • WCAG 2.1 AA accessibility and performance budgets are ACCEPTANCE CRITERIA, not future improvements. Checklists and concrete numbers: .claude/docs/tier1-foundation.md — do not duplicate them here.
  • No delivery is "done" without passing /review.
  • Conversion projects (new landing/site) follow the creative pipeline BEFORE copy and UI: skill client-discovery → landing-blueprint → design-direction. Copy without discovery and screens without an approved direction are rework, not a head start.

Security

  • NEVER read, print, copy or commit .env, .env.* or the contents of secrets/. settings.json blocks reading/editing those files via the file tools and denies the obvious shell patterns (cat/type/Get-Content); shell patterns can be bypassed, so the shell prohibition is above all a behavioral rule of this section — do not work around it.
  • Secrets in examples and docs: always placeholders (YOUR_KEY_HERE), never real values.

Autonomy limits — always ask for confirmation before

  • git commit / git push and any destructive git operation.
  • Deleting files or directories.
  • Breaking changes to an API contract or data schema.
  • Touching deploy/CI configuration or installing a new dependency.

Agents — when to trigger

AgentTrigger
ui-designerVisual spec (tokens, states, layout, handoff) — BEFORE coding new UI
frontend-devImplement UI: components, pages, forms, responsive, loading/empty/error states
backend-devAPI, endpoints, data modeling/migrations, auth, external integrations, jobs
copywriterCopy in the project language: headlines, CTAs, microcopy, error messages, form texts
seo-specialistTitles/metas, heading hierarchy, canonicals, sitemap/robots, JSON-LD, keywords
a11y-performanceNew or changed UI (WCAG 2.1 AA gate) and suspected slowness (Core Web Vitals)
qa-testerTest plan, run the suite, edge cases, GO/NO-GO verdict before release
code-reviewerDiff ready, always before commit/merge — also covers the security sweep (auth, payments, uploads, user input, data privacy)
nextjs-specialistABOUT.md says Active pack: nextjs — work on the Next.js App Router stack
vanilla-specialistABOUT.md says Active pack: static — vanilla HTML/CSS/JS sites
node-specialistABOUT.md says Active pack: node-api — Node.js/TypeScript APIs
python-specialistABOUT.md says Active pack: python — Python services and scripts

The 4 pack specialists live permanently in .claude/agents/ and ONLY activate when line 2 of ABOUT.md CONTAINS the matching pack — no file copying, no session restart. Multi-stack: the line accepts a list (nextjs + node-api) and each specialist handles only its part. Switching/adding a pack = editing that single line of ABOUT.md.

Commands

  • /prime — deep context reload: tier1, the active pack's PACK.md and .claude/docs/tier2-components.md (if filled in); accepts an optional focus (e.g. /prime checkout).
  • /new-project — sets up the project: reads ABOUT.md (or helps fill it in via wizard.html/questions), applies the pack scaffold and verifies the MCPs.
  • /sync-docs — after a structural change, proposes updates to .claude/docs/tier2-components.md and ABOUT.md based on the diff, always confirming before writing.
  • /review — delivery gate (code, tests, a11y, performance, security) scoped to what the session changed; APPROVED/BLOCKED verdict.
  • /design-review — visual loop via Playwright MCP: every page at 3 widths + accessibility snapshot, fixes iterated with re-screenshots.
  • /audit — conversion diagnosis of an EXISTING page against discovery/blueprint/design/a11y/SEO; delivers a prioritized plan and changes NOTHING without approval.

Quick reference for humans: COMMANDS.md at the root.

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.