@slowcook-ai/cli 0.21.2 → 0.22.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 +5 -0
- package/README.md +8 -4
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/brand/index.d.ts.map +1 -1
- package/dist/commands/brand/index.js +18 -8
- package/dist/commands/brand/index.js.map +1 -1
- package/dist/commands/eye/index.d.ts.map +1 -1
- package/dist/commands/eye/index.js +16 -6
- package/dist/commands/eye/index.js.map +1 -1
- package/dist/commands/eye/plan.d.ts +41 -6
- package/dist/commands/eye/plan.d.ts.map +1 -1
- package/dist/commands/eye/plan.js +52 -9
- package/dist/commands/eye/plan.js.map +1 -1
- package/dist/commands/eye/run.d.ts +17 -1
- package/dist/commands/eye/run.d.ts.map +1 -1
- package/dist/commands/eye/run.js +38 -6
- package/dist/commands/eye/run.js.map +1 -1
- package/dist/commands/greenfield/index.d.ts.map +1 -1
- package/dist/commands/greenfield/index.js +33 -3
- package/dist/commands/greenfield/index.js.map +1 -1
- package/dist/commands/greenfield/status.d.ts +26 -5
- package/dist/commands/greenfield/status.d.ts.map +1 -1
- package/dist/commands/greenfield/status.js +28 -9
- package/dist/commands/greenfield/status.js.map +1 -1
- package/dist/commands/menu/assemble.d.ts.map +1 -1
- package/dist/commands/menu/assemble.js +6 -0
- package/dist/commands/menu/assemble.js.map +1 -1
- package/dist/commands/menu/index.d.ts.map +1 -1
- package/dist/commands/menu/index.js +42 -14
- package/dist/commands/menu/index.js.map +1 -1
- package/dist/commands/reconcile/index.d.ts +2 -0
- package/dist/commands/reconcile/index.d.ts.map +1 -0
- package/dist/commands/reconcile/index.js +171 -0
- package/dist/commands/reconcile/index.js.map +1 -0
- package/dist/commands/refine/spec-yaml.d.ts +26 -0
- package/dist/commands/refine/spec-yaml.d.ts.map +1 -1
- package/dist/commands/refine/spec-yaml.js +64 -3
- package/dist/commands/refine/spec-yaml.js.map +1 -1
- package/dist/commands/trace/check.d.ts +72 -0
- package/dist/commands/trace/check.d.ts.map +1 -1
- package/dist/commands/trace/check.js +93 -0
- package/dist/commands/trace/check.js.map +1 -1
- package/dist/commands/trace/index.d.ts +5 -0
- package/dist/commands/trace/index.d.ts.map +1 -1
- package/dist/commands/trace/index.js +183 -7
- package/dist/commands/trace/index.js.map +1 -1
- package/dist/commands/upsert-agent-docs.d.ts.map +1 -1
- package/dist/commands/upsert-agent-docs.js +11 -0
- package/dist/commands/upsert-agent-docs.js.map +1 -1
- package/dist/commands/vibe/app-gen.d.ts +43 -0
- package/dist/commands/vibe/app-gen.d.ts.map +1 -0
- package/dist/commands/vibe/app-gen.js +512 -0
- package/dist/commands/vibe/app-gen.js.map +1 -0
- package/dist/commands/vibe/index.d.ts.map +1 -1
- package/dist/commands/vibe/index.js +287 -2
- package/dist/commands/vibe/index.js.map +1 -1
- package/dist/commands/vibe/lcr-plan.d.ts +125 -0
- package/dist/commands/vibe/lcr-plan.d.ts.map +1 -0
- package/dist/commands/vibe/lcr-plan.js +155 -0
- package/dist/commands/vibe/lcr-plan.js.map +1 -0
- package/dist/commands/vibe/schema-gen.d.ts +52 -0
- package/dist/commands/vibe/schema-gen.d.ts.map +1 -0
- package/dist/commands/vibe/schema-gen.js +205 -0
- package/dist/commands/vibe/schema-gen.js.map +1 -0
- package/dist/commands.manifest.d.ts.map +1 -1
- package/dist/commands.manifest.js +10 -4
- package/dist/commands.manifest.js.map +1 -1
- package/package.json +7 -7
|
@@ -11,10 +11,17 @@
|
|
|
11
11
|
* `slowcook plate` command (α.3); vibe is single-shot.
|
|
12
12
|
*/
|
|
13
13
|
import { execSync } from "node:child_process";
|
|
14
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
15
|
-
import { join } from "node:path";
|
|
14
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
15
|
+
import { join, resolve } from "node:path";
|
|
16
16
|
import { GitHubAdapter } from "@slowcook-ai/forge-github";
|
|
17
17
|
import { runVibe } from "./agent.js";
|
|
18
|
+
import { listActiveSpecs } from "../refine/spec-yaml.js";
|
|
19
|
+
import { compileLcrPlan } from "./lcr-plan.js";
|
|
20
|
+
import { compileDrizzleSchema, compileSqliteDdl, dbBootstrapTs } from "./schema-gen.js";
|
|
21
|
+
import { generateLcrApp, mockYaml } from "./app-gen.js";
|
|
22
|
+
import { loadMockShapeConfig } from "../../lib/mock-shape.js";
|
|
23
|
+
import { basename } from "node:path";
|
|
24
|
+
import { AnthropicClient, SEED_SYSTEM, ADAPTOR_SYSTEM, formatCostFooter } from "@slowcook-ai/llm-anthropic";
|
|
18
25
|
function parseArgs(argv) {
|
|
19
26
|
const args = {
|
|
20
27
|
specId: "",
|
|
@@ -297,6 +304,25 @@ function walkComponents(dir, acc = []) {
|
|
|
297
304
|
return acc;
|
|
298
305
|
}
|
|
299
306
|
export async function vibe(argv, cliVersion) {
|
|
307
|
+
// `slowcook vibe plan` — deterministic, no LLM. Compile all specs into the
|
|
308
|
+
// whole-app LCR plan (data model + route/persona map + coverage). The spine
|
|
309
|
+
// the schema/seed/surface generation passes hang off.
|
|
310
|
+
if (argv[0] === "plan")
|
|
311
|
+
return runPlan(argv.slice(1));
|
|
312
|
+
// `slowcook vibe schema` — deterministic, no LLM. Generate the LCR data
|
|
313
|
+
// adaptor's Drizzle schema from the plan's data model (the first gen pass).
|
|
314
|
+
if (argv[0] === "schema")
|
|
315
|
+
return runSchema(argv.slice(1));
|
|
316
|
+
// `slowcook vibe seed` — the seed + adaptor pass. Deterministic runtime
|
|
317
|
+
// (ddl.ts + db.ts: real in-browser SQLite) + LLM seed.ts (dense data) +
|
|
318
|
+
// LLM queries.ts (the typed query adaptor / mock→prod swap seam).
|
|
319
|
+
if (argv[0] === "seed")
|
|
320
|
+
return runSeed(argv.slice(1));
|
|
321
|
+
// `slowcook vibe app` — deterministic, no LLM. Scaffold the runnable, navigable
|
|
322
|
+
// LCR app (Vite + router + persona shell + a stub page per route) from the plan,
|
|
323
|
+
// and set review_mode: lcr. The LLM `vibe surfaces` pass fills the page bodies.
|
|
324
|
+
if (argv[0] === "app")
|
|
325
|
+
return runApp(argv.slice(1));
|
|
300
326
|
const args = parseArgs(argv);
|
|
301
327
|
const anthropicApiKey = process.env["ANTHROPIC_API_KEY"];
|
|
302
328
|
if (!anthropicApiKey) {
|
|
@@ -458,4 +484,263 @@ issueRef) {
|
|
|
458
484
|
out.push(`\n<!-- slowcook:cost agent=vibe usd=${spendUsd.toFixed(4)} model=claude-opus-4-7 cli=${cliVersion} -->`);
|
|
459
485
|
return out.join("\n");
|
|
460
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* `slowcook vibe plan` — compile all active specs into the whole-app LCR plan and
|
|
489
|
+
* print it (data model + persona/route map + coverage). Writes the machine form
|
|
490
|
+
* to `.brewing/lcr-plan.json` for the generation passes. Deterministic, no LLM.
|
|
491
|
+
*/
|
|
492
|
+
/** Compile the LCR plan from the repo's active specs (shared by plan + schema). */
|
|
493
|
+
function loadPlan(cwd) {
|
|
494
|
+
const specs = listActiveSpecs(cwd);
|
|
495
|
+
if (specs.length === 0)
|
|
496
|
+
return null;
|
|
497
|
+
const planSpecs = specs.map((s) => ({
|
|
498
|
+
storyId: s.story_id,
|
|
499
|
+
entities: (s.data_contract?.entities ?? []).map((e) => ({
|
|
500
|
+
name: e.name,
|
|
501
|
+
fields: (e.fields ?? []).map((f) => ({ name: f.name, type: f.type })),
|
|
502
|
+
relations: e.relations,
|
|
503
|
+
})),
|
|
504
|
+
actors: (s.actors ?? []).map((a) => ({ name: a.name })),
|
|
505
|
+
persona: s.persona,
|
|
506
|
+
surfaces: s.surfaces,
|
|
507
|
+
epic: s.epic ?? readableAnchor(s.prd_ref?.anchor),
|
|
508
|
+
title: s.title,
|
|
509
|
+
acceptanceScenarios: s.acceptance_scenarios,
|
|
510
|
+
}));
|
|
511
|
+
return compileLcrPlan(planSpecs);
|
|
512
|
+
}
|
|
513
|
+
/** Derive a readable Epic label from a PRD anchor slug when the spec has no
|
|
514
|
+
* explicit `epic` — strips the common heading prefixes and title-cases the rest.
|
|
515
|
+
* "surface-founder-onboarding" → "Founder Onboarding". Falls back to "General". */
|
|
516
|
+
function readableAnchor(anchor) {
|
|
517
|
+
if (!anchor)
|
|
518
|
+
return "General";
|
|
519
|
+
const stripped = anchor.replace(/^(surfaces?|personas?|sections?|epic)-/i, "");
|
|
520
|
+
const words = stripped.split(/[-_]+/).filter(Boolean);
|
|
521
|
+
if (!words.length)
|
|
522
|
+
return "General";
|
|
523
|
+
return words.map((w) => w[0].toUpperCase() + w.slice(1)).join(" ");
|
|
524
|
+
}
|
|
525
|
+
async function runPlan(argv) {
|
|
526
|
+
const cwd = resolve(argFlag(argv, "--cwd") ?? ".");
|
|
527
|
+
const plan = loadPlan(cwd);
|
|
528
|
+
if (!plan) {
|
|
529
|
+
console.error("vibe plan: no active specs under specs/ — run `menu` first.");
|
|
530
|
+
process.exit(1);
|
|
531
|
+
}
|
|
532
|
+
const specCount = plan.stories.length;
|
|
533
|
+
const fieldCount = plan.entities.reduce((n, e) => n + e.fields.length, 0);
|
|
534
|
+
console.log(`vibe plan — whole-app LCR from ${specCount} specs\n`);
|
|
535
|
+
console.log(` data model: ${plan.entities.length} entities · ${fieldCount} fields · ${plan.conflicts.length} conflict(s)`);
|
|
536
|
+
console.log(` personas: ${plan.personas.length} (${plan.personas.map((p) => p.id).join(", ") || "—"})`);
|
|
537
|
+
console.log(` surfaces: ${plan.surfaces.length} route(s) across ${new Set(plan.surfaces.map((s) => s.route)).size} unique path(s)`);
|
|
538
|
+
console.log(` coverage: ${plan.stories.length - plan.uncoveredStories.length}/${plan.stories.length} stories contribute a surface`);
|
|
539
|
+
if (plan.conflicts.length) {
|
|
540
|
+
console.log(`\n ⚠ data-model conflicts (same field, divergent types — resolve before schema-gen):`);
|
|
541
|
+
for (const c of plan.conflicts) {
|
|
542
|
+
const variants = c.types.map((t) => `${t.type} [${t.stories.map((s) => "story-" + s).join(",")}]`).join(" vs ");
|
|
543
|
+
console.log(` ✗ ${c.entity}.${c.field}: ${variants}`);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
console.log(`\n entities:`);
|
|
547
|
+
for (const e of plan.entities) {
|
|
548
|
+
console.log(` · ${e.name} (${e.fields.length} fields) ← ${e.fromStories.map((s) => "story-" + s).join(", ")}`);
|
|
549
|
+
}
|
|
550
|
+
if (plan.surfaces.length) {
|
|
551
|
+
console.log(`\n surfaces (persona → route):`);
|
|
552
|
+
for (const s of plan.surfaces)
|
|
553
|
+
console.log(` · ${s.persona} → ${s.route}${s.home ? " [home]" : ""} (story-${s.storyId})`);
|
|
554
|
+
}
|
|
555
|
+
if (plan.uncoveredStories.length) {
|
|
556
|
+
console.log(`\n no surface declared (UI gap or backend-only): ${plan.uncoveredStories.map((s) => "story-" + s).join(", ")}`);
|
|
557
|
+
if (plan.surfaces.length === 0) {
|
|
558
|
+
console.log(` → specs declare no surfaces yet. Re-run \`menu\` (emits persona + surfaces) so the route map populates.`);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
const outDir = resolve(cwd, ".brewing");
|
|
562
|
+
mkdirSync(outDir, { recursive: true });
|
|
563
|
+
const outFile = join(outDir, "lcr-plan.json");
|
|
564
|
+
writeFileSync(outFile, JSON.stringify(plan, null, 2) + "\n");
|
|
565
|
+
console.log(`\n → .brewing/lcr-plan.json (machine form for the schema/seed/surface passes)`);
|
|
566
|
+
}
|
|
567
|
+
/** Small flag reader for the plan subcommand. */
|
|
568
|
+
function argFlag(argv, flag) {
|
|
569
|
+
const i = argv.indexOf(flag);
|
|
570
|
+
return i >= 0 ? argv[i + 1] : undefined;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* `slowcook vibe schema` — generate the LCR data adaptor's Drizzle schema from the
|
|
574
|
+
* plan's data model. Deterministic (the data_contract types map mechanically to
|
|
575
|
+
* Drizzle columns); the seed + surfaces passes (LLM) build on it. Writes to the
|
|
576
|
+
* mock's data-layer dir (default `mock/src/lib/schema.ts`).
|
|
577
|
+
*/
|
|
578
|
+
async function runSchema(argv) {
|
|
579
|
+
const cwd = resolve(argFlag(argv, "--cwd") ?? ".");
|
|
580
|
+
const plan = loadPlan(cwd);
|
|
581
|
+
if (!plan) {
|
|
582
|
+
console.error("vibe schema: no active specs under specs/ — run `menu` first.");
|
|
583
|
+
process.exit(1);
|
|
584
|
+
}
|
|
585
|
+
if (plan.entities.length === 0) {
|
|
586
|
+
console.error("vibe schema: the plan has no entities (specs carry no data_contract). Nothing to generate.");
|
|
587
|
+
process.exit(1);
|
|
588
|
+
}
|
|
589
|
+
if (plan.conflicts.length > 0) {
|
|
590
|
+
console.error(`vibe schema: ${plan.conflicts.length} data-model conflict(s) — resolve before schema-gen (run \`vibe plan\`):`);
|
|
591
|
+
for (const c of plan.conflicts) {
|
|
592
|
+
console.error(` ✗ ${c.entity}.${c.field}: ${c.types.map((t) => t.type).join(" vs ")}`);
|
|
593
|
+
}
|
|
594
|
+
process.exit(1);
|
|
595
|
+
}
|
|
596
|
+
const schema = compileDrizzleSchema(plan.entities);
|
|
597
|
+
const mock = loadMockShapeConfig(cwd);
|
|
598
|
+
const rel = argFlag(argv, "--out") ?? join(mock.mock_root, "src/lib/schema.ts");
|
|
599
|
+
const fieldCount = plan.entities.reduce((n, e) => n + e.fields.length, 0);
|
|
600
|
+
if (argFlag(argv, "--stdout") !== undefined || argv.includes("--stdout")) {
|
|
601
|
+
process.stdout.write(schema);
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
const outAbs = resolve(cwd, rel);
|
|
605
|
+
mkdirSync(join(outAbs, ".."), { recursive: true });
|
|
606
|
+
writeFileSync(outAbs, schema);
|
|
607
|
+
console.log(`vibe schema — ${plan.entities.length} tables · ${fieldCount} columns → ${rel}`);
|
|
608
|
+
console.log(` deterministic (data_contract → Drizzle). Next: \`vibe seed\` (dense data) + surface passes.`);
|
|
609
|
+
}
|
|
610
|
+
/** Compact behavioural digest of the specs for the seed/adaptor prompts:
|
|
611
|
+
* persona, surfaces+states, invariants, acceptance scenarios. */
|
|
612
|
+
function buildSpecsDigest(cwd) {
|
|
613
|
+
const out = [];
|
|
614
|
+
for (const s of listActiveSpecs(cwd)) {
|
|
615
|
+
const lines = [`### story-${s.story_id} — ${s.title}`];
|
|
616
|
+
if (s.persona)
|
|
617
|
+
lines.push(`persona: ${s.persona.id}${s.persona.chrome ? ` (${s.persona.chrome})` : ""}`);
|
|
618
|
+
if (s.surfaces?.length) {
|
|
619
|
+
lines.push("surfaces:");
|
|
620
|
+
for (const su of s.surfaces)
|
|
621
|
+
lines.push(` - ${su.route}${su.home ? " [home]" : ""}${su.states?.length ? ` — states: ${su.states.join(", ")}` : ""}`);
|
|
622
|
+
}
|
|
623
|
+
if (s.invariants?.length)
|
|
624
|
+
lines.push("invariants:\n" + s.invariants.map((i) => ` - ${i}`).join("\n"));
|
|
625
|
+
if (s.acceptance_scenarios?.length)
|
|
626
|
+
lines.push("scenarios:\n" + s.acceptance_scenarios.map((a) => ` - ${a}`).join("\n"));
|
|
627
|
+
out.push(lines.join("\n"));
|
|
628
|
+
}
|
|
629
|
+
return out.join("\n\n");
|
|
630
|
+
}
|
|
631
|
+
/** Strip a leading/trailing markdown code fence if the model wrapped the file. */
|
|
632
|
+
function stripFence(s) {
|
|
633
|
+
return s.replace(/^\s*```[a-z]*\s*\n?/i, "").replace(/\n?```\s*$/i, "").trim() + "\n";
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* `slowcook vibe seed` — the seed + adaptor pass. Deterministic runtime
|
|
637
|
+
* (schema.ts + ddl.ts + db.ts = a real in-browser SQLite) + two LLM passes:
|
|
638
|
+
* seed.ts (dense, state-covering data) and queries.ts (the typed query adaptor /
|
|
639
|
+
* mock→prod swap seam). Writes into the mock's lib dir.
|
|
640
|
+
*/
|
|
641
|
+
async function runSeed(argv) {
|
|
642
|
+
const cwd = resolve(argFlag(argv, "--cwd") ?? ".");
|
|
643
|
+
const model = argFlag(argv, "--model") ?? "claude-opus-4-7";
|
|
644
|
+
const dryRun = argv.includes("--dry-run");
|
|
645
|
+
const plan = loadPlan(cwd);
|
|
646
|
+
if (!plan) {
|
|
647
|
+
console.error("vibe seed: no active specs — run `menu` first.");
|
|
648
|
+
process.exit(1);
|
|
649
|
+
}
|
|
650
|
+
if (plan.entities.length === 0) {
|
|
651
|
+
console.error("vibe seed: no entities in the plan (no data_contract).");
|
|
652
|
+
process.exit(1);
|
|
653
|
+
}
|
|
654
|
+
if (plan.conflicts.length > 0) {
|
|
655
|
+
console.error(`vibe seed: ${plan.conflicts.length} data-model conflict(s) — resolve first (run \`vibe plan\`).`);
|
|
656
|
+
process.exit(1);
|
|
657
|
+
}
|
|
658
|
+
const mock = loadMockShapeConfig(cwd);
|
|
659
|
+
const libDir = resolve(cwd, mock.mock_root, "src/lib");
|
|
660
|
+
mkdirSync(libDir, { recursive: true });
|
|
661
|
+
// 1. Deterministic runtime: schema.ts, ddl.ts, db.ts.
|
|
662
|
+
const schemaTs = compileDrizzleSchema(plan.entities);
|
|
663
|
+
const ddl = compileSqliteDdl(plan.entities);
|
|
664
|
+
const ddlTs = `// @convention LCR data adaptor DDL — generated by \`slowcook vibe seed\`.\n// CREATE TABLE for the in-browser SQLite; deterministic from the plan. Do not hand-edit.\nexport const DDL = \`\n${ddl.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${")}\`;\n`;
|
|
665
|
+
writeFileSync(join(libDir, "schema.ts"), schemaTs);
|
|
666
|
+
writeFileSync(join(libDir, "ddl.ts"), ddlTs);
|
|
667
|
+
writeFileSync(join(libDir, "db.ts"), dbBootstrapTs());
|
|
668
|
+
console.log(`vibe seed — wrote deterministic runtime: schema.ts · ddl.ts · db.ts (${plan.entities.length} tables, real sql.js)`);
|
|
669
|
+
if (dryRun) {
|
|
670
|
+
console.log(" [dry-run] skipping the LLM seed + adaptor passes.");
|
|
671
|
+
return;
|
|
672
|
+
}
|
|
673
|
+
const apiKey = process.env["ANTHROPIC_API_KEY"];
|
|
674
|
+
if (!apiKey) {
|
|
675
|
+
console.error("vibe seed: ANTHROPIC_API_KEY not set (or pass --dry-run for the deterministic runtime only).");
|
|
676
|
+
process.exit(1);
|
|
677
|
+
}
|
|
678
|
+
const digest = buildSpecsDigest(cwd);
|
|
679
|
+
const userCtx = `## Generated Drizzle schema (use these exact table vars + columns)\n\`\`\`ts\n${schemaTs}\n\`\`\`\n\n## Specs digest (personas · surfaces+states · invariants · scenarios)\n${digest}`;
|
|
680
|
+
const llm = new AnthropicClient(apiKey);
|
|
681
|
+
// 2. LLM: seed.ts (dense, state-covering, referentially-consistent).
|
|
682
|
+
console.log(` generating seed.ts (model ${model})…`);
|
|
683
|
+
const seedRes = await llm.complete({ system: SEED_SYSTEM, model, maxTokens: 32000, stream: true, messages: [{ role: "user", content: userCtx + "\n\nWrite seed.ts now." }] });
|
|
684
|
+
writeFileSync(join(libDir, "seed.ts"), stripFence(seedRes.text));
|
|
685
|
+
// 3. LLM: queries.ts (the typed domain adaptor / swap seam).
|
|
686
|
+
console.log(` generating queries.ts…`);
|
|
687
|
+
const qRes = await llm.complete({ system: ADAPTOR_SYSTEM, model, maxTokens: 32000, stream: true, messages: [{ role: "user", content: userCtx + "\n\nWrite queries.ts now." }] });
|
|
688
|
+
writeFileSync(join(libDir, "queries.ts"), stripFence(qRes.text));
|
|
689
|
+
const totalUsd = seedRes.costUsd + qRes.costUsd;
|
|
690
|
+
console.log(` wrote seed.ts + queries.ts`);
|
|
691
|
+
console.log("\n" + formatCostFooter(totalUsd, []));
|
|
692
|
+
console.log(`\n data adaptor complete: ${mock.mock_root}/src/lib/{schema,ddl,db,seed,queries}.ts`);
|
|
693
|
+
console.log(` deps the mock needs: drizzle-orm, sql.js. Next: surface passes render via \`data\` from queries.ts.`);
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* `slowcook vibe app` — scaffold the runnable, navigable whole-app LCR from the
|
|
697
|
+
* plan: the Vite/Tailwind app + router (every surface reachable) + persona shell
|
|
698
|
+
* + a stub page per route (sets the @story marker). Deterministic — the LLM
|
|
699
|
+
* `vibe surfaces` pass fills page bodies. Also sets `.brewing/mock.yaml`
|
|
700
|
+
* (review_mode: lcr). Does NOT overwrite the data adaptor (schema/ddl/db/seed/
|
|
701
|
+
* queries) — run `vibe seed` first.
|
|
702
|
+
*/
|
|
703
|
+
async function runApp(argv) {
|
|
704
|
+
const cwd = resolve(argFlag(argv, "--cwd") ?? ".");
|
|
705
|
+
const plan = loadPlan(cwd);
|
|
706
|
+
if (!plan) {
|
|
707
|
+
console.error("vibe app: no active specs — run `menu` first.");
|
|
708
|
+
process.exit(1);
|
|
709
|
+
}
|
|
710
|
+
if (plan.surfaces.length === 0) {
|
|
711
|
+
console.error("vibe app: the plan has no surfaces — re-run `menu` so specs declare persona + surfaces.");
|
|
712
|
+
process.exit(1);
|
|
713
|
+
}
|
|
714
|
+
const mock = loadMockShapeConfig(cwd);
|
|
715
|
+
const mockRoot = resolve(cwd, mock.mock_root);
|
|
716
|
+
const force = argv.includes("--force");
|
|
717
|
+
const projectName = basename(cwd) || "app";
|
|
718
|
+
const ownerRepo = detectOwnerRepo(cwd);
|
|
719
|
+
const files = generateLcrApp(plan, { projectName, owner: ownerRepo?.owner, repo: ownerRepo?.repo });
|
|
720
|
+
let wrote = 0;
|
|
721
|
+
let skipped = 0;
|
|
722
|
+
for (const f of files) {
|
|
723
|
+
const abs = join(mockRoot, f.path);
|
|
724
|
+
if (existsSync(abs) && !force) {
|
|
725
|
+
skipped++;
|
|
726
|
+
continue;
|
|
727
|
+
}
|
|
728
|
+
mkdirSync(join(abs, ".."), { recursive: true });
|
|
729
|
+
writeFileSync(abs, f.content);
|
|
730
|
+
wrote++;
|
|
731
|
+
}
|
|
732
|
+
// .brewing/mock.yaml — declare the LCR shape (idempotent unless --force).
|
|
733
|
+
const mockYamlPath = resolve(cwd, ".brewing", "mock.yaml");
|
|
734
|
+
if (!existsSync(mockYamlPath) || force) {
|
|
735
|
+
mkdirSync(resolve(cwd, ".brewing"), { recursive: true });
|
|
736
|
+
writeFileSync(mockYamlPath, mockYaml());
|
|
737
|
+
}
|
|
738
|
+
const routes = new Set(plan.surfaces.map((s) => s.route)).size;
|
|
739
|
+
console.log(`vibe app — scaffolded the LCR: ${routes} route(s) · ${plan.personas.length} personas · ${wrote} file(s) written${skipped ? `, ${skipped} kept (use --force to overwrite)` : ""}`);
|
|
740
|
+
console.log(` review_mode: lcr set in .brewing/mock.yaml`);
|
|
741
|
+
if (!existsSync(join(mockRoot, "src/lib/db.ts"))) {
|
|
742
|
+
console.log(` ⚠ no data adaptor yet — run \`slowcook vibe seed\` so pages can read real data.`);
|
|
743
|
+
}
|
|
744
|
+
console.log(` next: \`cd ${mock.mock_root} && npm install && npm run dev\` to click through the skeleton; then \`slowcook vibe surfaces\` to fill the page bodies.`);
|
|
745
|
+
}
|
|
461
746
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/vibe/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/vibe/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GUCDI — LCR plan compiler (pure). The deterministic spine of the whole-app
|
|
3
|
+
* `vibe` redesign: instead of generating one mock per story, vibe first compiles
|
|
4
|
+
* ALL specs into a single coherent plan for one clickable LCR app —
|
|
5
|
+
* - the unified DATA MODEL (every story's `data_contract.entities` merged into
|
|
6
|
+
* one schema, with cross-story field conflicts surfaced) → the data adaptor's
|
|
7
|
+
* spine (a Drizzle/SQLite schema is generated from this);
|
|
8
|
+
* - the ROUTE / PERSONA map (from each story's `persona` + `surfaces`) → the
|
|
9
|
+
* app's navigation, every surface reachable;
|
|
10
|
+
* - per-story COVERAGE (which stories contribute a surface vs are backend-only).
|
|
11
|
+
*
|
|
12
|
+
* No LLM: this is aggregation over the specs. The schema/seed/surface GENERATION
|
|
13
|
+
* passes (LLM) hang off this plan. See docs/plans/vibe-whole-mock-lcr.md.
|
|
14
|
+
*/
|
|
15
|
+
/** The slice of a spec the planner needs (kept minimal so the core stays pure +
|
|
16
|
+
* unit-testable independent of the full Spec type). */
|
|
17
|
+
export interface PlanSpecInput {
|
|
18
|
+
storyId: string;
|
|
19
|
+
entities: {
|
|
20
|
+
name: string;
|
|
21
|
+
fields: {
|
|
22
|
+
name: string;
|
|
23
|
+
type: string;
|
|
24
|
+
}[];
|
|
25
|
+
relations?: string[];
|
|
26
|
+
}[];
|
|
27
|
+
actors?: {
|
|
28
|
+
name: string;
|
|
29
|
+
}[];
|
|
30
|
+
persona?: {
|
|
31
|
+
id: string;
|
|
32
|
+
chrome?: string;
|
|
33
|
+
};
|
|
34
|
+
surfaces?: {
|
|
35
|
+
route: string;
|
|
36
|
+
persona?: string;
|
|
37
|
+
home?: boolean;
|
|
38
|
+
states?: string[];
|
|
39
|
+
}[];
|
|
40
|
+
/** The product theme this story belongs to (groups EPSS scenarios across
|
|
41
|
+
* personas). Falls back to a label derived from the PRD anchor. */
|
|
42
|
+
epic?: string;
|
|
43
|
+
title?: string;
|
|
44
|
+
/** Given/When/Then strings — the EPSS *scenarios* (When) + *states* (Given). */
|
|
45
|
+
acceptanceScenarios?: string[];
|
|
46
|
+
}
|
|
47
|
+
export interface PlanField {
|
|
48
|
+
name: string;
|
|
49
|
+
type: string;
|
|
50
|
+
fromStories: string[];
|
|
51
|
+
}
|
|
52
|
+
export interface PlanEntity {
|
|
53
|
+
name: string;
|
|
54
|
+
fields: PlanField[];
|
|
55
|
+
relations: string[];
|
|
56
|
+
fromStories: string[];
|
|
57
|
+
}
|
|
58
|
+
/** Same entity+field declared with divergent types across stories — the thing
|
|
59
|
+
* that silently breaks a hand-merged schema; we surface it for resolution. */
|
|
60
|
+
export interface FieldConflict {
|
|
61
|
+
entity: string;
|
|
62
|
+
field: string;
|
|
63
|
+
types: {
|
|
64
|
+
type: string;
|
|
65
|
+
stories: string[];
|
|
66
|
+
}[];
|
|
67
|
+
}
|
|
68
|
+
export interface PlanPersona {
|
|
69
|
+
id: string;
|
|
70
|
+
chrome?: string;
|
|
71
|
+
fromStories: string[];
|
|
72
|
+
}
|
|
73
|
+
export interface PlanSurface {
|
|
74
|
+
route: string;
|
|
75
|
+
persona: string;
|
|
76
|
+
storyId: string;
|
|
77
|
+
home: boolean;
|
|
78
|
+
states: string[];
|
|
79
|
+
}
|
|
80
|
+
export interface PlanStory {
|
|
81
|
+
storyId: string;
|
|
82
|
+
entities: string[];
|
|
83
|
+
personas: string[];
|
|
84
|
+
routes: string[];
|
|
85
|
+
hasSurface: boolean;
|
|
86
|
+
}
|
|
87
|
+
/** One EPSS test case: a semantic Scenario (the "When") under an Epic + Persona,
|
|
88
|
+
* reached in a given State (the "Given"), happening at `route`. NOT a URL — the
|
|
89
|
+
* route is just where it happens. Built from a story's acceptance_scenarios. */
|
|
90
|
+
export interface EpssScenario {
|
|
91
|
+
epic: string;
|
|
92
|
+
persona: string;
|
|
93
|
+
/** the action / journey — the acceptance scenario's "When". */
|
|
94
|
+
scenario: string;
|
|
95
|
+
/** the precondition — the "Given". */
|
|
96
|
+
state: string;
|
|
97
|
+
/** expected outcome — the "Then" (shown as a hint). */
|
|
98
|
+
then: string;
|
|
99
|
+
route: string;
|
|
100
|
+
storyId: string;
|
|
101
|
+
}
|
|
102
|
+
export interface LcrPlan {
|
|
103
|
+
entities: PlanEntity[];
|
|
104
|
+
conflicts: FieldConflict[];
|
|
105
|
+
personas: PlanPersona[];
|
|
106
|
+
surfaces: PlanSurface[];
|
|
107
|
+
stories: PlanStory[];
|
|
108
|
+
/** The EPSS test matrix — semantic scenarios (from acceptance_scenarios),
|
|
109
|
+
* grouped downstream into epic ▸ persona ▸ scenario ▸ state. */
|
|
110
|
+
epss: EpssScenario[];
|
|
111
|
+
/** stories that declare no surface — either a UI gap or a legitimately
|
|
112
|
+
* backend-only story (the planner can't tell; it reports). */
|
|
113
|
+
uncoveredStories: string[];
|
|
114
|
+
}
|
|
115
|
+
/** Compile the whole-app plan from the spec set. Deterministic. */
|
|
116
|
+
export declare function compileLcrPlan(specs: PlanSpecInput[]): LcrPlan;
|
|
117
|
+
/** Parse a "Given … When … Then …" acceptance scenario into its three clauses.
|
|
118
|
+
* Given = the precondition (EPSS State), When = the action (Scenario), Then =
|
|
119
|
+
* the expected outcome. Returns null if it isn't Gherkin-shaped. */
|
|
120
|
+
export declare function parseGwt(s: string): {
|
|
121
|
+
given: string;
|
|
122
|
+
when: string;
|
|
123
|
+
then: string;
|
|
124
|
+
} | null;
|
|
125
|
+
//# sourceMappingURL=lcr-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lcr-plan.d.ts","sourceRoot":"","sources":["../../../src/commands/vibe/lcr-plan.ts"],"names":[],"mappings":"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"}
|