@wemuda/launchrail 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +3 -1
  2. package/assets/agents-docs/domain.md +2 -2
  3. package/assets/agents-docs/issue-tracker-github.md +1 -1
  4. package/assets/agents-docs/issue-tracker-linear.md +1 -1
  5. package/assets/ralph.workflow.js +640 -273
  6. package/assets/skills/NOTICE.md +4 -0
  7. package/assets/skills/launchrail/launch/SKILL.md +9 -7
  8. package/assets/skills/launchrail/launch/workflow.md +57 -4
  9. package/assets/skills/launchrail/launch-code-review/SKILL.md +1 -1
  10. package/assets/skills/launchrail/launch-design-handoff/SKILL.md +3 -2
  11. package/assets/skills/launchrail/launch-design-validation/SKILL.md +3 -3
  12. package/assets/skills/launchrail/launch-discovery/SKILL.md +3 -3
  13. package/assets/skills/launchrail/launch-grill/SKILL.md +51 -15
  14. package/assets/skills/launchrail/launch-grill/domain-modeling.md +3 -1
  15. package/assets/skills/launchrail/launch-implement/SKILL.md +10 -10
  16. package/assets/skills/launchrail/launch-project-alignment/SKILL.md +3 -3
  17. package/assets/skills/launchrail/launch-ralph/SKILL.md +79 -59
  18. package/assets/skills/launchrail/launch-ralph-implement/SKILL.md +8 -7
  19. package/assets/skills/launchrail/launch-resolving-merge-conflicts/SKILL.md +1 -1
  20. package/assets/skills/launchrail/launch-spec/SKILL.md +8 -6
  21. package/assets/skills/launchrail/launch-tickets/SKILL.md +10 -7
  22. package/assets/skills/launchrail/launch-vision-creation/SKILL.md +2 -2
  23. package/assets/skills/launchrail/launch-wayfinder/SKILL.md +15 -9
  24. package/dist/commands/add.js +2 -1
  25. package/dist/commands/add.js.map +1 -1
  26. package/dist/commands/doctor.js +29 -0
  27. package/dist/commands/doctor.js.map +1 -1
  28. package/dist/commands/init.js +2 -1
  29. package/dist/commands/init.js.map +1 -1
  30. package/dist/commands/verify.d.ts +11 -2
  31. package/dist/commands/verify.js +22 -7
  32. package/dist/commands/verify.js.map +1 -1
  33. package/dist/index.js +4 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/lib/adr.d.ts +27 -0
  36. package/dist/lib/adr.js +87 -0
  37. package/dist/lib/adr.js.map +1 -0
  38. package/dist/lib/manifest.d.ts +7 -1
  39. package/dist/lib/manifest.js +8 -1
  40. package/dist/lib/manifest.js.map +1 -1
  41. package/dist/lib/project.d.ts +2 -0
  42. package/dist/lib/project.js +2 -1
  43. package/dist/lib/project.js.map +1 -1
  44. package/dist/lib/seeds.d.ts +2 -0
  45. package/dist/lib/seeds.js +14 -6
  46. package/dist/lib/seeds.js.map +1 -1
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -34,6 +34,8 @@ This repository is the Launchrail **toolchain**: the CLI, the workflow skills (s
34
34
 
35
35
  Launchrail structures development as two movements. The **foundation** runs once per project: it turns an idea into hard constraints and recorded decisions. Then the **delivery loop** takes over — once per feature: size the work and plan it only as deeply as it needs (a small change goes straight from a grill to tickets; a larger one adds `launch-wayfinder`, a spec, and design validation first), then hand the tickets to the built-in **Ralph loop** to implement and verify before going around again for the next feature. Every stage leaves a committed artifact behind, and the next stage starts from that artifact, not from chat memory. Two commands cover the rail: **`/launch`** plans — it reads the committed artifacts, detects where the project is, and routes to the stage's owner — and **`/launch-implement`** builds, driving ready tickets to verified merges.
36
36
 
37
+ You experience the rail as **six phases** — Intent → Exploration → Decisions → Blueprint → Build → Ship — with a fixed **rail banner** rendered at every transition: where you are, what just finished, what happens now, and the one next command. And planning runs under a hard **interaction contract** ([ADR-0029](https://github.com/wemuda/launchrail/blob/master/docs/adr/0029-planning-interaction-contract.md)): every uncertainty is labeled and only the questions that are genuinely yours reach you — at most three per round, about six decisions per session, with a checkpoint every two rounds (continue / prototype / defer / build). Reversible engineering details become recorded agent defaults instead of questions, approved prototypes are treated as decisions rather than feature inventories to trim, and planning stops when the next slice can be built safely — not when every question is answered.
38
+
37
39
  <p align="center">
38
40
  <img src="https://github.com/wemuda/launchrail/raw/master/assets/how-launchrail-works.png" alt="How Launchrail works — the foundation runs once per project (Vision → Visual exploration → Discovery research → Complexity grill → Technical research → Architecture decisions); the delivery loop then repeats once per slice (Specify features into tickets → Ralph loop → Verification) before looping back for the next slice." width="880" />
39
41
  </p>
@@ -145,7 +147,7 @@ The toolchain is stable and versioned. The full surface — `init`/`doctor`, the
145
147
  See [CONTRIBUTING.md](https://github.com/wemuda/launchrail/blob/master/CONTRIBUTING.md). The short version:
146
148
 
147
149
  - Commits follow [Conventional Commits](https://www.conventionalcommits.org/) (`type(scope): summary`); see [ADR-0002](https://github.com/wemuda/launchrail/blob/master/docs/adr/0002-conventional-commits.md). Releases and the changelog are generated from them ([docs/releasing.md](https://github.com/wemuda/launchrail/blob/master/docs/releasing.md)).
148
- - Meaningful decisions are recorded as ADRs in [docs/adr/](https://github.com/wemuda/launchrail/tree/master/docs/adr/).
150
+ - Meaningful decisions are recorded as ADRs in [docs/adr/](https://github.com/wemuda/launchrail/tree/master/docs/adr/); the registry index [docs/adr/README.md](https://github.com/wemuda/launchrail/blob/master/docs/adr/README.md) says which are live.
149
151
  - The agent operating contract lives in [AGENTS.md](https://github.com/wemuda/launchrail/blob/master/AGENTS.md).
150
152
  - Security issues go through [SECURITY.md](https://github.com/wemuda/launchrail/blob/master/SECURITY.md), not public issues.
151
153
 
@@ -11,7 +11,7 @@ How the workflow skills should consume this repo's domain documentation when exp
11
11
 
12
12
  - **`CONTEXT.md`** at the repo root, or
13
13
  - **`CONTEXT-MAP.md`** at the repo root if it exists — it points at one `CONTEXT.md` per context. Read each one relevant to the topic.
14
- - **`docs/adr/`** — read ADRs that touch the area you're about to work in. In multi-context repos, also check `src/<context>/docs/adr/` for context-scoped decisions.
14
+ - **`docs/adr/README.md`** — the decision registry. Read its index first, then open only the ADRs that touch the area you're about to work in. An ADR records a decision, not the current system — never take one as evidence that a component exists or still works as described; verify against the code. In multi-context repos, also check `src/<context>/docs/adr/` for context-scoped decisions.
15
15
 
16
16
  If any of these files don't exist, **proceed silently**. Don't flag their absence; don't suggest creating them upfront. The `launch-grill` skill's domain-modeling discipline creates them lazily when terms or decisions actually get resolved.
17
17
 
@@ -44,7 +44,7 @@ Multi-context repo (presence of `CONTEXT-MAP.md` at the root):
44
44
  └── docs/adr/
45
45
  ```
46
46
 
47
- ADRs use the project's own format — copy `docs/adr/0000-template.md` and number sequentially (`NNNN-short-slug.md`).
47
+ ADRs use the project's own format — copy `docs/adr/0000-template.md`, take the next free number (`NNNN-short-slug.md`), and add the record's row to the registry index (`docs/adr/README.md`) in the same commit.
48
48
 
49
49
  ## Use the glossary's vocabulary
50
50
 
@@ -28,7 +28,7 @@ The Launchrail workflow's label vocabulary — the skills quote these exact stri
28
28
  - **`ready-for-agent`** — an implementable ticket the implementation loop may pick up. Only tickets wear it; the loop's frontier is computed from this label alone and cannot tell prose from work.
29
29
  - **`needs-info`** — a parked ticket, carrying its failure history; a human unblocks it.
30
30
  - **`spec`** — a spec or research note published to the tracker. Never `ready-for-agent`.
31
- - **`ralph:building`** — claimed by an implementer; removed when its PR merges.
31
+ - **`ralph:building`** — claimed by an implementer; removed when the loop lands it.
32
32
  - **`wayfinder:map`** / **`wayfinder:<type>`** — a wayfinder map and its decision tickets (see below).
33
33
 
34
34
  ## Relationships — native, not prose
@@ -29,7 +29,7 @@ The Launchrail workflow's label vocabulary — the skills quote these exact stri
29
29
  - **`ready-for-agent`** — an implementable ticket the implementation loop may pick up. Only tickets wear it; the loop's frontier is computed from this label alone and cannot tell prose from work.
30
30
  - **`needs-info`** — a parked ticket, carrying its failure history; a human unblocks it.
31
31
  - **`spec`** — a spec or research note published to the tracker. Never `ready-for-agent`.
32
- - **`ralph:building`** — claimed by an implementer; removed when its PR merges.
32
+ - **`ralph:building`** — claimed by an implementer; removed when the loop lands it.
33
33
  - **`wayfinder:map`** / **`wayfinder:<type>`** — a wayfinder map and its decision tickets (see below).
34
34
 
35
35
  ## When a skill says "publish to the issue tracker"