refactor: drop dev-cycle-profile.yml for conventions + CLAUDE.md facts
The profile was never parsed — it was prose the skill bodies told the model to read, so most slots were dead, constant across every project, or fiction (the whole pipeline block, including the "tdd is opt-in" claim, was enforced by nothing). Split it in two: constants become fixed conventions named directly by the skills (new docs/conventions.md), and the few genuinely per-project facts move to each project's CLAUDE.md under '## Skills plugin: project facts'. tdd/fieldtest/docwriter are now always available; the only behavioural toggle left is spec auto-sign. Delete docs/profile-schema.md and templates/project-profile.yml; add docs/conventions.md and a project-facts section to templates/CLAUDE.md.fragment; rewrite all SKILL/agent prose and the pipeline/design/migration/README/INSTALL docs accordingly.
This commit is contained in:
+20
-22
@@ -26,32 +26,30 @@ To uninstall:
|
||||
|
||||
## Per-project activation
|
||||
|
||||
A project opts in by dropping a profile file:
|
||||
There is no profile file. A project activates the plugin through its
|
||||
own `CLAUDE.md` — which the skills read as standing reading on every
|
||||
dispatch. Two things go in it:
|
||||
|
||||
1. **Project facts** — the handful of mechanical facts the skills
|
||||
consume (code roots, build/test command, issue-tracker slug, …),
|
||||
under a `## Skills plugin: project facts` heading.
|
||||
2. **Sittenkodex** — feature acceptance criteria, anti-patterns the
|
||||
project has earned the hard way, domain-specific contracts.
|
||||
|
||||
A starter for both lives in `templates/CLAUDE.md.fragment`: the
|
||||
universal discipline sentences (only-orchestrator-commits, main
|
||||
sacrosanct, …) plus a commented `## Skills plugin: project facts`
|
||||
template. Copy what you need into the project's `CLAUDE.md` and fill
|
||||
it in:
|
||||
|
||||
```sh
|
||||
cp ~/dev/skills/templates/project-profile.yml \
|
||||
<project-root>/.claude/dev-cycle-profile.yml
|
||||
$EDITOR <project-root>/.claude/dev-cycle-profile.yml
|
||||
$EDITOR <project-root>/CLAUDE.md # paste from templates/CLAUDE.md.fragment
|
||||
```
|
||||
|
||||
Edit the profile to match the project's paths, commands, and
|
||||
vocabulary. The skill bodies read the profile at the start of
|
||||
each invocation; there is no template-render step.
|
||||
|
||||
A project that has not dropped a profile file gets sensible
|
||||
fallbacks (see `docs/profile-schema.md` for the defaults), but
|
||||
the discipline shines when the profile is explicit.
|
||||
|
||||
## Per-project CLAUDE.md fragment
|
||||
|
||||
The plugin handles mechanics. Project-specific *sittenkodex* —
|
||||
feature acceptance criteria, anti-patterns the project has
|
||||
earned the hard way, domain-specific contracts — belongs in the
|
||||
project's own `CLAUDE.md`. A starter fragment with the universal
|
||||
discipline sentences (only-orchestrator-commits, main sacrosanct,
|
||||
no nostalgia for removed features, etc.) lives in
|
||||
`templates/CLAUDE.md.fragment` for projects that want to import
|
||||
those baseline rules without rewriting them.
|
||||
Everything the plugin does *not* read from project facts is a fixed
|
||||
convention (spec dir `docs/specs`, 4-digit naming, the pipeline graph,
|
||||
…) documented once in `docs/conventions.md` and `docs/pipeline.md` —
|
||||
not configurable per project.
|
||||
|
||||
## Update
|
||||
|
||||
|
||||
Reference in New Issue
Block a user