mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 01:37:05 +00:00
`project.yaml` at the repo root is now the single source of truth for a project's configuration, replacing `production/stage.txt`, `production/review-mode.txt` and `.claude/docs/technical-preferences.md` (all three still read as a fallback; nothing is force-deleted). **`modes.rigor` — one question instead of six.** `minimal`, `standard` or `full` fronts six knobs: `modes.workflow`, `docs.density`, `qa.level`, `modes.story_granularity`, `modes.review_mode` and `team.size`. It defaults to `minimal`, which is a change from 1.0's behaviour: the heavier tier was measured costing several times more to reach working code without producing a better result, and returning nothing when a fresh developer inherited the project. Pin `modes.rigor: standard` to keep 1.0's process level. Also in this release: - `/settings` to view or change any setting, and `project.local.yaml` for per-developer preferences that should not be committed. - `system_overrides` to hold one system to a higher standard than the rest of the project, and `testing.strict` to set per test type whether missing evidence blocks a story or warns. - A story that changes anything the player sees is not closed until the game has been launched, observed, and a screenshot retained in `production/qa/evidence/`. A parse check is not a run. This holds at every rigor level, including `minimal`, where automated tests are waived but the look is not. - The code root is engine-specific and enforced as such: Godot `src/`, Unity `Assets/`, Unreal `Source/<Module>/`. Two of the three will not build a project laid out any other way. - Migration tooling for existing projects: `.claude/scripts/migrate-v1-config.sh` converts a 1.0 layout, non-destructively by default, with a report to review before `--finalize` deletes anything. - Ask-before-write holds regardless of personal automation settings. Upgrading from 1.0 or earlier: see UPGRADING.md. Full list of changes: CHANGELOG.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xvzG3i7pWQg4LjyDwWMXd
5.3 KiB
5.3 KiB
/create-epics — Handoff Contract
Role in Pipeline
Translates approved GDDs and architecture documents into one EPIC.md file per architectural module, defining scope, ADR governance, engine risk, and requirement traceability — sits between architecture review and story decomposition.
Inputs Required
Files That Must Exist
| File | Required Fields / Sections | Read-Only? |
|---|---|---|
design/gdd/systems-index.md |
System list, layer assignments, priority order | Yes |
design/gdd/[system].md |
## Summary, ## Acceptance Criteria, ## Overview (all 8 required sections) |
Yes |
docs/architecture/architecture.md |
Module ownership, API boundaries | Yes |
docs/architecture/adr-NNNN-[slug].md (all governing ADRs) |
Status:, GDD Requirements Addressed, Decision, Engine Compatibility |
Yes |
docs/architecture/control-manifest.md |
Manifest Version: date in header |
Yes |
docs/architecture/tr-registry.yaml |
TR-IDs with id, system, requirement text |
Yes |
docs/engine-reference/[engine]/VERSION.md |
Engine name, version, risk levels | Yes |
Preconditions
/create-control-manifesthas been run anddocs/architecture/control-manifest.mdexists/architecture-reviewhas passed (at minimum Foundation and Core ADRs are Accepted)- All in-scope GDDs have status
ApprovedorDesignedinsystems-index.md - The target layer's GDDs are stable — do not run for Feature layer until Core is nearly complete
Outputs Produced
Files Written
| File | Guaranteed Fields / Sections | Notes |
|---|---|---|
production/epics/[epic-slug]/EPIC.md |
Layer, GDD path, Architecture Module, Status: Ready, ## Governing ADRs table, ## GDD Requirements table with TR-IDs and ADR coverage, ## Definition of Done, ## Overview |
Created per approved epic |
production/epics/index.md |
Epic, Layer, System, GDD, Stories, Status columns |
Created or appended |
Output Guarantees
- Every EPIC.md contains a
## Governing ADRstable with at least one row (or a documented note if none apply) - Every EPIC.md contains a
## GDD Requirementstable where each row has aTR-IDand anADR Coveragecell (eitherADR-NNNN ✅or❌ No ADR) - The
GDD:field in the EPIC.md header is a valid relative path to the source GDD - The
Layer:field is one of: Foundation, Core, Feature, Presentation - The
Status:field is set toReady - The
Stories:field readsNot yet created — run /create-stories [epic-slug] - Untraced requirements (TR-IDs with no ADR) are flagged in the GDD Requirements table with
❌ No ADR production/epics/index.mdhas an entry for every epic written in this run
Immutability Rules
- READS but does NOT modify:
design/gdd/systems-index.md, all GDD files,docs/architecture/architecture.md, all ADR files indocs/architecture/adr-NNNN-[slug].mdpattern,docs/architecture/control-manifest.md,docs/architecture/tr-registry.yaml,docs/engine-reference/[engine]/VERSION.md - MODIFIES:
production/epics/[epic-slug]/EPIC.md(creates),production/epics/index.md(creates or updates)
Hard Constraints (Never Violate)
- Never create story files — this skill stops at the epic level
- Never invent content not sourced from GDDs, ADRs, or architecture docs
- Never skip the per-epic approval prompt before writing
- Never write an EPIC.md without first presenting the epic definition to the user
- Never mark a TR-ID as covered by an ADR unless that ADR's
Status:isAccepted - Never create epics for a layer whose dependency layer is not yet substantially complete
Downstream Skill Expects
Next skill: /create-stories
It will read:
production/epics/[epic-slug]/EPIC.md— specifically:Layer:,GDD:path,Architecture Module:, the full## Governing ADRstable (ADR IDs and summaries), and the full## GDD Requirementstable (TR-IDs and ADR coverage status)production/epics/index.md— to enumerate available epics when no argument is given
It assumes:
- The
GDD:path in EPIC.md resolves to a readable file - Every ADR listed in
## Governing ADRsexists as a file and has anAcceptedstatus - TR-IDs in
## GDD Requirementsmatch entries indocs/architecture/tr-registry.yaml - The epic slug used in the directory name matches the slug referenced in
index.md Status: Readymeans stories have NOT yet been created (it will replace this line)
Known Fragile Points
- If the EPIC.md template structure changes (section names, header field names, table column order),
/create-storieswill silently fail to parse governance data and may produce incomplete or incorrect stories - If
tr-registry.yamlis regenerated with renumbered IDs after EPIC.md files are written, the TR-IDs in existing EPIC.md files become stale and mislead/create-stories - If an ADR is retroactively changed from
AcceptedtoProposedafter the epic is written, the EPIC.md will still show it as governing —/create-storieswill embed it without a BLOCKED flag - If
systems-index.mdlayer assignments change after epics are created, theLayer:field in existing EPIC.md files will be incorrect and/create-storieswill use the wrong layer context production/epics/index.mdis append-updated — if an epic is regenerated, a duplicate row may appear