@slowcook-ai/cli 0.19.5 → 0.19.6

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 (44) hide show
  1. package/README.md +184 -28
  2. package/dist/cli.js +53 -73
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/serve/config.d.ts +140 -0
  5. package/dist/commands/serve/config.d.ts.map +1 -0
  6. package/dist/commands/serve/config.js +174 -0
  7. package/dist/commands/serve/config.js.map +1 -0
  8. package/dist/commands/serve/detect.d.ts +31 -0
  9. package/dist/commands/serve/detect.d.ts.map +1 -0
  10. package/dist/commands/serve/detect.js +56 -0
  11. package/dist/commands/serve/detect.js.map +1 -0
  12. package/dist/commands/serve/dev.d.ts +51 -0
  13. package/dist/commands/serve/dev.d.ts.map +1 -0
  14. package/dist/commands/serve/dev.js +126 -0
  15. package/dist/commands/serve/dev.js.map +1 -0
  16. package/dist/commands/serve/index.d.ts +28 -0
  17. package/dist/commands/serve/index.d.ts.map +1 -0
  18. package/dist/commands/serve/index.js +216 -0
  19. package/dist/commands/serve/index.js.map +1 -0
  20. package/dist/commands/serve/mock.d.ts +39 -0
  21. package/dist/commands/serve/mock.d.ts.map +1 -0
  22. package/dist/commands/serve/mock.js +132 -0
  23. package/dist/commands/serve/mock.js.map +1 -0
  24. package/dist/commands/serve/staging.d.ts +39 -0
  25. package/dist/commands/serve/staging.d.ts.map +1 -0
  26. package/dist/commands/serve/staging.js +190 -0
  27. package/dist/commands/serve/staging.js.map +1 -0
  28. package/dist/commands/stories/index.d.ts +15 -0
  29. package/dist/commands/stories/index.d.ts.map +1 -0
  30. package/dist/commands/stories/index.js +280 -0
  31. package/dist/commands/stories/index.js.map +1 -0
  32. package/dist/commands/stories/status.d.ts +74 -0
  33. package/dist/commands/stories/status.d.ts.map +1 -0
  34. package/dist/commands/stories/status.js +176 -0
  35. package/dist/commands/stories/status.js.map +1 -0
  36. package/dist/commands.manifest.d.ts +37 -0
  37. package/dist/commands.manifest.d.ts.map +1 -0
  38. package/dist/commands.manifest.js +289 -0
  39. package/dist/commands.manifest.js.map +1 -0
  40. package/dist/help.d.ts +43 -0
  41. package/dist/help.d.ts.map +1 -0
  42. package/dist/help.js +131 -0
  43. package/dist/help.js.map +1 -0
  44. package/package.json +3 -3
