@slowcook-ai/cli 0.19.5 → 0.20.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 (99) hide show
  1. package/README.md +192 -28
  2. package/dist/cli.js +65 -73
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/brew/fidelity-loop.d.ts +71 -0
  5. package/dist/commands/brew/fidelity-loop.d.ts.map +1 -0
  6. package/dist/commands/brew/fidelity-loop.js +108 -0
  7. package/dist/commands/brew/fidelity-loop.js.map +1 -0
  8. package/dist/commands/brew/fidelity-phase.d.ts +49 -0
  9. package/dist/commands/brew/fidelity-phase.d.ts.map +1 -0
  10. package/dist/commands/brew/fidelity-phase.js +75 -0
  11. package/dist/commands/brew/fidelity-phase.js.map +1 -0
  12. package/dist/commands/eye/index.d.ts +2 -0
  13. package/dist/commands/eye/index.d.ts.map +1 -0
  14. package/dist/commands/eye/index.js +64 -0
  15. package/dist/commands/eye/index.js.map +1 -0
  16. package/dist/commands/eye/plan.d.ts +61 -0
  17. package/dist/commands/eye/plan.d.ts.map +1 -0
  18. package/dist/commands/eye/plan.js +81 -0
  19. package/dist/commands/eye/plan.js.map +1 -0
  20. package/dist/commands/eye/run.d.ts +19 -0
  21. package/dist/commands/eye/run.d.ts.map +1 -0
  22. package/dist/commands/eye/run.js +47 -0
  23. package/dist/commands/eye/run.js.map +1 -0
  24. package/dist/commands/eye/spec-modes.d.ts +5 -0
  25. package/dist/commands/eye/spec-modes.d.ts.map +1 -0
  26. package/dist/commands/eye/spec-modes.js +36 -0
  27. package/dist/commands/eye/spec-modes.js.map +1 -0
  28. package/dist/commands/gate/github.d.ts +27 -0
  29. package/dist/commands/gate/github.d.ts.map +1 -0
  30. package/dist/commands/gate/github.js +46 -0
  31. package/dist/commands/gate/github.js.map +1 -0
  32. package/dist/commands/gate/index.d.ts +2 -0
  33. package/dist/commands/gate/index.d.ts.map +1 -0
  34. package/dist/commands/gate/index.js +68 -0
  35. package/dist/commands/gate/index.js.map +1 -0
  36. package/dist/commands/gate/model.d.ts +55 -0
  37. package/dist/commands/gate/model.d.ts.map +1 -0
  38. package/dist/commands/gate/model.js +64 -0
  39. package/dist/commands/gate/model.js.map +1 -0
  40. package/dist/commands/gate/reviewers.d.ts +24 -0
  41. package/dist/commands/gate/reviewers.d.ts.map +1 -0
  42. package/dist/commands/gate/reviewers.js +69 -0
  43. package/dist/commands/gate/reviewers.js.map +1 -0
  44. package/dist/commands/recon/shape-preserve.d.ts +38 -0
  45. package/dist/commands/recon/shape-preserve.d.ts.map +1 -1
  46. package/dist/commands/recon/shape-preserve.js +112 -1
  47. package/dist/commands/recon/shape-preserve.js.map +1 -1
  48. package/dist/commands/refine/spec-yaml.d.ts +3 -0
  49. package/dist/commands/refine/spec-yaml.d.ts.map +1 -1
  50. package/dist/commands/refine/spec-yaml.js +4 -0
  51. package/dist/commands/refine/spec-yaml.js.map +1 -1
  52. package/dist/commands/serve/config.d.ts +159 -0
  53. package/dist/commands/serve/config.d.ts.map +1 -0
  54. package/dist/commands/serve/config.js +216 -0
  55. package/dist/commands/serve/config.js.map +1 -0
  56. package/dist/commands/serve/detect.d.ts +31 -0
  57. package/dist/commands/serve/detect.d.ts.map +1 -0
  58. package/dist/commands/serve/detect.js +56 -0
  59. package/dist/commands/serve/detect.js.map +1 -0
  60. package/dist/commands/serve/dev.d.ts +46 -0
  61. package/dist/commands/serve/dev.d.ts.map +1 -0
  62. package/dist/commands/serve/dev.js +122 -0
  63. package/dist/commands/serve/dev.js.map +1 -0
  64. package/dist/commands/serve/index.d.ts +28 -0
  65. package/dist/commands/serve/index.d.ts.map +1 -0
  66. package/dist/commands/serve/index.js +224 -0
  67. package/dist/commands/serve/index.js.map +1 -0
  68. package/dist/commands/serve/mock.d.ts +24 -0
  69. package/dist/commands/serve/mock.d.ts.map +1 -0
  70. package/dist/commands/serve/mock.js +111 -0
  71. package/dist/commands/serve/mock.js.map +1 -0
  72. package/dist/commands/serve/runner.d.ts +52 -0
  73. package/dist/commands/serve/runner.d.ts.map +1 -0
  74. package/dist/commands/serve/runner.js +53 -0
  75. package/dist/commands/serve/runner.js.map +1 -0
  76. package/dist/commands/serve/staging.d.ts +28 -0
  77. package/dist/commands/serve/staging.d.ts.map +1 -0
  78. package/dist/commands/serve/staging.js +152 -0
  79. package/dist/commands/serve/staging.js.map +1 -0
  80. package/dist/commands/stories/index.d.ts +15 -0
  81. package/dist/commands/stories/index.d.ts.map +1 -0
  82. package/dist/commands/stories/index.js +280 -0
  83. package/dist/commands/stories/index.js.map +1 -0
  84. package/dist/commands/stories/status.d.ts +74 -0
  85. package/dist/commands/stories/status.d.ts.map +1 -0
  86. package/dist/commands/stories/status.js +176 -0
  87. package/dist/commands/stories/status.js.map +1 -0
  88. package/dist/commands/upsert-agent-docs.d.ts.map +1 -1
  89. package/dist/commands/upsert-agent-docs.js +12 -0
  90. package/dist/commands/upsert-agent-docs.js.map +1 -1
  91. package/dist/commands.manifest.d.ts +37 -0
  92. package/dist/commands.manifest.d.ts.map +1 -0
  93. package/dist/commands.manifest.js +301 -0
  94. package/dist/commands.manifest.js.map +1 -0
  95. package/dist/help.d.ts +43 -0
  96. package/dist/help.d.ts.map +1 -0
  97. package/dist/help.js +131 -0
  98. package/dist/help.js.map +1 -0
  99. package/package.json +8 -6
