@slowcook-ai/cli 0.19.0-alpha.8 → 0.19.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.
- package/AGENTS.md +240 -0
- package/REPORTING.md +193 -0
- package/dist/cli.js +78 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/brand/index.d.ts +26 -0
- package/dist/commands/brand/index.d.ts.map +1 -0
- package/dist/commands/brand/index.js +257 -0
- package/dist/commands/brand/index.js.map +1 -0
- package/dist/commands/brew/agent.d.ts +7 -2
- package/dist/commands/brew/agent.d.ts.map +1 -1
- package/dist/commands/brew/agent.js +9 -0
- package/dist/commands/brew/agent.js.map +1 -1
- package/dist/commands/brew/halt.d.ts +26 -0
- package/dist/commands/brew/halt.d.ts.map +1 -1
- package/dist/commands/brew/halt.js.map +1 -1
- package/dist/commands/brew/index.d.ts.map +1 -1
- package/dist/commands/brew/index.js +142 -18
- package/dist/commands/brew/index.js.map +1 -1
- package/dist/commands/brew/pair-navigator.d.ts +119 -0
- package/dist/commands/brew/pair-navigator.d.ts.map +1 -0
- package/dist/commands/brew/pair-navigator.js +187 -0
- package/dist/commands/brew/pair-navigator.js.map +1 -0
- package/dist/commands/budget/index.d.ts +2 -0
- package/dist/commands/budget/index.d.ts.map +1 -0
- package/dist/commands/budget/index.js +252 -0
- package/dist/commands/budget/index.js.map +1 -0
- package/dist/commands/chef/drift-fix.d.ts +33 -4
- package/dist/commands/chef/drift-fix.d.ts.map +1 -1
- package/dist/commands/chef/drift-fix.js +417 -29
- package/dist/commands/chef/drift-fix.js.map +1 -1
- package/dist/commands/chef/index.js +13 -3
- package/dist/commands/chef/index.js.map +1 -1
- package/dist/commands/chef/orchestrate.d.ts +1 -1
- package/dist/commands/chef/orchestrate.d.ts.map +1 -1
- package/dist/commands/chef/orchestrate.js +32 -9
- package/dist/commands/chef/orchestrate.js.map +1 -1
- package/dist/commands/dev-env/config.d.ts +57 -0
- package/dist/commands/dev-env/config.d.ts.map +1 -0
- package/dist/commands/dev-env/config.js +96 -0
- package/dist/commands/dev-env/config.js.map +1 -0
- package/dist/commands/dev-env/index.d.ts +27 -0
- package/dist/commands/dev-env/index.d.ts.map +1 -0
- package/dist/commands/dev-env/index.js +226 -0
- package/dist/commands/dev-env/index.js.map +1 -0
- package/dist/commands/dev-env/init.d.ts +28 -0
- package/dist/commands/dev-env/init.d.ts.map +1 -0
- package/dist/commands/dev-env/init.js +135 -0
- package/dist/commands/dev-env/init.js.map +1 -0
- package/dist/commands/docs/index.d.ts +16 -0
- package/dist/commands/docs/index.d.ts.map +1 -0
- package/dist/commands/docs/index.js +127 -0
- package/dist/commands/docs/index.js.map +1 -0
- package/dist/commands/eval/index.d.ts +54 -0
- package/dist/commands/eval/index.d.ts.map +1 -0
- package/dist/commands/eval/index.js +294 -0
- package/dist/commands/eval/index.js.map +1 -0
- package/dist/commands/extract/index.d.ts.map +1 -1
- package/dist/commands/extract/index.js +23 -1
- package/dist/commands/extract/index.js.map +1 -1
- package/dist/commands/garnish/index.d.ts +56 -0
- package/dist/commands/garnish/index.d.ts.map +1 -0
- package/dist/commands/garnish/index.js +281 -0
- package/dist/commands/garnish/index.js.map +1 -0
- package/dist/commands/garnish/trailer.d.ts +79 -0
- package/dist/commands/garnish/trailer.d.ts.map +1 -0
- package/dist/commands/garnish/trailer.js +118 -0
- package/dist/commands/garnish/trailer.js.map +1 -0
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +33 -0
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/init/mock-vite.d.ts +54 -0
- package/dist/commands/init/mock-vite.d.ts.map +1 -0
- package/dist/commands/init/mock-vite.js +613 -0
- package/dist/commands/init/mock-vite.js.map +1 -0
- package/dist/commands/init/mock.d.ts +6 -0
- package/dist/commands/init/mock.d.ts.map +1 -1
- package/dist/commands/init/mock.js +20 -4
- package/dist/commands/init/mock.js.map +1 -1
- package/dist/commands/init/plan.d.ts +26 -1
- package/dist/commands/init/plan.d.ts.map +1 -1
- package/dist/commands/init/plan.js +41 -3
- package/dist/commands/init/plan.js.map +1 -1
- package/dist/commands/init/templates.d.ts.map +1 -1
- package/dist/commands/init/templates.js +12 -4
- package/dist/commands/init/templates.js.map +1 -1
- package/dist/commands/knowledge-add.d.ts +52 -0
- package/dist/commands/knowledge-add.d.ts.map +1 -0
- package/dist/commands/knowledge-add.js +232 -0
- package/dist/commands/knowledge-add.js.map +1 -0
- package/dist/commands/map/emit-typeorm.d.ts +117 -0
- package/dist/commands/map/emit-typeorm.d.ts.map +1 -0
- package/dist/commands/map/emit-typeorm.js +341 -0
- package/dist/commands/map/emit-typeorm.js.map +1 -0
- package/dist/commands/map/index.d.ts +18 -0
- package/dist/commands/map/index.d.ts.map +1 -1
- package/dist/commands/map/index.js +28 -0
- package/dist/commands/map/index.js.map +1 -1
- package/dist/commands/plate/agent.d.ts +7 -0
- package/dist/commands/plate/agent.d.ts.map +1 -1
- package/dist/commands/plate/agent.js +1 -1
- package/dist/commands/plate/agent.js.map +1 -1
- package/dist/commands/plate/index.d.ts.map +1 -1
- package/dist/commands/plate/index.js +6 -0
- package/dist/commands/plate/index.js.map +1 -1
- package/dist/commands/recon/index.d.ts +16 -3
- package/dist/commands/recon/index.d.ts.map +1 -1
- package/dist/commands/recon/index.js +267 -16
- package/dist/commands/recon/index.js.map +1 -1
- package/dist/commands/recon/migration-gate.d.ts +59 -0
- package/dist/commands/recon/migration-gate.d.ts.map +1 -0
- package/dist/commands/recon/migration-gate.js +131 -0
- package/dist/commands/recon/migration-gate.js.map +1 -0
- package/dist/commands/recon/reuse.d.ts +32 -0
- package/dist/commands/recon/reuse.d.ts.map +1 -1
- package/dist/commands/recon/reuse.js +66 -0
- package/dist/commands/recon/reuse.js.map +1 -1
- package/dist/commands/recon/stale-stubs.d.ts +65 -0
- package/dist/commands/recon/stale-stubs.d.ts.map +1 -0
- package/dist/commands/recon/stale-stubs.js +84 -0
- package/dist/commands/recon/stale-stubs.js.map +1 -0
- package/dist/commands/refine/agent.d.ts +23 -0
- package/dist/commands/refine/agent.d.ts.map +1 -1
- package/dist/commands/refine/agent.js +245 -15
- package/dist/commands/refine/agent.js.map +1 -1
- package/dist/commands/refine/brownfield-answer.d.ts +81 -0
- package/dist/commands/refine/brownfield-answer.d.ts.map +1 -0
- package/dist/commands/refine/brownfield-answer.js +231 -0
- package/dist/commands/refine/brownfield-answer.js.map +1 -0
- package/dist/commands/refine/context.d.ts +27 -1
- package/dist/commands/refine/context.d.ts.map +1 -1
- package/dist/commands/refine/context.js +438 -6
- package/dist/commands/refine/context.js.map +1 -1
- package/dist/commands/refine/git-attention.d.ts +123 -0
- package/dist/commands/refine/git-attention.d.ts.map +1 -0
- package/dist/commands/refine/git-attention.js +378 -0
- package/dist/commands/refine/git-attention.js.map +1 -0
- package/dist/commands/refine/history-index.d.ts +66 -0
- package/dist/commands/refine/history-index.d.ts.map +1 -1
- package/dist/commands/refine/history-index.js +195 -8
- package/dist/commands/refine/history-index.js.map +1 -1
- package/dist/commands/refine/index.d.ts.map +1 -1
- package/dist/commands/refine/index.js +105 -18
- package/dist/commands/refine/index.js.map +1 -1
- package/dist/commands/refine/multifurcate.d.ts +129 -0
- package/dist/commands/refine/multifurcate.d.ts.map +1 -0
- package/dist/commands/refine/multifurcate.js +247 -0
- package/dist/commands/refine/multifurcate.js.map +1 -0
- package/dist/commands/refine/proposals-synth.d.ts +50 -1
- package/dist/commands/refine/proposals-synth.d.ts.map +1 -1
- package/dist/commands/refine/proposals-synth.js +199 -35
- package/dist/commands/refine/proposals-synth.js.map +1 -1
- package/dist/commands/refine/spec-yaml.d.ts +214 -1210
- package/dist/commands/refine/spec-yaml.d.ts.map +1 -1
- package/dist/commands/refine/spec-yaml.js +10 -0
- package/dist/commands/refine/spec-yaml.js.map +1 -1
- package/dist/commands/refresh-knowledge.d.ts +126 -0
- package/dist/commands/refresh-knowledge.d.ts.map +1 -0
- package/dist/commands/refresh-knowledge.js +1010 -0
- package/dist/commands/refresh-knowledge.js.map +1 -0
- package/dist/commands/run-mock/index.d.ts.map +1 -1
- package/dist/commands/run-mock/index.js +135 -22
- package/dist/commands/run-mock/index.js.map +1 -1
- package/dist/commands/testgen/agent.d.ts +13 -0
- package/dist/commands/testgen/agent.d.ts.map +1 -1
- package/dist/commands/testgen/agent.js +137 -11
- package/dist/commands/testgen/agent.js.map +1 -1
- package/dist/commands/upsert-agent-docs.d.ts +48 -0
- package/dist/commands/upsert-agent-docs.d.ts.map +1 -0
- package/dist/commands/upsert-agent-docs.js +298 -0
- package/dist/commands/upsert-agent-docs.js.map +1 -0
- package/dist/commands/vibe/agent.d.ts +7 -0
- package/dist/commands/vibe/agent.d.ts.map +1 -1
- package/dist/commands/vibe/agent.js +2 -2
- package/dist/commands/vibe/agent.js.map +1 -1
- package/dist/commands/vibe/index.d.ts.map +1 -1
- package/dist/commands/vibe/index.js +7 -1
- package/dist/commands/vibe/index.js.map +1 -1
- package/dist/cost-store.d.ts +52 -0
- package/dist/cost-store.d.ts.map +1 -0
- package/dist/cost-store.js +108 -0
- package/dist/cost-store.js.map +1 -0
- package/dist/lib/budget.d.ts +73 -0
- package/dist/lib/budget.d.ts.map +1 -0
- package/dist/lib/budget.js +225 -0
- package/dist/lib/budget.js.map +1 -0
- package/dist/lib/mock-shape.d.ts +29 -0
- package/dist/lib/mock-shape.d.ts.map +1 -0
- package/dist/lib/mock-shape.js +77 -0
- package/dist/lib/mock-shape.js.map +1 -0
- package/dist/lib/read-only.d.ts +22 -0
- package/dist/lib/read-only.d.ts.map +1 -0
- package/dist/lib/read-only.js +34 -0
- package/dist/lib/read-only.js.map +1 -0
- package/package.json +17 -12
package/AGENTS.md
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# slowcook for AI agents
|
|
2
|
+
|
|
3
|
+
You're an AI coding agent (Claude Code, Cursor, etc.) helping a human
|
|
4
|
+
ship features through slowcook. **This doc is the canonical entry
|
|
5
|
+
point.** Read it before running any `slowcook` command.
|
|
6
|
+
|
|
7
|
+
> Forge support today: **GitHub only.** No GitLab/Bitbucket adapter
|
|
8
|
+
> ships yet. If the consumer's repo is on a different forge, slowcook
|
|
9
|
+
> won't run — escalate that to the human.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Decision tree (start here)
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
What is the human asking?
|
|
17
|
+
|
|
18
|
+
├── "set up slowcook on this repo"
|
|
19
|
+
│ ├── greenfield (no src/) → `slowcook init`
|
|
20
|
+
│ └── brownfield (existing src/) → `slowcook init from-prod`
|
|
21
|
+
│ then `slowcook init entities`
|
|
22
|
+
│
|
|
23
|
+
├── "ship a feature / story"
|
|
24
|
+
│ ├── 1. Human files a GitHub issue describing the feature
|
|
25
|
+
│ │ (you may help draft it; final wording is theirs)
|
|
26
|
+
│ ├── 2. `gh workflow run slowcook-refine.yml -f issue=<num>`
|
|
27
|
+
│ │ → refine asks clarifying questions on the issue
|
|
28
|
+
│ ├── 3. Human answers; refine emits a spec PR
|
|
29
|
+
│ ├── 4. Human merges spec PR; vibe + recipe (testgen) workflows
|
|
30
|
+
│ │ auto-dispatch and open mockup + tests PRs
|
|
31
|
+
│ ├── 5. Human merges mockup + tests; `slowcook brew` workflow
|
|
32
|
+
│ │ auto-dispatches and opens a brew PR
|
|
33
|
+
│ ├── 6. If brew halts: chef-drift auto-dispatches; if
|
|
34
|
+
│ │ chef-drift exits 1 in --pr mode the workflow chains
|
|
35
|
+
│ │ to chef-orchestrate (decides redispatch / rebase /
|
|
36
|
+
│ │ escalate / close)
|
|
37
|
+
│ └── 7. All-green brew PR ships
|
|
38
|
+
│
|
|
39
|
+
├── "investigate a bug filed on the consumer's repo"
|
|
40
|
+
│ ├── `slowcook investigate --issue <num>` emits bug-profile
|
|
41
|
+
│ └── then `slowcook recipe --regression` emits a failing test
|
|
42
|
+
│
|
|
43
|
+
├── "audit my codebase for refactors / dead stubs"
|
|
44
|
+
│ ├── `slowcook recon --reuse-scan` near-duplicate components
|
|
45
|
+
│ ├── `slowcook recon --stub-scan` stale @slowcook-stub markers
|
|
46
|
+
│ └── `slowcook refactor` ranks proposals.json
|
|
47
|
+
│
|
|
48
|
+
└── "I'm reproducing a slowcook bug"
|
|
49
|
+
→ read REPORTING.md (or `slowcook docs reporting`)
|
|
50
|
+
→ set SLOWCOOK_READ_ONLY=1 before running anything on
|
|
51
|
+
someone else's repo
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Pipeline at a glance
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
issue
|
|
60
|
+
│
|
|
61
|
+
▼
|
|
62
|
+
refine ────────► spec PR ────────► (merge)
|
|
63
|
+
│
|
|
64
|
+
├──► vibe ────► mockup PR
|
|
65
|
+
│ │
|
|
66
|
+
│ ▼ (merge)
|
|
67
|
+
│
|
|
68
|
+
└──► recipe ────► tests PR
|
|
69
|
+
│
|
|
70
|
+
▼ (merge)
|
|
71
|
+
│
|
|
72
|
+
▼
|
|
73
|
+
port
|
|
74
|
+
│
|
|
75
|
+
▼
|
|
76
|
+
recon (gate)
|
|
77
|
+
│
|
|
78
|
+
▼
|
|
79
|
+
brew ──┐
|
|
80
|
+
│ │
|
|
81
|
+
(halt: AGENT_STALLED, │
|
|
82
|
+
MOCKUP_DESIGN_CONFLICT,│
|
|
83
|
+
MANIFEST_DRIFT, ...) │
|
|
84
|
+
│ │
|
|
85
|
+
▼ │
|
|
86
|
+
chef-drift ─┤
|
|
87
|
+
(exit 1? │
|
|
88
|
+
auto-chains │
|
|
89
|
+
to ...) │
|
|
90
|
+
│ │
|
|
91
|
+
▼ │
|
|
92
|
+
chef-orchestrate
|
|
93
|
+
├── escalate (PM)
|
|
94
|
+
├── close (superseded)
|
|
95
|
+
├── rebase (BEHIND main)
|
|
96
|
+
└── redispatch_brew
|
|
97
|
+
│
|
|
98
|
+
▼
|
|
99
|
+
back to brew or done
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Per-command quick reference
|
|
105
|
+
|
|
106
|
+
All commands accept `--help` for full flag listings. One-line summaries:
|
|
107
|
+
|
|
108
|
+
| Command | What it does | Cost / time |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| `slowcook init` | Scaffold slowcook into a greenfield project (workflows, mock dir, etc.) | $0 / <1 min |
|
|
111
|
+
| `slowcook init from-prod` | Brownfield: emit `mock/` from `src/` per 4-strategy taxonomy | $0 / <1 min |
|
|
112
|
+
| `slowcook init entities` | Walk `supabase/migrations/*.sql` → emit per-table TS interface + zod schema | $0 / seconds |
|
|
113
|
+
| `slowcook init mock` | Add `mock/` skeleton + auto-wire pnpm workspace if applicable | $0 / seconds |
|
|
114
|
+
| `slowcook refine` | Read source issue, ask clarifying questions, emit spec yaml + PR | ~$0.50–1.50 |
|
|
115
|
+
| `slowcook vibe` | Read spec, emit mockup PR (mock-runtime React app) | ~$1–2 |
|
|
116
|
+
| `slowcook plate` | Apply `/plate <instruction>` PR-comment amendments to a mockup PR | ~$0.30–1.50 |
|
|
117
|
+
| `slowcook recipe` | (= `testgen`) emit tier-1 + tier-2 acceptance tests | ~$1–2 |
|
|
118
|
+
| `slowcook port` | Deterministic copy `mock/src/*` → `src/*`, rewrite mock-runtime imports | $0 / seconds |
|
|
119
|
+
| `slowcook recon` | Pre-brew structural backstop (renames + testid gaps + history conflicts + **migration gate** — 0.19.0-α.18). If spec proposes a table/column with no migration covering it, escalates with `missing_migration` gap. Auto-discovers Supabase `*.sql` or TypeORM `*.ts` migrations. | $0 / seconds |
|
|
120
|
+
| `slowcook recon --reuse-scan` | Story-agnostic: flag near-duplicate components/APIs | $0 / seconds |
|
|
121
|
+
| `slowcook recon --stub-scan` | Find `@slowcook-stub` markers older than `--stub-max-age-days` | $0 / seconds |
|
|
122
|
+
| `slowcook brew [--with-navigator]` | Ratcheted implementation loop. `--with-navigator` adds pair-brew (~10–20% cost surcharge) | ~$0.50–3 |
|
|
123
|
+
| `slowcook brew --pair-sim` | Local-only pair-brew simulator (driver+navigator over a fixture) | varies |
|
|
124
|
+
| `slowcook chef --pr <n>` | Classify failing PR (self-fail / external / infra / out-of-date) | $0 (deterministic) |
|
|
125
|
+
| `slowcook chef-drift` | Surgical drift-fixer: triggered on mock-isolation / recon escalation / brew halt | ~$0.05–0.50/move |
|
|
126
|
+
| `slowcook chef-orchestrate --pr <n> --story <id>` | Decide redispatch_brew / rebase / escalate / close on a halted PR | ~$0.01–0.05 |
|
|
127
|
+
| `slowcook investigate --issue <n>` | Diagnose a bug from a GitHub issue, emit bug-profile JSON | ~$1–3 |
|
|
128
|
+
| `slowcook recipe --regression --bug-profile <path>` | Emit failing regression test for a sift'd bug | ~$0.50–1 |
|
|
129
|
+
| `slowcook sift --bug-profile <path>` | Narrow red→green ratchet for a bug fix, bounded by `fix_scope` | ~$0.50–2 |
|
|
130
|
+
| `slowcook refactor` | Read `.brewing/refactor/proposals.json`, rank by benefit/cost | $0 |
|
|
131
|
+
| `slowcook garnish` | Local commit-gate for human tweaks on agent work — runs scoped tests, commits with `Tweaks-output-of:` trailers (learning signal for the upstream agent) | $0 |
|
|
132
|
+
| `slowcook run-mock <story> --garnish` | DevTools Workspaces flow — boots mock locally, disables overlay, prints Chrome pairing instructions, auto-watches saves + auto-commits via garnish on green | $0 (per-commit; LLM only if test infra needs one) |
|
|
133
|
+
| `slowcook eval --all` | Prompt-regression gate: replay each frozen fixture's prompt builder + assert substring contracts. Wired in `eval-gate.yml` on prompt PRs. See `CONTRIBUTING.md` for fixture format. | $0 / seconds |
|
|
134
|
+
| `slowcook docs <topic>` | Print bundled doc (`reporting`, `agents`, `read-only`) | $0 |
|
|
135
|
+
| `slowcook help` | List all commands | $0 |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Pitfalls memory (read this — saves real money + time)
|
|
140
|
+
|
|
141
|
+
These are empirical lessons from the consumer dogfood. Treat them as
|
|
142
|
+
non-negotiable defaults unless the user specifically overrides.
|
|
143
|
+
|
|
144
|
+
### Publishing / packaging
|
|
145
|
+
|
|
146
|
+
- **Always `pnpm publish`, never `npm publish`.** npm leaves
|
|
147
|
+
`workspace:^` unresolved → consumers hit `EUNSUPPORTEDPROTOCOL`. Use
|
|
148
|
+
`pnpm publish --tag alpha --no-git-checks` (or whichever tag).
|
|
149
|
+
- **Build before publish, every time.** `prepublishOnly: tsc -b` is
|
|
150
|
+
the guard but verify `dist/` is fresh. Stale dist has shipped before.
|
|
151
|
+
- **Update README / CHANGELOG every point release.** Status table, line
|
|
152
|
+
per release. Don't accumulate undocumented alphas.
|
|
153
|
+
|
|
154
|
+
### pnpm + Next.js
|
|
155
|
+
|
|
156
|
+
- For consumers using Next.js + pnpm workspace, set `node-linker=hoisted`
|
|
157
|
+
in `.npmrc`. Default symlink layout breaks Next 16's turbopack root
|
|
158
|
+
inference (`couldn't find next/package.json from project directory`).
|
|
159
|
+
- `slowcook init mock` auto-wires the workspace when it detects pnpm.
|
|
160
|
+
npm/yarn consumers see a recommendation, not auto-migration (lockfile
|
|
161
|
+
re-resolution risk).
|
|
162
|
+
|
|
163
|
+
### Chef stack
|
|
164
|
+
|
|
165
|
+
- **Chef never edits `tests/`, `vitest.config.*`, or `.brewing/auto-gen/`.**
|
|
166
|
+
These are frozen. If the only fix requires a test edit, chef returns
|
|
167
|
+
`pm_question`.
|
|
168
|
+
- **Chef-drift uses `search_replace` only**, never full-file regeneration.
|
|
169
|
+
Find string must appear exactly once in target.
|
|
170
|
+
- **Chef-orchestrate prefers `escalate` on ties.** PM is the safety valve.
|
|
171
|
+
|
|
172
|
+
### Brew
|
|
173
|
+
|
|
174
|
+
- **Brew can't fix test infrastructure.** If the failure is in
|
|
175
|
+
`vitest.config.*` or `tests/_setup/`, brew will halt repeatedly. The
|
|
176
|
+
fix is upstream in slowcook, not in the consumer's code.
|
|
177
|
+
- **`--with-navigator` adds 10–20% spend** (a navigator LLM call per
|
|
178
|
+
iteration). Skip it on simple stories; use it when soft-prompt steering
|
|
179
|
+
needs hardening.
|
|
180
|
+
|
|
181
|
+
### Refine + spec
|
|
182
|
+
|
|
183
|
+
- **PM intent in the issue body + first refine answer is contractual.**
|
|
184
|
+
Refine cannot silently weaken (e.g., "similar to feed" → "emoji is a
|
|
185
|
+
later concern" is forbidden). Only an explicit later PM comment can.
|
|
186
|
+
- **Side-effects audit (0.18+):** when refine detects contradiction with
|
|
187
|
+
a prior story, it enumerates the exact assertions that would need to
|
|
188
|
+
flip. PM reviews granularly.
|
|
189
|
+
|
|
190
|
+
### Workflows
|
|
191
|
+
|
|
192
|
+
- **Self-hosted runners need `gh` CLI.** Slowcook's chef-drift workflow
|
|
193
|
+
installs it via the no-sudo binary. If you write a new workflow, add
|
|
194
|
+
the same step.
|
|
195
|
+
- **Chef-drift exit 1 auto-chains to chef-orchestrate** in the
|
|
196
|
+
reference consumer-side workflow shape. Mirror this if you wire your own.
|
|
197
|
+
|
|
198
|
+
### When something goes wrong
|
|
199
|
+
|
|
200
|
+
- **Read [REPORTING.md](./REPORTING.md)** (or `slowcook docs reporting`)
|
|
201
|
+
before filing a bug. Don't bundle artifacts; share URLs.
|
|
202
|
+
- **Use `SLOWCOOK_READ_ONLY=1`** when reproducing a bug on someone else's
|
|
203
|
+
repo. Blocks every GitHub-side write.
|
|
204
|
+
|
|
205
|
+
### Local-developer flow (alternative to the remote overlay)
|
|
206
|
+
|
|
207
|
+
- **`slowcook garnish`** is the right command when you (or another
|
|
208
|
+
engineer) edits files on top of an agent's commit. It runs the
|
|
209
|
+
relevant tests, commits on green with trailers that record which
|
|
210
|
+
upstream agent's work you tweaked. Don't `git commit` by hand on
|
|
211
|
+
top of agent work — you lose the learning-signal trailer.
|
|
212
|
+
- **`slowcook run-mock <story> --garnish`** is the right command if
|
|
213
|
+
you want to edit the mock app via Chrome DevTools Workspaces.
|
|
214
|
+
It prints the one-time Chrome setup, then auto-garnishes on save.
|
|
215
|
+
The remote overlay is disabled in this mode — they're alternative
|
|
216
|
+
feedback channels, not stacked.
|
|
217
|
+
|
|
218
|
+
### CI/CD posture (2026-05-12)
|
|
219
|
+
|
|
220
|
+
- `main` is branch-protected: no force-push, no deletion. Admin
|
|
221
|
+
bypass is on, so solo merges still work. When you arrive as a
|
|
222
|
+
contributor, expect PR + 1 approval to land.
|
|
223
|
+
- Dependabot opens weekly grouped PRs (anthropic / vitest /
|
|
224
|
+
typescript / testing) and monthly GitHub Actions version PRs.
|
|
225
|
+
Auto-merge is OFF; everything goes through a human glance.
|
|
226
|
+
- Open ops backlog lives at [`docs/plans/ci-cd-roadmap.md`](./docs/plans/ci-cd-roadmap.md).
|
|
227
|
+
Two HIGH items are filed as GitHub issues; the rest are queued
|
|
228
|
+
in the doc until they become pressing.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## What to read next
|
|
233
|
+
|
|
234
|
+
- [README.md](./README.md) — the marketing overview + status table
|
|
235
|
+
- [REPORTING.md](./REPORTING.md) — how to file a slowcook bug
|
|
236
|
+
- [docs/plans/](./docs/plans/) — the roadmap / design docs (if a story
|
|
237
|
+
references one, read it before running the agent)
|
|
238
|
+
|
|
239
|
+
If anything in this doc is wrong or outdated, file a slowcook issue
|
|
240
|
+
following the REPORTING.md recipe.
|
package/REPORTING.md
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Reporting a slowcook bug
|
|
2
|
+
|
|
3
|
+
Slowcook runs across several agents (refine / vibe / plate / testgen /
|
|
4
|
+
brew / chef / recon) and several surfaces (issues, PRs, workflow logs,
|
|
5
|
+
artifacts). When something goes wrong, the maintainer needs the full
|
|
6
|
+
reproduction context — but **we deliberately don't accept artifact
|
|
7
|
+
uploads or "report bundles."** Real-data fragments (database rows,
|
|
8
|
+
user emails, draft spec text) often live inside slowcook prompts; a
|
|
9
|
+
bundler is hard to verify against secret leakage. Instead we lean on
|
|
10
|
+
GitHub-native surfaces that you control.
|
|
11
|
+
|
|
12
|
+
> **Forge support today: GitHub only.** Slowcook's `forge` adapter
|
|
13
|
+
> currently has one implementation: `@slowcook-ai/forge-github`. GitLab,
|
|
14
|
+
> Bitbucket, etc. are architecturally possible (the core defines a
|
|
15
|
+
> `ForgeAdapter` interface) but no other adapter is published. If your
|
|
16
|
+
> consumer repo lives on GitLab, slowcook won't run today.
|
|
17
|
+
|
|
18
|
+
This doc covers how to file a bug for both **public OSS repos** and
|
|
19
|
+
**private repos** (both on GitHub).
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## OSS / public repos (default path)
|
|
24
|
+
|
|
25
|
+
If your repo is public + Actions logs are public (the default),
|
|
26
|
+
**share four URLs** in a slowcook GitHub issue:
|
|
27
|
+
|
|
28
|
+
1. **Source-issue URL** — the issue that started the story (e.g.,
|
|
29
|
+
`https://github.com/<you>/<repo>/issues/149`). This carries the
|
|
30
|
+
full refine Q&A trail + every agent's `slowcook:cost` markers
|
|
31
|
+
for the story.
|
|
32
|
+
2. **PR URL(s)** — whichever slowcook-bot PRs are involved
|
|
33
|
+
(`/spec/`, `/mockup/`, `/tests/`, `/brew/`).
|
|
34
|
+
3. **Workflow run URL** — the specific failed run (e.g.,
|
|
35
|
+
`https://github.com/<you>/<repo>/actions/runs/25381565696`).
|
|
36
|
+
Logs are public; artifacts (`.brewing/chef/`, `.brewing/chef-drift-input/`,
|
|
37
|
+
etc.) are downloadable.
|
|
38
|
+
4. **What you expected vs. what happened** — one-paragraph summary.
|
|
39
|
+
|
|
40
|
+
That's it. Maintainer reads the workflow log + downloads artifacts
|
|
41
|
+
without needing any access from you.
|
|
42
|
+
|
|
43
|
+
### Reproducing locally
|
|
44
|
+
|
|
45
|
+
You can reproduce the exact LLM input chef-drift saw by:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# 1. Download the chef-drift artifact from the failing run
|
|
49
|
+
gh run download <run-id> -n chef-drift-story-<id> -D /tmp/chef-drift-repro
|
|
50
|
+
|
|
51
|
+
# 2. Re-dispatch chef-drift locally with the captured input
|
|
52
|
+
cd <your-repo>
|
|
53
|
+
ANTHROPIC_API_KEY=... slowcook chef-drift \
|
|
54
|
+
--story <id> \
|
|
55
|
+
--trigger brew_halt_class \
|
|
56
|
+
--trigger-detail "..." \
|
|
57
|
+
--trigger-raw /tmp/chef-drift-repro/halt-trigger.json \
|
|
58
|
+
--dry-run
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Same input → same prompt → reproducible LLM output (modulo
|
|
62
|
+
inherent stochasticity, which Anthropic's `temperature=0` minimises).
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Private repos
|
|
67
|
+
|
|
68
|
+
If your repo is private, neither logs nor artifacts are visible to
|
|
69
|
+
the slowcook maintainer. Two options:
|
|
70
|
+
|
|
71
|
+
### Preferred: read-only triage role for the duration of the bug
|
|
72
|
+
|
|
73
|
+
In your GitHub repo settings → Collaborators → add **`@aminazar`**
|
|
74
|
+
(slowcook's maintainer today; check the [repo](https://github.com/aminazar/slowcook)
|
|
75
|
+
for the current owner) as a **Triage** role. That gives them:
|
|
76
|
+
|
|
77
|
+
- Read access to source, PRs, issues, workflow logs, artifacts
|
|
78
|
+
- No ability to push, merge, change settings, or run actions
|
|
79
|
+
|
|
80
|
+
When the bug is resolved (or after a fixed window — 7 days is a
|
|
81
|
+
reasonable default), revoke. @aminazar doesn't expect indefinite
|
|
82
|
+
access.
|
|
83
|
+
|
|
84
|
+
### Fallback: scoped read-only PAT
|
|
85
|
+
|
|
86
|
+
If you'd rather not add a collaborator, generate a fine-grained
|
|
87
|
+
Personal Access Token with **read-only** scope on **just that one
|
|
88
|
+
repo** + only the permissions slowcook needs:
|
|
89
|
+
|
|
90
|
+
- `Contents: Read`
|
|
91
|
+
- `Issues: Read`
|
|
92
|
+
- `Pull requests: Read`
|
|
93
|
+
- `Actions: Read`
|
|
94
|
+
|
|
95
|
+
Share via 1Password or a similar trusted channel. Maintainer uses it
|
|
96
|
+
for the bug investigation only + revokes when done.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## What slowcook does NOT accept
|
|
101
|
+
|
|
102
|
+
- **Artifact uploads / log bundles via email or chat.** Real-data
|
|
103
|
+
fragments live inside agent prompts (a brew agent's prompt
|
|
104
|
+
includes test fixture rows that may have realistic-looking user
|
|
105
|
+
emails; a refine agent's prompt includes the spec body). A
|
|
106
|
+
bundler can't verifiably scrub these. We won't accept the risk.
|
|
107
|
+
- **Auto-telemetry.** No slowcook command phones home or sends usage
|
|
108
|
+
data to the maintainer. Cost / activity is visible to YOU via the
|
|
109
|
+
`slowcook:cost` markers on your own GitHub issues + PRs;
|
|
110
|
+
aggregating it for someone else is your call, not ours.
|
|
111
|
+
- **Direct API key sharing.** If a bug needs the maintainer to
|
|
112
|
+
re-run an agent live (rare), they can run it under their own
|
|
113
|
+
ANTHROPIC_API_KEY — never yours.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Cost-marker recipe (handy for bug reports)
|
|
118
|
+
|
|
119
|
+
Every agent in the slowcook pipeline emits an HTML cost marker on
|
|
120
|
+
its comments. To see what your story cost / which agent did what:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
gh issue view <issue-num> --comments | grep "slowcook:cost"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Output looks like:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
<!-- slowcook:cost agent=refine usd=0.4630 round=questions ... -->
|
|
130
|
+
<!-- slowcook:cost agent=refine usd=0.6514 round=spec ... -->
|
|
131
|
+
<!-- slowcook:cost agent=testgen usd=0.6134 ... -->
|
|
132
|
+
<!-- slowcook:cost agent=brew usd=0.6291 iterations=3 halted=AGENT_STALLED_NO_EDITS ... -->
|
|
133
|
+
<!-- slowcook:cost agent=chef-drift usd=0.0123 decision=halt move=1 ... -->
|
|
134
|
+
<!-- slowcook:cost agent=chef-orchestrate usd=0.0123 kind=close pr=153 ... -->
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
When filing a bug, you can paste the relevant markers directly into
|
|
138
|
+
the issue — they're machine-readable + identify the involved agent
|
|
139
|
+
without any custom bundling.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Where to file
|
|
144
|
+
|
|
145
|
+
- **Public bug reports**: <https://github.com/aminazar/slowcook/issues>.
|
|
146
|
+
The bug-report issue template (auto-applied when you click "New issue")
|
|
147
|
+
asks for the four URLs the maintainer needs.
|
|
148
|
+
- **Private bug reports** (when artifacts can't be public): same repo,
|
|
149
|
+
**but file a public issue** with the description + your reproduction
|
|
150
|
+
arrangement. Don't paste private logs into a public issue. The
|
|
151
|
+
maintainer responds with the access path that works for your setup.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## What you'll see when a fix ships
|
|
156
|
+
|
|
157
|
+
When the maintainer ships a fix in a new alpha (e.g., `cli@0.19.0-alpha.X`),
|
|
158
|
+
expect a comment on your bug issue along these lines:
|
|
159
|
+
|
|
160
|
+
> Fixed in `cli@0.19.0-alpha.X`. Bump your `.brewing/slowcook-cli-version`
|
|
161
|
+
> and re-run. Close this issue if resolved; comment if not.
|
|
162
|
+
>
|
|
163
|
+
> `<!-- slowcook:fix-notice cli=0.19.0-alpha.X issue=N -->`
|
|
164
|
+
|
|
165
|
+
The issue stays **open** until you confirm the fix worked. You close it.
|
|
166
|
+
That gives the maintainer signal that the fix actually landed in your
|
|
167
|
+
context — not just in slowcook's own test suite.
|
|
168
|
+
|
|
169
|
+
If the fix didn't work, comment on the issue with what's still broken.
|
|
170
|
+
The maintainer reopens (if you closed) or continues debugging.
|
|
171
|
+
|
|
172
|
+
## Triage labels
|
|
173
|
+
|
|
174
|
+
The slowcook repo uses a small label set so you can filter for what's
|
|
175
|
+
actionable:
|
|
176
|
+
|
|
177
|
+
| Label | Meaning |
|
|
178
|
+
|---|---|
|
|
179
|
+
| `bug` | Confirmed bug. Auto-applied by the issue template. |
|
|
180
|
+
| `needs-info` | Maintainer needs more context (additional URL, runner output, etc.). |
|
|
181
|
+
| `confirmed` | Maintainer reproduced; working on a fix. |
|
|
182
|
+
| `regression-test-pending` | Fix landed but the regression test is still TODO. |
|
|
183
|
+
| `fixed-in-α.X` | Fix shipped in `cli@0.19.0-alpha.X`. Reporter to confirm + close. |
|
|
184
|
+
| `blocked-on-anthropic` | Bug is in the Anthropic API / SDK, not slowcook. |
|
|
185
|
+
| `wont-fix` | Out of scope or incompatible with architectural intent. |
|
|
186
|
+
|
|
187
|
+
Filter via GitHub's issue search, e.g.:
|
|
188
|
+
`gh issue list --repo aminazar/slowcook --label "fixed-in-α.13"`
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
*This doc is intentionally short. Read [AGENTS.md](./AGENTS.md) for
|
|
193
|
+
the slowcook architecture overview.*
|
package/dist/cli.js
CHANGED
|
@@ -28,6 +28,13 @@ import { recon } from "./commands/recon/index.js";
|
|
|
28
28
|
import { runMock } from "./commands/run-mock/index.js";
|
|
29
29
|
import { dispatch } from "./commands/dispatch/index.js";
|
|
30
30
|
import { fixtures } from "./commands/fixtures/index.js";
|
|
31
|
+
import { refreshKnowledge } from "./commands/refresh-knowledge.js";
|
|
32
|
+
import { upsertAgentDocs } from "./commands/upsert-agent-docs.js";
|
|
33
|
+
import { knowledgeAdd } from "./commands/knowledge-add.js";
|
|
34
|
+
import { evalCmd } from "./commands/eval/index.js";
|
|
35
|
+
import { devEnv } from "./commands/dev-env/index.js";
|
|
36
|
+
import { budget } from "./commands/budget/index.js";
|
|
37
|
+
import { brand } from "./commands/brand/index.js";
|
|
31
38
|
// Read VERSION from package.json at runtime so the CLI's self-reported
|
|
32
39
|
// version, the spec's `refined_by` field, and the init template's workflow
|
|
33
40
|
// pin all stay in lockstep with the package version. Prevents the silent
|
|
@@ -69,6 +76,10 @@ Usage:
|
|
|
69
76
|
slowcook run-mock <story-id> [--no-poll] [--poll-seconds <n>] [--branch <ref>]
|
|
70
77
|
slowcook dispatch <step> [inputs...]
|
|
71
78
|
slowcook fixtures check [--max-age-days <n>] [--story <id>]
|
|
79
|
+
slowcook eval (--all | --fixture <id> | --list) [--fixtures-dir <path>]
|
|
80
|
+
slowcook dev-env (push|switch|up|sync|reset) [--story <id>] [--branch <name>]
|
|
81
|
+
slowcook budget [show|set|rm] [--monthly <usd>] [--start-day <1-31>] [--story <usd>] [--cwd <path>]
|
|
82
|
+
slowcook brand [--brief <prose>] [--refresh] [--dry-run] [--model <id>] [--cwd <path>]
|
|
72
83
|
slowcook version
|
|
73
84
|
slowcook help
|
|
74
85
|
|
|
@@ -87,6 +98,7 @@ Commands available in ${VERSION}:
|
|
|
87
98
|
chef-drift (0.18.0-α.9 L1) Surgical drift-fixer. Triggered by mock-isolation / recon / brew / navigator halts.
|
|
88
99
|
chef-orchestrate (0.19.0-α.2 L3) Pipeline orchestrator. Decides redispatch_brew / rebase / escalate / close on a halted PR.
|
|
89
100
|
refactor (0.19.0-α.7) Rank refactor proposals by benefit/cost. Reads .brewing/refactor/proposals.json.
|
|
101
|
+
garnish (0.19.0-α.15) Local commit-gate for human tweaks on agent work. Runs tests, commits with learning-signal trailers.
|
|
90
102
|
catchup Detect + run pipeline steps that should have triggered but didn't.
|
|
91
103
|
brew Ratcheted implementation loop: flip red tests to green for one story.
|
|
92
104
|
map Generate / check the repo-wide code map (APIs, pages, components, helpers, types).
|
|
@@ -99,6 +111,8 @@ Commands available in ${VERSION}:
|
|
|
99
111
|
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.
|
|
100
112
|
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.
|
|
101
113
|
dispatch Trigger a slowcook GitHub Actions workflow remotely (brew / testgen / refine).
|
|
114
|
+
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.
|
|
115
|
+
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.
|
|
102
116
|
|
|
103
117
|
Coming in later versions:
|
|
104
118
|
review, dashboard
|
|
@@ -121,6 +135,22 @@ async function main() {
|
|
|
121
135
|
case "refine":
|
|
122
136
|
await refine(args.slice(1), VERSION);
|
|
123
137
|
return;
|
|
138
|
+
case "refresh-knowledge":
|
|
139
|
+
await refreshKnowledge(args.slice(1));
|
|
140
|
+
return;
|
|
141
|
+
case "upsert-agent-docs":
|
|
142
|
+
await upsertAgentDocs(args.slice(1));
|
|
143
|
+
return;
|
|
144
|
+
case "knowledge": {
|
|
145
|
+
// `slowcook knowledge add <agent> "<claim>" [...]`
|
|
146
|
+
const sub = args[1];
|
|
147
|
+
if (sub === "add") {
|
|
148
|
+
await knowledgeAdd(args.slice(2));
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
console.error(`unknown knowledge subcommand: ${sub ?? "(none)"}. try \`slowcook knowledge add --help\``);
|
|
152
|
+
process.exit(64);
|
|
153
|
+
}
|
|
124
154
|
case "on-spec-merged":
|
|
125
155
|
await onSpecMerged(args.slice(1));
|
|
126
156
|
return;
|
|
@@ -229,6 +259,27 @@ async function main() {
|
|
|
229
259
|
await refactor(args.slice(1), VERSION);
|
|
230
260
|
return;
|
|
231
261
|
}
|
|
262
|
+
case "docs":
|
|
263
|
+
// 0.19.0-α.13 — `slowcook docs <topic>` prints bundled docs.
|
|
264
|
+
// Useful when an agent / maintainer is on a fresh box without a
|
|
265
|
+
// cloned slowcook repo. Topics: reporting, agents, read-only.
|
|
266
|
+
{
|
|
267
|
+
const { docs } = await import("./commands/docs/index.js");
|
|
268
|
+
await docs(args.slice(1), VERSION);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
case "garnish":
|
|
272
|
+
// 0.19.0-α.15 — local commit-gate for human (or other-agent)
|
|
273
|
+
// tweaks layered on top of an agent's work. Detects uncommitted
|
|
274
|
+
// changes, runs scoped tests, commits with Tweaks-output-of:
|
|
275
|
+
// trailers marking each agent-authored file the tweak touched.
|
|
276
|
+
// A future `slowcook reflect` mines these trailers for learning
|
|
277
|
+
// signal (eval-set fixtures, prompt-amendment candidates).
|
|
278
|
+
{
|
|
279
|
+
const { garnish } = await import("./commands/garnish/index.js");
|
|
280
|
+
await garnish(args.slice(1), VERSION);
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
232
283
|
case "vibe":
|
|
233
284
|
// 0.15.0-α.1 — design-first mockup generator (plate-pipeline α.1).
|
|
234
285
|
// Reads spec + brownfield extracts + code-map; emits a runnable
|
|
@@ -276,6 +327,33 @@ async function main() {
|
|
|
276
327
|
case "fixtures":
|
|
277
328
|
await fixtures(args.slice(1));
|
|
278
329
|
return;
|
|
330
|
+
case "eval":
|
|
331
|
+
// 0.19.0-α.17 (closes #19 partially) — prompt-regression gate.
|
|
332
|
+
// Loads frozen fixtures + replays each agent's prompt builder +
|
|
333
|
+
// asserts substring contracts. CI workflow guards prompt-PRs
|
|
334
|
+
// against silent context drops.
|
|
335
|
+
await evalCmd(args.slice(1));
|
|
336
|
+
return;
|
|
337
|
+
case "dev-env":
|
|
338
|
+
// 0.19.0-α.21 (dev-env Phase 2) — long-lived preview env on
|
|
339
|
+
// a shared branch. push/switch implemented; up/sync/reset stub
|
|
340
|
+
// print canonical shell-outs for now.
|
|
341
|
+
await devEnv(args.slice(1));
|
|
342
|
+
return;
|
|
343
|
+
case "budget":
|
|
344
|
+
// 0.19.0-α.35 (sc#66 follow-up) — manage .brewing/budget.yaml.
|
|
345
|
+
// No args = show current config + month-to-date spend. `set
|
|
346
|
+
// --monthly N` writes; `rm` deletes (disables the fuel gauge).
|
|
347
|
+
await budget(args.slice(1));
|
|
348
|
+
return;
|
|
349
|
+
case "brand":
|
|
350
|
+
// 0.19.0-α.40 (sc#82 Phase 4) — design-system foundation agent.
|
|
351
|
+
// Runs once per consumer (or on --refresh) to populate
|
|
352
|
+
// mock/src/design-system/{tokens.ts, css.ts} from a brand brief.
|
|
353
|
+
// Vibe/plate/brew inherit these tokens; no more shadcn-default
|
|
354
|
+
// drift when the consumer has a real brand.
|
|
355
|
+
await brand(args.slice(1), VERSION);
|
|
356
|
+
return;
|
|
279
357
|
case "version":
|
|
280
358
|
case "--version":
|
|
281
359
|
case "-v":
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const BrandConfigSchema: z.ZodObject<{
|
|
3
|
+
schema_version: z.ZodLiteral<1>;
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
description: z.ZodString;
|
|
6
|
+
palette_hint: z.ZodOptional<z.ZodString>;
|
|
7
|
+
languages: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
8
|
+
colors: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
primary: z.ZodOptional<z.ZodString>;
|
|
10
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, z.core.$strip>>;
|
|
12
|
+
fonts_hint: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type BrandConfig = z.infer<typeof BrandConfigSchema>;
|
|
15
|
+
interface BrandArgs {
|
|
16
|
+
cwd: string;
|
|
17
|
+
refresh: boolean;
|
|
18
|
+
dryRun: boolean;
|
|
19
|
+
briefInline: string | undefined;
|
|
20
|
+
model: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function loadBrandConfig(repoRoot: string): BrandConfig | null;
|
|
23
|
+
export declare function buildProjectContext(repoRoot: string, args: BrandArgs): string;
|
|
24
|
+
export declare function brand(argv: string[], _cliVersion: string): Promise<void>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/brand/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;iBAiBrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAoED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAWpE;AAcD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA6B7E;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG9E"}
|