package/README.md CHANGED
@@ -26,37 +26,193 @@ 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
+ - **`map`** — Generate / check the repo-wide code map (APIs, pages, components, helpers, types).
96
+ ```
97
+ slowcook map (generate|check) [--cwd <path>] [--out <path>] [--md <path>]
98
+ ```
99
+ - **`fixtures`** — Sanity-check the test-fixture set against the spec.
100
+ ```
101
+ slowcook fixtures check [--max-age-days <n>] [--story <id>]
102
+ ```
103
+ - **`eval`** — Run the agent eval suite against committed fixtures.
104
+ ```
105
+ slowcook eval (--all | --fixture <id> | --list) [--fixtures-dir <path>]
106
+ ```
107
+
108
+ ### Setup + lifecycle plumbing
109
+
110
+ - **`init`** — Scaffold .brewing/, .github/workflows/slowcook-*, and CODEOWNERS in a consumer project.
111
+ ```
112
+ slowcook init [--owner <handle>] [--force] [--dry-run] [--cwd <path>]
113
+ ```
114
+ - **`refresh-knowledge`** — Rebuild .brewing/repo-knowledge/{auto,curated}/ — code-shape digests + git-history mining.
115
+ ```
116
+ slowcook refresh-knowledge [--cwd <path>] [--auto-only] [--curated-only]
117
+ ```
118
+ - **`upsert-agent-docs`** — Write the managed slowcook block in the consumer's AGENTS.md (or create one).
119
+ ```
120
+ slowcook upsert-agent-docs [--cwd <path>] [--dry-run]
121
+ ```
122
+ - **`on-spec-merged`** — Transition source-issue labels + post audit-trail comment after a spec PR merges.
123
+ ```
124
+ slowcook on-spec-merged --pr <number> [--cwd <path>]
125
+ ```
126
+ - **`on-tests-merged`** — Post audit-trail comment after a tests PR merges.
127
+ ```
128
+ slowcook on-tests-merged --pr <number> [--cwd <path>]
129
+ ```
130
+ - **`on-brew-merged`** — Post final "shipped" audit-trail comment after a brew PR merges. Warns when merge target isn't main.
131
+ ```
132
+ slowcook on-brew-merged --pr <number> [--cwd <path>]
133
+ ```
134
+ - **`on-mockup-approved`** — Hook fired when a mockup PR gets the slowcook-mockup-approved label.
135
+ ```
136
+ slowcook on-mockup-approved --pr <number> [--cwd <path>]
137
+ ```
138
+ - **`catchup`** — Detect + run pipeline steps that should have triggered but didn't.
139
+ ```
140
+ slowcook catchup [--dry-run] [--cwd <path>]
141
+ ```
142
+ - **`budget`** — Manage the project monthly budget for the fuel gauge.
143
+ ```
144
+ slowcook budget [show|set|rm] [--monthly <usd>] [--start-day <1-31>] [--story <usd>] [--cwd <path>]
145
+ ```
146
+ - **`docs`** — Docs generation helper.
147
+ ```
148
+ slowcook docs [--cwd <path>]
149
+ ```
150
+
151
+ ### Knowledge + accounting
152
+
153
+ - **`knowledge`** — Add a curated entry to .brewing/repo-knowledge/curated/.
154
+ ```
155
+ slowcook knowledge add <topic> "<entry>" [--evidence-pr <n>] [--evidence-file <path>]
156
+ ```
157
+ - **`cost`** — Stamp a cost marker on a story for non-Actions agents (Claude Code, Cursor, manual runs).
158
+ ```
159
+ slowcook cost log --story <id> --usd <n> --agent <name> [--apply-to-spec]
160
+ ```
161
+ - **`stories`** [alpha] — Per-story pipeline-stage table (refine / testgen / vibe / brew / chef) from specs/_index.yaml + GitHub state.
162
+ ```
163
+ slowcook stories status [--cwd <path>] [--owner <login>] [--repo <name>] [--json]
164
+ ```
165
+ - **`extract`** — Brownfield extracts (schema.mmd, tokens.md) for refine/investigate context. Fast, no node_modules.
166
+ ```
167
+ slowcook extract [--schema] [--tokens] [--cwd <path>]
168
+ ```
169
+
170
+ ### Ops (preview, dev-env, etc.)
171
+
172
+ - **`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.
173
+ ```
174
+ slowcook serve <profile> (up|sync|down|logs|reset) [--branch <name>] [--scenario <name>] [--service <name>] [--follow] [--prune]
175
+ ```
176
+ - **`dev-env`** [DEPRECATED] — Legacy alias for `slowcook serve dev`. Bind-mount source push + per-story preview switch. Kept for backward compat.
177
+ ```
178
+ slowcook dev-env (push|switch|up|sync|reset) [--story <id>] [--branch <name>]
179
+ ```
180
+ - **`preview`** — SSH preview deploy. `deploy --pr N`: build + run the mock app on the consumer's box; post URL to PR.
181
+ ```
182
+ slowcook preview (deploy|teardown) --pr <number> [--ssh-key <path>] [--cwd <path>]
183
+ ```
184
+ - **`run-mock`** — One-command mock launch + auto-pull. Polls origin + git pull --ff-only on plate amendments.
185
+ ```
186
+ slowcook run-mock <story-id> [--no-poll] [--poll-seconds <n>] [--branch <ref>]
187
+ ```
188
+ - **`dispatch`** — Trigger a slowcook GitHub Actions workflow remotely (brew / testgen / refine).
189
+ ```
190
+ slowcook dispatch <step> [inputs...]
191
+ ```
192
+ - **`port`** — Deterministic mock/ → src/ copy. Pre-brew CI step; applies the useScenarioFixture → useDataDomain rewrite.
193
+ ```
194
+ slowcook port --story <id> [--cwd <path>] [--dry-run] [--force]
195
+ ```
196
+
197
+ ### Experimental
198
+
199
+ - **`investigate`** [alpha] — Diagnose a bug from a GitHub issue and emit a bug-profile.
200
+ ```
201
+ slowcook investigate --issue <number> [--cwd <path>]
202
+ ```
203
+ - **`sift`** [alpha] — Narrow red→green ratchet for a bug fix; bounded by bug-profile fix_scope.
204
+ ```
205
+ slowcook sift --bug-profile <path> [--cwd <path>]
206
+ ```
207
+ - **`refactor`** — Rank refactor proposals from .brewing/refactor/proposals.json by benefit/cost.
208
+ ```
209
+ slowcook refactor [--scope <name>] [--cwd <path>]
210
+ ```
211
+ - **`garnish`** — Local commit-gate for human tweaks on agent work. Runs tests, commits with learning-signal trailers.
212
+ ```
213
+ slowcook garnish [--cwd <path>]
214
+ ```
215
+ <!-- COMMANDS BLOCK END -->
60
216
 
61
217
  ## Required environment
62
218
 
package/dist/cli.js CHANGED
@@ -31,11 +31,14 @@ 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 { renderHelp, renderCommandHelp, renderReadmeBlock } from "./help.js";
39
42
  // Read VERSION from package.json at runtime so the CLI's self-reported
40
43
  // version, the spec's `refined_by` field, and the init template's workflow
41
44
  // pin all stay in lockstep with the package version. Prevents the silent
@@ -52,75 +55,11 @@ const VERSION = (() => {
52
55
  return "0.0.0-unknown";
53
56
  }
54
57
  })();
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
- `;
58
+ // Help text is rendered from `commands.manifest.ts` via `./help.ts`.
59
+ // The previous monolithic USAGE template drifted from the actual command
60
+ // surface (refresh-knowledge, upsert-agent-docs, knowledge, cost, etc.
61
+ // were callable but unlisted). The manifest fixes that — one entry per
62
+ // callable command, validated by a CI gate against this switch statement.
124
63
  async function main() {
125
64
  const args = process.argv.slice(2);
126
65
  const command = args[0];
@@ -150,9 +89,19 @@ async function main() {
150
89
  await knowledgeAdd(args.slice(2));
151
90
  return;
152
91
  }
92
+ if (sub === "--help" || sub === "-h" || sub === "help") {
93
+ console.log(renderCommandHelp("knowledge"));
94
+ return;
95
+ }
153
96
  console.error(`unknown knowledge subcommand: ${sub ?? "(none)"}. try \`slowcook knowledge add --help\``);
154
97
  process.exit(64);
155
98
  }