package/README.md CHANGED
@@ -26,37 +26,201 @@ If you're an AI agent (Claude Code, Cursor, etc.) or a developer driving slowcoo
26
26
 
27
27
  This README covers install + the top-level command surface. AGENTS.md covers WHEN to reach for which command, the pipeline flow, and the failure modes you're likely to hit.
28
28
 
29
- ## Quick command reference
29
+ ## Command catalog
30
30
 
31
31
  The pipeline is **refine → testgen → vibe → plate → recipe → brew → chef**. Each stage is an agent invocation that consumes the previous stage's output + commits its own PR.
32
32
 
33
- ```bash
34
- # Pipeline (agent-driven)
35
- npx slowcook refine # GitHub issue frozen spec PR
36
- npx slowcook testgen # spec → failing test PR
37
- npx slowcook vibe # spec mockup PR
38
- npx slowcook plate # mockup + tests → review-overlay annotations
39
- npx slowcook recipe # tests + mockup → brew manifest
40
- npx slowcook brew # iterate src/ until all tests pass
41
- npx slowcook chef # post-merge drift-fix / orchestration
42
-
43
- # Setup + plumbing
44
- npx slowcook init # scaffold .brewing/ + .github/workflows/ in a consumer repo
45
- npx slowcook refresh-knowledge # rebuild .brewing/repo-knowledge/ (auto digests + git-history mining)
46
- npx slowcook upsert-agent-docs # write the managed AGENTS.md block in consumer
47
-
48
- # Guards + checks
49
- npx slowcook guard # frozen-paths check between two refs (CI)
50
- npx slowcook manifest verify # confirm the recorded test set still resolves
51
- npx slowcook check spec # re-run refine validators on a spec yaml (PR-amendment safety)
52
- npx slowcook recon # pre-brew structural backstop
53
-
54
- # Knowledge + accounting
55
- npx slowcook knowledge add # add a curated entry to .brewing/repo-knowledge/curated/
56
- npx slowcook cost log # stamp a cost marker on a story (non-Actions agents)
57
- ```
58
-
59
- Run `npx slowcook <command> --help` for per-command flags. All commands accept `--cwd <path>` to operate against a directory other than `.`.
33
+ The catalog below is **auto-generated from the cli's command manifest** (`packages/cli/src/commands.manifest.ts`). It is kept in sync with `slowcook help` output by `scripts/sync-readme-help.sh` + a CI gate. Adding a command in the manifest updates BOTH this catalog AND the `slowcook help` output in one shot.
34
+
35
+ Run `slowcook help <command>` or `slowcook <command> --help` for per-command details. All commands accept `--cwd <path>` to operate against a directory other than `.`.
36
+
37
+ <!-- COMMANDS BLOCK BEGIN auto-generated by scripts/sync-readme-help.sh, do not edit by hand -->
38
+ ### Pipeline (agent-driven)
39
+
40
+ - **`refine`** Drive a GitHub issue through a clarifying-question loop until a frozen spec PR is emitted.
41
+ ```
42
+ slowcook refine --issue <number> [--cwd <path>] [--owner <login>] [--repo <name>]
43
+ ```
44
+ - **`recipe`** Generate Vitest tests from merged specs the test contract brew follows.
45
+ ```
46
+ slowcook recipe [--spec <id>] [--all] [--cwd <path>]
47
+ ```
48
+ - **`vibe`** — Design-first mockup generator. Emits a runnable React mockup PR from spec + brownfield context.
49
+ ```
50
+ slowcook vibe --spec <id> [--cwd <path>] [--owner <login>] [--repo <name>] [--dry-run]
51
+ ```
52
+ - **`plate`** — Mockup amendment agent. Triggered by /plate PR comments on slowcook-mockup PRs; force-pushes amendments.
53
+ ```
54
+ slowcook plate --pr <number> [--cwd <path>] [--owner <login>] [--repo <name>] [--review-comment-id <id>]
55
+ ```
56
+ - **`brew`** Ratcheted implementation loop: iterate src/ until all of one story's tests are green.
57
+ ```
58
+ slowcook brew --story <id> [--budget-usd <n>] [--max-iterations <n>] [--model <id>]
59
+ ```
60
+ - **`chef`** — PR-CI failure classifier — dispatches retry / escalate based on check status.
61
+ ```
62
+ slowcook chef --pr <number> [--cwd <path>]
63
+ ```
64
+ - **`chef-drift`** — Surgical drift-fixer. Triggered by mock-isolation / recon / brew / navigator halts.
65
+ ```
66
+ slowcook chef-drift [--pr <number>] [--story <id>] [--cwd <path>]
67
+ ```
68
+ - **`chef-orchestrate`** — Pipeline orchestrator. Decides redispatch_brew / rebase / escalate / close on a halted PR.
69
+ ```
70
+ slowcook chef-orchestrate --pr <number> --story <id> [--cwd <path>]
71
+ ```
72
+ - **`brand`** — Design-system foundation agent. Emits mock/src/design-system/{tokens.ts, css.ts} from a brand brief.
73
+ ```
74
+ slowcook brand [--brief <prose>] [--refresh] [--dry-run] [--model <id>] [--cwd <path>]
75
+ ```
76
+
77
+ ### Checks + guards
78
+
79
+ - **`guard`** — Check for frozen-path violations between two git refs. CI step.
80
+ ```
81
+ slowcook guard --base <ref> --head <ref> [--override] [--config <path>]
82
+ ```
83
+ - **`manifest`** — Record or verify the set of discoverable tests so agents can't silently exclude them.
84
+ ```
85
+ slowcook manifest (record|verify) [--stack-config <path>] [--manifest <path>] [--story <id>]
86
+ ```
87
+ - **`check`** — Static structural checks. `check spec` re-runs spec validators on PR amendments; `check mock-isolation` enforces the mock-vs-prod boundary.
88
+ ```
89
+ slowcook check (mock-isolation|spec) [file...] [--cwd <path>]
90
+ ```
91
+ - **`recon`** — Pre-brew structural divergence check. Surfaces missing components / testid gaps / brownfield rename hazards.
92
+ ```
93
+ slowcook recon [--story <id>] [--cwd <path>] [--reuse-scan] [--stub-scan] [--exclude <glob>]
94
+ ```
95
+ - **`eye`** — Fidelity eye (design #8). Renders mock + brewed URLs across the viewport×scheme matrix, grades visual drift, screenshots, exits 1 on drift.
96
+ ```
97
+ slowcook eye --reference <url> --candidate <url> [--out <dir>] [--viewport <m>] [--scheme <s>] [--max-violations <n>] [--fail-on <axes>]
98
+ ```
99
+ - **`gate`** — HITL review halt (design #9). Refuses to advance a stage until a human in the required role has approved on the PR; bot/agent reviews never satisfy it.
100
+ ```
101
+ slowcook gate check --stage <refine|plate|brew> --pr <n> [--repo <owner/name>]
102
+ ```
103
+ - **`map`** — Generate / check the repo-wide code map (APIs, pages, components, helpers, types).
104
+ ```
105
+ slowcook map (generate|check) [--cwd <path>] [--out <path>] [--md <path>]
106
+ ```
107
+ - **`fixtures`** — Sanity-check the test-fixture set against the spec.
108
+ ```
109
+ slowcook fixtures check [--max-age-days <n>] [--story <id>]
110
+ ```
111
+ - **`eval`** — Run the agent eval suite against committed fixtures.
112
+ ```
113
+ slowcook eval (--all | --fixture <id> | --list) [--fixtures-dir <path>]
114
+ ```
115
+
116
+ ### Setup + lifecycle plumbing
117
+
118
+ - **`init`** — Scaffold .brewing/, .github/workflows/slowcook-*, and CODEOWNERS in a consumer project.
119
+ ```
120
+ slowcook init [--owner <handle>] [--force] [--dry-run] [--cwd <path>]
121
+ ```
122
+ - **`refresh-knowledge`** — Rebuild .brewing/repo-knowledge/{auto,curated}/ — code-shape digests + git-history mining.
123
+ ```
124
+ slowcook refresh-knowledge [--cwd <path>] [--auto-only] [--curated-only]
125
+ ```
126
+ - **`upsert-agent-docs`** — Write the managed slowcook block in the consumer's AGENTS.md (or create one).
127
+ ```
128
+ slowcook upsert-agent-docs [--cwd <path>] [--dry-run]
129
+ ```
130
+ - **`on-spec-merged`** — Transition source-issue labels + post audit-trail comment after a spec PR merges.
131
+ ```
132
+ slowcook on-spec-merged --pr <number> [--cwd <path>]
133
+ ```
134
+ - **`on-tests-merged`** — Post audit-trail comment after a tests PR merges.
135
+ ```
136
+ slowcook on-tests-merged --pr <number> [--cwd <path>]
137
+ ```
138
+ - **`on-brew-merged`** — Post final "shipped" audit-trail comment after a brew PR merges. Warns when merge target isn't main.
139
+ ```
140
+ slowcook on-brew-merged --pr <number> [--cwd <path>]
141
+ ```
142
+ - **`on-mockup-approved`** — Hook fired when a mockup PR gets the slowcook-mockup-approved label.
143
+ ```
144
+ slowcook on-mockup-approved --pr <number> [--cwd <path>]
145
+ ```
146
+ - **`catchup`** — Detect + run pipeline steps that should have triggered but didn't.
147
+ ```
148
+ slowcook catchup [--dry-run] [--cwd <path>]
149
+ ```
150
+ - **`budget`** — Manage the project monthly budget for the fuel gauge.
151
+ ```
152
+ slowcook budget [show|set|rm] [--monthly <usd>] [--start-day <1-31>] [--story <usd>] [--cwd <path>]
153
+ ```
154
+ - **`docs`** — Docs generation helper.
155
+ ```
156
+ slowcook docs [--cwd <path>]
157
+ ```
158
+
159
+ ### Knowledge + accounting
160
+
161
+ - **`knowledge`** — Add a curated entry to .brewing/repo-knowledge/curated/.
162
+ ```
163
+ slowcook knowledge add <topic> "<entry>" [--evidence-pr <n>] [--evidence-file <path>]
164
+ ```
165
+ - **`cost`** — Stamp a cost marker on a story for non-Actions agents (Claude Code, Cursor, manual runs).
166
+ ```
167
+ slowcook cost log --story <id> --usd <n> --agent <name> [--apply-to-spec]
168
+ ```
169
+ - **`stories`** [alpha] — Per-story pipeline-stage table (refine / testgen / vibe / brew / chef) from specs/_index.yaml + GitHub state.
170
+ ```
171
+ slowcook stories status [--cwd <path>] [--owner <login>] [--repo <name>] [--json]
172
+ ```
173
+ - **`extract`** — Brownfield extracts (schema.mmd, tokens.md) for refine/investigate context. Fast, no node_modules.
174
+ ```
175
+ slowcook extract [--schema] [--tokens] [--cwd <path>]
176
+ ```
177
+
178
+ ### Ops (preview, dev-env, etc.)
179
+
180
+ - **`serve`** [alpha] — Multi-mode dev / mock / staging on a shared box. `dev` bind-mounts source; `mock` runs vite-dev (auto-skip if no scripts.dev); `staging` is built-image with named-scenario seed reset.
181
+ ```
182
+ slowcook serve <profile> (up|sync|down|logs|reset) [--branch <name>] [--scenario <name>] [--service <name>] [--follow] [--prune]
183
+ ```
184
+ - **`dev-env`** [DEPRECATED] — Legacy alias for `slowcook serve dev`. Bind-mount source push + per-story preview switch. Kept for backward compat.
185
+ ```
186
+ slowcook dev-env (push|switch|up|sync|reset) [--story <id>] [--branch <name>]
187
+ ```
188
+ - **`preview`** — SSH preview deploy. `deploy --pr N`: build + run the mock app on the consumer's box; post URL to PR.
189
+ ```
190
+ slowcook preview (deploy|teardown) --pr <number> [--ssh-key <path>] [--cwd <path>]
191
+ ```
192
+ - **`run-mock`** — One-command mock launch + auto-pull. Polls origin + git pull --ff-only on plate amendments.
193
+ ```
194
+ slowcook run-mock <story-id> [--no-poll] [--poll-seconds <n>] [--branch <ref>]
195
+ ```
196
+ - **`dispatch`** — Trigger a slowcook GitHub Actions workflow remotely (brew / testgen / refine).
197
+ ```
198
+ slowcook dispatch <step> [inputs...]
199
+ ```
200
+ - **`port`** — Deterministic mock/ → src/ copy. Pre-brew CI step; applies the useScenarioFixture → useDataDomain rewrite.
201
+ ```
202
+ slowcook port --story <id> [--cwd <path>] [--dry-run] [--force]
203
+ ```
204
+
205
+ ### Experimental
206
+
207
+ - **`investigate`** [alpha] — Diagnose a bug from a GitHub issue and emit a bug-profile.
208
+ ```
209
+ slowcook investigate --issue <number> [--cwd <path>]
210
+ ```
211
+ - **`sift`** [alpha] — Narrow red→green ratchet for a bug fix; bounded by bug-profile fix_scope.
212
+ ```
213
+ slowcook sift --bug-profile <path> [--cwd <path>]
214
+ ```
215
+ - **`refactor`** — Rank refactor proposals from .brewing/refactor/proposals.json by benefit/cost.
216
+ ```
217
+ slowcook refactor [--scope <name>] [--cwd <path>]
218
+ ```
219
+ - **`garnish`** — Local commit-gate for human tweaks on agent work. Runs tests, commits with learning-signal trailers.
220
+ ```
221
+ slowcook garnish [--cwd <path>]
222
+ ```
223
+ <!-- COMMANDS BLOCK END -->
60
224
 
61
225
  ## Required environment
62
226
 
package/dist/cli.js CHANGED
@@ -31,11 +31,16 @@ import { fixtures } from "./commands/fixtures/index.js";
31
31
  import { refreshKnowledge } from "./commands/refresh-knowledge.js";
32
32
  import { upsertAgentDocs } from "./commands/upsert-agent-docs.js";
33
33
  import { knowledgeAdd } from "./commands/knowledge-add.js";
34
+ import { stories } from "./commands/stories/index.js";
34
35
  import { costLog } from "./commands/cost-log.js";
35
36
  import { evalCmd } from "./commands/eval/index.js";
36
37
  import { devEnv } from "./commands/dev-env/index.js";
38
+ import { serve } from "./commands/serve/index.js";
37
39
  import { budget } from "./commands/budget/index.js";
38
40
  import { brand } from "./commands/brand/index.js";
41
+ import { eye } from "./commands/eye/index.js";
42
+ import { gate } from "./commands/gate/index.js";
43
+ import { renderHelp, renderCommandHelp, renderReadmeBlock } from "./help.js";
39
44
  // Read VERSION from package.json at runtime so the CLI's self-reported
40
45
  // version, the spec's `refined_by` field, and the init template's workflow
41
46
  // pin all stay in lockstep with the package version. Prevents the silent
@@ -52,75 +57,11 @@ const VERSION = (() => {
52
57
  return "0.0.0-unknown";
53
58
  }
54
59
  })();
55
- const USAGE = `
56
- slowcook TDD-first agentic development harness
57
-
58
- Usage:
59
- slowcook init [--owner <handle>] [--force] [--dry-run] [--cwd <path>]
60
- slowcook guard --base <ref> --head <ref> [--override] [--config <path>]
61
- slowcook manifest record [--stack-config <path>] [--manifest <path>] [--story <id>]
62
- slowcook manifest verify [--stack-config <path>] [--manifest <path>] [--story <id>]
63
- slowcook refine --issue <number> [--cwd <path>] [--owner <login>] [--repo <name>]
64
- slowcook on-spec-merged --pr <number> [--cwd <path>]
65
- slowcook on-tests-merged --pr <number> [--cwd <path>]
66
- slowcook on-brew-merged --pr <number> [--cwd <path>]
67
- slowcook recipe [--spec <id>] [--all] [--cwd <path>] (testgen — alias kept for 0.13.x)
68
- slowcook catchup [--dry-run] [--cwd <path>]
69
- slowcook brew --story <id> [--budget-usd <n>] [--max-iterations <n>] [--model <id>]
70
- slowcook map (generate|check) [--cwd <path>] [--out <path>] [--md <path>]
71
- slowcook extract [--schema] [--tokens] [--cwd <path>]
72
- slowcook vibe --spec <id> [--cwd <path>] [--owner <login>] [--repo <name>] [--dry-run]
73
- slowcook plate --pr <number> [--cwd <path>] [--owner <login>] [--repo <name>] [--review-comment-id <id>]
74
- slowcook port --story <id> [--cwd <path>] [--dry-run] [--force]
75
- slowcook preview (deploy|teardown) --pr <number> [--ssh-key <path>] [--cwd <path>]
76
- slowcook check mock-isolation [--cwd <path>]
77
- slowcook check spec [file...] [--cwd <path>]
78
- slowcook run-mock <story-id> [--no-poll] [--poll-seconds <n>] [--branch <ref>]
79
- slowcook dispatch <step> [inputs...]
80
- slowcook fixtures check [--max-age-days <n>] [--story <id>]
81
- slowcook eval (--all | --fixture <id> | --list) [--fixtures-dir <path>]
82
- slowcook dev-env (push|switch|up|sync|reset) [--story <id>] [--branch <name>]
83
- slowcook budget [show|set|rm] [--monthly <usd>] [--start-day <1-31>] [--story <usd>] [--cwd <path>]
84
- slowcook brand [--brief <prose>] [--refresh] [--dry-run] [--model <id>] [--cwd <path>]
85
- slowcook version
86
- slowcook help
87
-
88
- Commands available in ${VERSION}:
89
- init Scaffold slowcook configuration in a consumer project.
90
- guard Check for frozen-path violations between two git refs.
91
- manifest Record or verify the set of discoverable tests.
92
- refine Drive a GitHub issue toward a frozen spec (refinement agent).
93
- on-spec-merged Transition source-issue labels + post audit-trail comment after a spec PR merges.
94
- on-tests-merged Post audit-trail comment after a tests PR merges.
95
- on-brew-merged Post final "shipped" audit-trail comment after a brew PR merges.
96
- recipe Generate Vitest tests from merged specs (a "recipe" — the test contract brew follows). Aliases: testgen.
97
- investigate (alpha.2a, scaffold) Diagnose a bug from a GitHub issue and emit a bug-profile.
98
- sift (alpha.4) Narrow red→green ratchet for a bug fix; bounded by bug-profile fix_scope.
99
- chef (alpha.5c) PR-CI failure classifier — dispatches retry / escalate based on check status.
100
- chef-drift (0.18.0-α.9 L1) Surgical drift-fixer. Triggered by mock-isolation / recon / brew / navigator halts.
101
- chef-orchestrate (0.19.0-α.2 L3) Pipeline orchestrator. Decides redispatch_brew / rebase / escalate / close on a halted PR.
102
- refactor (0.19.0-α.7) Rank refactor proposals by benefit/cost. Reads .brewing/refactor/proposals.json.
103
- garnish (0.19.0-α.15) Local commit-gate for human tweaks on agent work. Runs tests, commits with learning-signal trailers.
104
- catchup Detect + run pipeline steps that should have triggered but didn't.
105
- brew Ratcheted implementation loop: flip red tests to green for one story.
106
- map Generate / check the repo-wide code map (APIs, pages, components, helpers, types).
107
- extract Brownfield extracts (schema.mmd, tokens.md) for refine/investigate context. Fast, no node_modules.
108
- vibe (0.15-α.1) Design-first mockup generator. Reads spec + brownfield + code-map; emits runnable React mockup to slowcook/mockup/story-N PR.
109
- plate (0.15-α.3) Mockup amendment agent. Triggered by /plate PR comments on slowcook-mockup PRs; force-pushes amendments.
110
- port (0.16-α.8) Deterministic mock/ → src/ copy. Walks mock/src/, applies useScenarioFixture → useDataDomain rewrite, prepends provenance header. Pre-brew CI step.
111
- preview (0.16-α.5) SSH preview deploy. \`deploy --pr N\`: build + run the mock app on the consumer's box; post URL to PR. \`teardown --pr N\`: stop + remove.
112
- check (0.16-α.13) Static structural checks. \`check mock-isolation\` verifies every import in mock/ stays inside mock/ (catches vibe-prompt slippage that breaks the mock-vs-prod separation rule). \`check spec\` (0.19.4-α) re-runs spec content validators on a PR's spec files — closes the amendment-bypass gap where refine's in-process lint never re-fires.
113
- recon (0.17.6+) Pre-brew structural divergence check. Compares story tests against mock + src/, surfaces missing components / testid gaps / brownfield rename hazards. Runs in slowcook-brew-auto.yml before brew dispatch.
114
- run-mock (0.16-α.17) One-command mock launch + auto-pull. \`run-mock <story>\`: checkout mockup branch, npm install in mock/, run next dev with overlay env vars, poll origin every 15s + git pull --ff-only on plate amendments.
115
- dispatch Trigger a slowcook GitHub Actions workflow remotely (brew / testgen / refine).
116
- budget (0.19.0-α.35) Manage the project monthly budget for the fuel gauge. \`budget set --monthly 50\` writes .brewing/budget.yaml; no args shows config + month-to-date spend.
117
- brand (0.19.0-α.40, sc#82 Phase 4) Design-system foundation agent. Reads a brand brief (\`.brewing/brand.yaml\` or \`--brief\`) and emits mock/src/design-system/{tokens.ts, css.ts}. Runs once per project; \`--refresh\` overwrites.
118
-
119
- Coming in later versions:
120
- review, dashboard
121
-
122
- Docs: https://github.com/aminazar/slowcook
123
- `;
60
+ // Help text is rendered from `commands.manifest.ts` via `./help.ts`.
61
+ // The previous monolithic USAGE template drifted from the actual command
62
+ // surface (refresh-knowledge, upsert-agent-docs, knowledge, cost, etc.
63
+ // were callable but unlisted). The manifest fixes that — one entry per
64
+ // callable command, validated by a CI gate against this switch statement.
124
65
  async function main() {
125
66
  const args = process.argv.slice(2);
126
67
  const command = args[0];
@@ -150,9 +91,19 @@ async function main() {
150
91
  await knowledgeAdd(args.slice(2));
151
92
  return;
152
93
  }
94
+ if (sub === "--help" || sub === "-h" || sub === "help") {
95
+ console.log(renderCommandHelp("knowledge"));
96
+ return;
97
+ }
153
98
  console.error(`unknown knowledge subcommand: ${sub ?? "(none)"}. try \`slowcook knowledge add --help\``);
154
99
  process.exit(64);
155
100
  }
101
+ case "stories": {
102
+ // `slowcook stories status [...]` — 0.19.5-α (sc#146 #6)
103
+ // Per-story pipeline-stage table. See packages/cli/src/commands/stories/.
104
+ await stories(args.slice(1));
105
+ return;
106
+ }
156
107
  case "cost": {
157
108
  // `slowcook cost log --story <id> --usd <n> --agent <name> [...]`
158
109
  // 0.19.x+ — explicit logging primitive for non-Actions agents
@@ -164,6 +115,10 @@ async function main() {
164
115
  await costLog(args.slice(2));
165
116
  return;
166
117
  }
118
+ if (sub === "--help" || sub === "-h" || sub === "help") {
119
+ console.log(renderCommandHelp("cost"));
120
+ return;
121
+ }
167
122
  console.error(`unknown cost subcommand: ${sub ?? "(none)"}. try \`slowcook cost log --help\``);
168
123
  process.exit(64);
169
124
  }
@@ -331,6 +286,16 @@ async function main() {
331
286
  // vibe ⇄ testgen divergence before brew burns tokens.
332
287
  await recon(args.slice(1), VERSION);
333
288
  return;
289
+ case "eye":
290
+ // design #8 — render reference (mock) + candidate (brewed) URLs across
291
+ // the viewport×scheme matrix, grade fidelity, screenshot, exit 1 on drift.
292
+ await eye(args.slice(1), VERSION);
293
+ return;
294
+ case "gate":
295
+ // design #9 — HITL halt: refuse to advance a stage until a human in the
296
+ // required role has approved on the PR (agent-unforgeable).
297
+ await gate(args.slice(1), VERSION);
298
+ return;
334
299
  case "run-mock":
335
300
  // 0.16.0-α.17 — one-command mock launch + auto-pull on plate
336
301
  // amendments. Wraps git fetch/checkout + npm install + next dev
@@ -353,9 +318,18 @@ async function main() {
353
318
  case "dev-env":
354
319
  // 0.19.0-α.21 (dev-env Phase 2) — long-lived preview env on
355
320
  // a shared branch. push/switch implemented; up/sync/reset stub
356
- // print canonical shell-outs for now.
321
+ // print canonical shell-outs for now. Still callable for
322
+ // backward compat; `slowcook serve dev <verb>` is the 0.20+
323
+ // recommended path (design #5, Phase 1).
357
324
  await devEnv(args.slice(1));
358
325
  return;
326
+ case "serve":
327
+ // 0.20 design #5 Phase 1. `slowcook serve <profile> <verb>`.
328
+ // Reads .brewing/serve.yaml or legacy .brewing/dev-env.yaml.
329
+ // Profile `dev` implemented end-to-end; `mock` / `staging`
330
+ // stubs print Phase 2/3 notices.
331
+ await serve(args.slice(1));
332
+ return;
359
333
  case "budget":
360
334
  // 0.19.0-α.35 (sc#66 follow-up) — manage .brewing/budget.yaml.
361
335
  // No args = show current config + month-to-date spend. `set
@@ -378,11 +352,29 @@ async function main() {
378
352
  case undefined:
379
353
  case "help":
380
354
  case "--help":
381
- case "-h":
382
- console.log(USAGE);
355
+ case "-h": {
356
+ const rest = args.slice(1);
357
+ // `slowcook help --markdown-readme` — emits the markdown catalog
358
+ // for `scripts/sync-readme-help.sh` to splice into the README.
359
+ if (rest[0] === "--markdown-readme") {
360
+ process.stdout.write(renderReadmeBlock());
361
+ return;
362
+ }
363
+ // `slowcook help <cmd>` — per-command usage.
364
+ if (rest[0] && !rest[0].startsWith("-")) {
365
+ const block = renderCommandHelp(rest[0]);
366
+ if (block) {
367
+ console.log(block);
368
+ return;
369
+ }
370
+ console.error(`Unknown command: ${rest[0]}\n${renderHelp(VERSION)}`);
371
+ process.exit(64);
372
+ }
373
+ console.log(renderHelp(VERSION));
383
374
  return;
375
+ }
384
376
  default:
385
- console.error(`Unknown command: ${command}\n${USAGE}`);
377
+ console.error(`Unknown command: ${command}\n${renderHelp(VERSION)}`);
386
378
  process.exit(64); // EX_USAGE
387
379
  }
388
380
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * design #8 — eye-driven brew convergence loop.
3
+ *
4
+ * Bounded fidelity-correction controller: the "brain" that drives a front-end
5
+ * brew toward a mock by repeatedly measuring fidelity violations (the eye) and
6
+ * applying fixes (the brew agent), relying on a hot-reload stack to re-render
7
+ * between iterations so each pass is cheap.
8
+ *
9
+ * Generic + dependency-free. Parameterised over a violation type `V` so it
10
+ * never couples to the eye's concrete types (no import from
11
+ * @slowcook-ai/gates or any sibling package).
12
+ *
13
+ * MUST be bounded and detect non-progress. slowcook's brew agent has a
14
+ * documented "analysis-paralysis" failure mode (see
15
+ * `project_brew_agent_improvements`) where it loops without converging — so
16
+ * the controller escalates rather than spinning:
17
+ * - converged: zero violations measured.
18
+ * - stalled: violation COUNT failed to strictly decrease for `stallLimit`
19
+ * consecutive iterations (default 2). The stalling applyFix is
20
+ * NOT re-run — we bail before burning another fix.
21
+ * - exhausted: `maxIters` (default 5) measure() calls made while violations
22
+ * remain.
23
+ *
24
+ * Progress is measured by strictly-decreasing violation COUNT. `keyOf` is
25
+ * required in deps (and is the stable per-violation identity used by callers
26
+ * for logging/diffing `remaining`) but the convergence decision itself is
27
+ * count-based and documented as such for simplicity.
28
+ */
29
+ export interface FidelityLoopDeps<V> {
30
+ /** Render + measure current fidelity violations (the eye). */
31
+ measure: () => Promise<V[]>;
32
+ /** Apply fixes for the given violations (the brew agent), then the caller's HMR re-renders. */
33
+ applyFix: (violations: V[], iteration: number) => Promise<void>;
34
+ /** Stable key per violation, used to detect progress/stall (e.g. `${selector}:${property}`). */
35
+ keyOf: (v: V) => string;
36
+ /** Max iterations before escalating (default 5). */
37
+ maxIters?: number;
38
+ /** Consecutive non-improving iterations before escalating early (default 2). */
39
+ stallLimit?: number;
40
+ /** Optional progress callback for logging. */
41
+ onIteration?: (info: {
42
+ iteration: number;
43
+ count: number;
44
+ converged: boolean;
45
+ }) => void;
46
+ }
47
+ export interface FidelityLoopResult<V> {
48
+ converged: boolean;
49
+ escalated: boolean;
50
+ iterations: number;
51
+ remaining: V[];
52
+ history: number[];
53
+ reason: 'converged' | 'stalled' | 'exhausted';
54
+ }
55
+ /**
56
+ * Drive a bounded measure → fix → re-measure loop until the front-end matches
57
+ * the mock (zero violations) or the controller escalates.
58
+ *
59
+ * Escalation semantics (return without calling applyFix again on bail):
60
+ * - First iteration always proceeds to applyFix if violations exist (there is
61
+ * no "previous" count to stall against).
62
+ * - After each measure: if `iterations >= maxIters` and violations remain →
63
+ * `exhausted`.
64
+ * - Stall: if this iteration's count did NOT strictly decrease vs the prior
65
+ * count (>= previous), increment the stall counter; otherwise reset it to
66
+ * 0. When the stall counter reaches `stallLimit` → `stalled` (applyFix is
67
+ * NOT invoked for this iteration).
68
+ * - `escalated === !converged`.
69
+ */
70
+ export declare function runFidelityLoop<V>(deps: FidelityLoopDeps<V>): Promise<FidelityLoopResult<V>>;
71
+ //# sourceMappingURL=fidelity-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fidelity-loop.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/fidelity-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,8DAA8D;IAC9D,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,+FAA+F;IAC/F,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,gGAAgG;IAChG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IACxB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACxF;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;CAC/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAuEhC"}