|
1 | 1 | # CLAUDE.md — leadforge |
2 | 2 |
|
| 3 | +## Branch & PR Workflow (mandatory) |
| 4 | + |
| 5 | +**Never push directly to `main`.** Every piece of work — feature, bugfix, doc update, plan update — follows this sequence: |
| 6 | + |
| 7 | +1. `git checkout main && git pull` — ensure main is up to date. |
| 8 | +2. `git checkout -b <descriptive-branch-name>` — branch from latest main. |
| 9 | +3. Do the work; commit to the branch. |
| 10 | +4. Update `.agent-plan.md` to reflect project state *after* the PR merges; commit that update to the same branch (same PR). |
| 11 | +5. Open a PR against `main` on GitHub with a detailed description. |
| 12 | +6. Apply the appropriate **labels** to the PR (create new ones if none fit — see label taxonomy below). |
| 13 | +7. Assign the PR to the appropriate **milestone** (create a new one on GitHub if none fits). |
| 14 | + |
| 15 | +Never use `git push origin main`, `git push --force origin main`, or any variant that targets `main` directly. |
| 16 | + |
| 17 | +> **Team enforcement:** The above is reinforced by GitHub branch protection on `main`. The local `.git/hooks/pre-push` hook installed in this repo is a personal convenience only — it is not versioned and will not be present for other contributors. |
| 18 | +
|
| 19 | +### Label taxonomy |
| 20 | + |
| 21 | +**Type** (one required): |
| 22 | +`type: feature` · `type: bugfix` · `type: docs` · `type: test` · `type: refactor` · `type: ci` · `type: chore` |
| 23 | + |
| 24 | +**Layer** (one or more, when touching package code): |
| 25 | +`layer: core` · `layer: narrative` · `layer: schema` · `layer: structure` · `layer: mechanisms` · `layer: simulation` · `layer: render` · `layer: exposure` · `layer: validation` · `layer: cli` · `layer: api` · `layer: recipes` |
| 26 | + |
| 27 | +**Status** (optional): |
| 28 | +`status: in progress` · `status: needs review` · `status: blocked` |
| 29 | + |
| 30 | +Existing labels that predate this taxonomy: `bug` · `documentation` · `enhancement` · `good first issue` · `help wanted` · `foundation` — use when appropriate. |
| 31 | + |
| 32 | +### Milestone map |
| 33 | + |
| 34 | +| Milestone | Covers | Roadmap | |
| 35 | +|---|---|---| |
| 36 | +| v0.1.0 — Repo & CLI skeleton | M0 | Foundation, CI, package scaffold | |
| 37 | +| v0.2.0 — First end-to-end world | M1–M3 | Config/recipe, narrative, schema | |
| 38 | +| v0.3.0 — Motif variability + exposure modes | M4–M6 | Structure, mechanisms, exposure | |
| 39 | +| v0.4.0 — Polished relational output + task export | M7–M10 | Simulation, observation, render, task | |
| 40 | +| v0.5.0 — CLI-complete release candidate | M11–M13 | CLI, validation harness | |
| 41 | +| v1.0.0 — Polished OSS release | M14–M15 | Sample data, notebooks, docs polish | |
| 42 | + |
| 43 | +If work spans multiple milestones, assign to the earliest one it unblocks. |
| 44 | + |
| 45 | +--- |
| 46 | + |
3 | 47 | ## Project Identity |
4 | 48 | - Package / repo / CLI: `leadforge` |
5 | 49 | - License: MIT |
|
0 commit comments