dev-sdd-kit
CLAUDE.md2 starsChanged 4 months agoMITView on GitHub
This repo (the workspace) versions the system's SHARED CONTEXT: specs, knowledge (ADRs, incidents, rules, as-is), skills, agents and harness. Code lives in the repos; system knowledge lives here. The current system (name, repos, providers) is declared in repos.yaml.
- Reads credentials
In this repository15 other files it gives its agents.
- as-is-learnSkill
- as-isSkill
- as-is-syncSkill
- clarifySkill
- consistencySkill
- context-reportSkill
- convergeSkill
- harness-initSkill
- implement-taskSkill
- orchestrateSkill
- repo-addSkill
- repo-mapSkill
- spec-createSkill
- spec-reviewSkill
- system-mapSkill
The file
We split this CLAUDE.md into the rules it gives an agent
7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
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 30
ALWAYS launch Claude Code from the workspace root: that way this context loads, and each repo's CLAUDE.md loads on its own when working …
- Distinctive: line 46
Every requirement starts with the TRIAGE (F0 of /spec-create): existing application or new application?
- Distinctive: line 49
ASK for their repository (never assume).
- Very specific: line 50
Every non-trivial change starts from a spec in specs/ (/spec-create).
- Distinctive: line 59
When closing F6: /converge compares the real code against the spec and appends the gaps as tasks (append-only) before the quality verdict.
- Distinctive: line 61
When facing ambiguity: escalate to the nearest gate, never assume.
- Distinctive: line 98
Every architecture decision → ADR.
≈ “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
Factory workspace · System declared in repos.yaml
What it is
Workspace of the digital factory to develop and maintain ANY system made of
one or more code repositories. The topology (which repos make up the
system, their git provider, roles, entrypoint and deploy order) lives in
repos.yaml — the single source of truth; no script or skill hardcodes
repo names. Repos are cloned into repos/ (gitignored here; each one is
its own git).
This repo (the workspace) versions the system's SHARED CONTEXT: specs,
knowledge (ADRs, incidents, rules, as-is), skills, agents and harness.
Code lives in the repos; system knowledge lives here.
The current system (name, repos, providers) is declared in repos.yaml.
Essential commands
- Onboard a repo into the system:
/repo-add <url-or-path>(clones, registers, seeds CLAUDE.md, indexes it in codebase-memory and generates the as-is) — equivalent script:./scripts/repo-add.sh <url-or-path> - Deep context (loadable packs):
/repo-map <repo>generates the repo's pack (.claude/skills/<prefijo>-<repo>) and/system-mapthe system pack + themapa-sistemasindex. Verification:scripts/assertions.shandscripts/freshness.sh check - Prepare the workspace on a new machine:
./scripts/setup.sh(clones/updates ALL repos in the registry; credentials: .env.example) - System as-is map:
./scripts/generate-as-is.sh(or /as-is-sync) - Each repo has its own commands in
repos/<repo>/CLAUDE.md
Multi-repo rules
- ALWAYS launch Claude Code from the workspace root: that way this context loads, and each repo's CLAUDE.md loads on its own when working with its files.
- Code commits are made INSIDE the corresponding repo
(
git -C repos/<repo> …); knowledge commits, in this workspace. - A feature that crosses repos = ONE spec here, with tasks tagged with the
registered repo name (
- [ ] T1 [<repo>] …;[workspace]for context changes). - The contract between repos is the boundary: changing an API that another repo consumes requires updating the contract (OpenAPI) and an ADR if it breaks compatibility.
- Deploy order: the registry's
deploy_order(lowest first; a consumer is never deployed before its provider). - Domain profiles: a repo with
domain: bankingin the registry additionally activates.claude/rules/domain-banking.md.
Mandatory workflow
- Every requirement starts with the TRIAGE (F0 of /spec-create): existing application or new application? The current context packs of the affected repos are loaded; dependencies without context → ASK for their repository (never assume); inconsistencies → ASK.
- Every non-trivial change starts from a spec in
specs/(/spec-create). Ambiguities: /clarify (max. 5 questions; answers traced in the spec's Clarifications section; pending [NEEDS CLARIFICATION] markers block the DoR). - Phases and gates with /orchestrate; NEVER skip a gate. Before the DoR and Architecture gates: /consistency with a FIT FOR GATE verdict (the blocking criterion is defined by that skill; do not duplicate it here).
- Construction with /implement-task: TDD, one commit per task IN ITS repo.
- Modifying tests to make them pass is FORBIDDEN.
- When closing F6: /converge compares the real code against the spec and appends the gaps as tasks (append-only) before the quality verdict.
- When facing ambiguity: escalate to the nearest gate, never assume.
AS-IS map (real state derived from the code — never edit by hand)
- Index:
knowledge/as-is/INDEX.md· full system:knowledge/as-is/system.md - Per repo:
knowledge/as-is/<repo>/· query with /as-is; sync with /as-is-sync - Fine-grained structure (functions, calls, impact): the codebase-memory MCP graph (repos indexed by /repo-add)
- Architecture interpretation: context packs (skills
mapa-sistemas→<prefijo>-sistema→<prefijo>-<repo>), with file:line evidence,generado_desdeseal and executable assertions - The as-is says WHAT EXISTS; the packs HOW IT IS PUT TOGETHER; the ADRs WHY; the specs WHAT SHOULD EXIST.
Shared memory (read on demand)
- Specs:
specs/· ADRs:knowledge/decisions/· Incidents:knowledge/incidents/ - Rules:
knowledge/business-rules.md· DORA:knowledge/usage.md - Standards:
knowledge/standards.md - Architecture standard (arc42 + C4 + 42010 + TOGAF/DDD/SRE, AI-consumable):
docs/architecture-documentation-standard.md— defines the sections, views, ADR format, traceability and metadata the architecture doc must carry. - Architecture (as-is, arc42 + C4):
knowledge/architecture/<system>.md(+.html), GENERATED byscripts/generate-architecture.shafter indexing (called fromgenerate-as-is.sh). Curated analysis lives inknowledge/architecture/<system>.narrative.md; derived data is injected. Docs-first rule: answer from this document and the context packs; do NOT re-index or re-read code for what is already documented. Consult the code / graph ONLY for undocumented gaps the human cannot answer — then update the narrative, regenerate, and add an assertion. Agent trigger: the<prefix>-architectureskill.
Conventions
- Working language of the workspace: the registry's
system.lang(this instance: es) — specs, knowledge and user interactions are written in that language and kept consistent. The NAMES of commands, skills and code identifiers are ALWAYS English. PUBLIC GitHub documentation (README, CONTRIBUTING, LICENSE, .github, docs/architecture.en.html) in English. - Conventional Commits + spec reference, in the workspace and in each repo.
- Every architecture decision → ADR. Every incident → blameless postmortem.
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.