99
+ case "stories": {
100
+ // `slowcook stories status [...]` — 0.19.5-α (sc#146 #6)
101
+ // Per-story pipeline-stage table. See packages/cli/src/commands/stories/.
102
+ await stories(args.slice(1));
103
+ return;
104
+ }
156
105
  case "cost": {
157
106
  // `slowcook cost log --story <id> --usd <n> --agent <name> [...]`
158
107
  // 0.19.x+ — explicit logging primitive for non-Actions agents
@@ -164,6 +113,10 @@ async function main() {
164
113
  await costLog(args.slice(2));
165
114
  return;
166
115
  }
116
+ if (sub === "--help" || sub === "-h" || sub === "help") {
117
+ console.log(renderCommandHelp("cost"));
118
+ return;
119
+ }
167
120
  console.error(`unknown cost subcommand: ${sub ?? "(none)"}. try \`slowcook cost log --help\``);
168
121
  process.exit(64);
169
122
  }
@@ -353,9 +306,18 @@ async function main() {
353
306
  case "dev-env":
354
307
  // 0.19.0-α.21 (dev-env Phase 2) — long-lived preview env on
355
308
  // a shared branch. push/switch implemented; up/sync/reset stub
356
- // print canonical shell-outs for now.
309
+ // print canonical shell-outs for now. Still callable for
310
+ // backward compat; `slowcook serve dev <verb>` is the 0.20+
311
+ // recommended path (design #5, Phase 1).
357
312
  await devEnv(args.slice(1));
358
313
  return;
314
+ case "serve":
315
+ // 0.20 design #5 Phase 1. `slowcook serve <profile> <verb>`.
316
+ // Reads .brewing/serve.yaml or legacy .brewing/dev-env.yaml.
317
+ // Profile `dev` implemented end-to-end; `mock` / `staging`
318
+ // stubs print Phase 2/3 notices.
319
+ await serve(args.slice(1));
320
+ return;
359
321
  case "budget":
360
322
  // 0.19.0-α.35 (sc#66 follow-up) — manage .brewing/budget.yaml.
361
323
  // No args = show current config + month-to-date spend. `set
@@ -378,11 +340,29 @@ async function main() {
378
340
  case undefined:
379
341
  case "help":
380
342
  case "--help":
381
- case "-h":
382
- console.log(USAGE);
343
+ case "-h": {
344
+ const rest = args.slice(1);
345
+ // `slowcook help --markdown-readme` — emits the markdown catalog
346
+ // for `scripts/sync-readme-help.sh` to splice into the README.
347
+ if (rest[0] === "--markdown-readme") {
348
+ process.stdout.write(renderReadmeBlock());
349
+ return;
350
+ }
351
+ // `slowcook help <cmd>` — per-command usage.
352
+ if (rest[0] && !rest[0].startsWith("-")) {
353
+ const block = renderCommandHelp(rest[0]);
354
+ if (block) {
355
+ console.log(block);
356
+ return;
357
+ }
358
+ console.error(`Unknown command: ${rest[0]}\n${renderHelp(VERSION)}`);
359
+ process.exit(64);
360
+ }
361
+ console.log(renderHelp(VERSION));
383
362
  return;
363
+ }
384
364
  default:
385
- console.error(`Unknown command: ${command}\n${USAGE}`);
365
+ console.error(`Unknown command: ${command}\n${renderHelp(VERSION)}`);
386
366
  process.exit(64); // EX_USAGE
387
367
  }
388
368
  }
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,140 @@
1
+ /**
2
+ * `.brewing/dev-env.yaml` (legacy) and `.brewing/serve.yaml` (new) —
3
+ * profile-aware config for `slowcook serve <profile> <verb>`.
4
+ *
5
+ * Trade-off resolution from `docs/plans/0.20-design-discussions.md`
6
+ * design #5: KEEP the `dev-env.yaml` filename forever. The schema
7
+ * grows a `profiles:` map for multi-profile use; legacy flat shape
8
+ * (no `profiles:` key) is wrapped as `profiles.dev = {...flat}` on
9
+ * load. Migration cost for existing consumers: zero.
10
+ *
11
+ * Phase 1 (this cut): only the `dev` profile is consumed by
12
+ * `slowcook serve dev up|sync|down|logs`. `mock` and `staging`
13
+ * profiles parse into the same shape but are stubs until Phase 2 + 3.
14
+ */
15
+ import { z } from "zod";
16
+ export declare const DEV_ENV_CONFIG_PATH = ".brewing/dev-env.yaml";
17
+ export declare const SERVE_CONFIG_PATH = ".brewing/serve.yaml";
18
+ declare const AppModeSchema: z.ZodEnum<{
19
+ dev: "dev";
20
+ start: "start";
21
+ "nest-watch": "nest-watch";
22
+ "nest-prod": "nest-prod";
23
+ "next-dev": "next-dev";
24
+ "next-start": "next-start";
25
+ "vite-dev": "vite-dev";
26
+ static: "static";
27
+ none: "none";
28
+ }>;
29
+ export declare const ProfileConfigSchema: z.ZodObject<{
30
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
31
+ "bind-mount-source": "bind-mount-source";
32
+ "built-image": "built-image";
33
+ }>>>;
34
+ source_branch: z.ZodDefault<z.ZodString>;
35
+ compose_overlay: z.ZodOptional<z.ZodString>;
36
+ bringup_cmd: z.ZodOptional<z.ZodString>;
37
+ apps: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
38
+ mode: z.ZodEnum<{
39
+ dev: "dev";
40
+ start: "start";
41
+ "nest-watch": "nest-watch";
42
+ "nest-prod": "nest-prod";
43
+ "next-dev": "next-dev";
44
+ "next-start": "next-start";
45
+ "vite-dev": "vite-dev";
46
+ static: "static";
47
+ none: "none";
48
+ }>;
49
+ port: z.ZodNumber;
50
+ autoheal: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
51
+ container: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>>>;
53
+ persistence: z.ZodDefault<z.ZodOptional<z.ZodObject<{
54
+ db_volume: z.ZodOptional<z.ZodString>;
55
+ uploads_volume: z.ZodOptional<z.ZodString>;
56
+ }, z.core.$strip>>>;
57
+ ssh_target: z.ZodOptional<z.ZodObject<{
58
+ host: z.ZodString;
59
+ user: z.ZodString;
60
+ checkout_dir: z.ZodString;
61
+ key_secret: z.ZodDefault<z.ZodString>;
62
+ }, z.core.$strip>>;
63
+ seed_script: z.ZodOptional<z.ZodString>;
64
+ seed: z.ZodOptional<z.ZodObject<{
65
+ scenarios: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
66
+ scripts: z.ZodDefault<z.ZodArray<z.ZodString>>;
67
+ }, z.core.$strip>>>;
68
+ guard_env: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strip>>;
70
+ }, z.core.$strip>;
71
+ export type ProfileConfig = z.infer<typeof ProfileConfigSchema>;
72
+ export type AppMode = z.infer<typeof AppModeSchema>;
73
+ /**
74
+ * Normalised shape after loading EITHER `.brewing/serve.yaml`
75
+ * (explicit `profiles:` key) OR `.brewing/dev-env.yaml` (legacy flat
76
+ * shape — wrapped as `{profiles: {dev: {...flat}}}`).
77
+ */
78
+ export declare const ServeConfigSchema: z.ZodObject<{
79
+ $schema: z.ZodOptional<z.ZodString>;
80
+ schema_version: z.ZodLiteral<1>;
81
+ profiles: z.ZodRecord<z.ZodString, z.ZodObject<{
82
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
83
+ "bind-mount-source": "bind-mount-source";
84
+ "built-image": "built-image";
85
+ }>>>;
86
+ source_branch: z.ZodDefault<z.ZodString>;
87
+ compose_overlay: z.ZodOptional<z.ZodString>;
88
+ bringup_cmd: z.ZodOptional<z.ZodString>;
89
+ apps: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
90
+ mode: z.ZodEnum<{
91
+ dev: "dev";
92
+ start: "start";
93
+ "nest-watch": "nest-watch";
94
+ "nest-prod": "nest-prod";
95
+ "next-dev": "next-dev";
96
+ "next-start": "next-start";
97
+ "vite-dev": "vite-dev";
98
+ static: "static";
99
+ none: "none";
100
+ }>;
101
+ port: z.ZodNumber;
102
+ autoheal: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
103
+ container: z.ZodOptional<z.ZodString>;
104
+ }, z.core.$strip>>>;
105
+ persistence: z.ZodDefault<z.ZodOptional<z.ZodObject<{
106
+ db_volume: z.ZodOptional<z.ZodString>;
107
+ uploads_volume: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strip>>>;
109
+ ssh_target: z.ZodOptional<z.ZodObject<{
110
+ host: z.ZodString;
111
+ user: z.ZodString;
112
+ checkout_dir: z.ZodString;
113
+ key_secret: z.ZodDefault<z.ZodString>;
114
+ }, z.core.$strip>>;
115
+ seed_script: z.ZodOptional<z.ZodString>;
116
+ seed: z.ZodOptional<z.ZodObject<{
117
+ scenarios: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
118
+ scripts: z.ZodDefault<z.ZodArray<z.ZodString>>;
119
+ }, z.core.$strip>>>;
120
+ guard_env: z.ZodOptional<z.ZodString>;
121
+ }, z.core.$strip>>;
122
+ }, z.core.$strip>>;
123
+ }, z.core.$strip>;
124
+ export type ServeConfig = z.infer<typeof ServeConfigSchema>;
125
+ /**
126
+ * Loader: prefer `.brewing/serve.yaml` if present, else fall back to
127
+ * `.brewing/dev-env.yaml`. Legacy flat shapes get wrapped to the
128
+ * `{profiles: {dev: {...flat}}}` form. Returns the normalised
129
+ * `ServeConfig`.
130
+ */
131
+ export declare function loadServeConfig(repoRoot: string): ServeConfig;
132
+ /**
133
+ * Detect legacy vs new shape + normalise. Exported for tests + the
134
+ * legacy `slowcook dev-env` callers that want the same loader.
135
+ */
136
+ export declare function normaliseConfig(raw: unknown, source: string): ServeConfig;
137
+ /** Convenience: lookup a profile by name (case-sensitive). */
138
+ export declare function getProfile(config: ServeConfig, name: string): ProfileConfig | undefined;
139
+ export {};
140
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/serve/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD,QAAA,MAAM,aAAa;;;;;;;;;;EAUjB,CAAC;AAuDH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAgB7D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CA2BzE;AASD,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEvF"}