@slowcook-ai/cli 0.21.2 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/AGENTS.md +11 -0
  2. package/README.md +8 -4
  3. package/dist/cli.js +7 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/brand/index.d.ts.map +1 -1
  6. package/dist/commands/brand/index.js +18 -8
  7. package/dist/commands/brand/index.js.map +1 -1
  8. package/dist/commands/estimate/index.d.ts +2 -0
  9. package/dist/commands/estimate/index.d.ts.map +1 -0
  10. package/dist/commands/estimate/index.js +70 -0
  11. package/dist/commands/estimate/index.js.map +1 -0
  12. package/dist/commands/estimate/model.d.ts +117 -0
  13. package/dist/commands/estimate/model.d.ts.map +1 -0
  14. package/dist/commands/estimate/model.js +158 -0
  15. package/dist/commands/estimate/model.js.map +1 -0
  16. package/dist/commands/eye/index.d.ts.map +1 -1
  17. package/dist/commands/eye/index.js +16 -6
  18. package/dist/commands/eye/index.js.map +1 -1
  19. package/dist/commands/eye/plan.d.ts +41 -6
  20. package/dist/commands/eye/plan.d.ts.map +1 -1
  21. package/dist/commands/eye/plan.js +52 -9
  22. package/dist/commands/eye/plan.js.map +1 -1
  23. package/dist/commands/eye/run.d.ts +17 -1
  24. package/dist/commands/eye/run.d.ts.map +1 -1
  25. package/dist/commands/eye/run.js +38 -6
  26. package/dist/commands/eye/run.js.map +1 -1
  27. package/dist/commands/greenfield/index.d.ts.map +1 -1
  28. package/dist/commands/greenfield/index.js +33 -3
  29. package/dist/commands/greenfield/index.js.map +1 -1
  30. package/dist/commands/greenfield/status.d.ts +26 -5
  31. package/dist/commands/greenfield/status.d.ts.map +1 -1
  32. package/dist/commands/greenfield/status.js +28 -9
  33. package/dist/commands/greenfield/status.js.map +1 -1
  34. package/dist/commands/menu/assemble.d.ts.map +1 -1
  35. package/dist/commands/menu/assemble.js +6 -0
  36. package/dist/commands/menu/assemble.js.map +1 -1
  37. package/dist/commands/menu/index.d.ts.map +1 -1
  38. package/dist/commands/menu/index.js +42 -14
  39. package/dist/commands/menu/index.js.map +1 -1
  40. package/dist/commands/menu/prd.d.ts.map +1 -1
  41. package/dist/commands/menu/prd.js +17 -0
  42. package/dist/commands/menu/prd.js.map +1 -1
  43. package/dist/commands/reconcile/index.d.ts +2 -0
  44. package/dist/commands/reconcile/index.d.ts.map +1 -0
  45. package/dist/commands/reconcile/index.js +174 -0
  46. package/dist/commands/reconcile/index.js.map +1 -0
  47. package/dist/commands/refine/agent.d.ts.map +1 -1
  48. package/dist/commands/refine/agent.js +22 -2
  49. package/dist/commands/refine/agent.js.map +1 -1
  50. package/dist/commands/refine/context.d.ts +2 -0
  51. package/dist/commands/refine/context.d.ts.map +1 -1
  52. package/dist/commands/refine/context.js +21 -0
  53. package/dist/commands/refine/context.js.map +1 -1
  54. package/dist/commands/refine/history-index.d.ts +17 -0
  55. package/dist/commands/refine/history-index.d.ts.map +1 -1
  56. package/dist/commands/refine/history-index.js +106 -12
  57. package/dist/commands/refine/history-index.js.map +1 -1
  58. package/dist/commands/refine/index.d.ts.map +1 -1
  59. package/dist/commands/refine/index.js +11 -6
  60. package/dist/commands/refine/index.js.map +1 -1
  61. package/dist/commands/refine/llm.d.ts +1 -1
  62. package/dist/commands/refine/llm.d.ts.map +1 -1
  63. package/dist/commands/refine/llm.js +1 -1
  64. package/dist/commands/refine/llm.js.map +1 -1
  65. package/dist/commands/refine/mock-fixtures.d.ts +2 -0
  66. package/dist/commands/refine/mock-fixtures.d.ts.map +1 -1
  67. package/dist/commands/refine/mock-fixtures.js +32 -5
  68. package/dist/commands/refine/mock-fixtures.js.map +1 -1
  69. package/dist/commands/refine/spec-yaml.d.ts +27 -1
  70. package/dist/commands/refine/spec-yaml.d.ts.map +1 -1
  71. package/dist/commands/refine/spec-yaml.js +81 -5
  72. package/dist/commands/refine/spec-yaml.js.map +1 -1
  73. package/dist/commands/testgen/agent.d.ts +5 -0
  74. package/dist/commands/testgen/agent.d.ts.map +1 -1
  75. package/dist/commands/testgen/agent.js +65 -1
  76. package/dist/commands/testgen/agent.js.map +1 -1
  77. package/dist/commands/testgen/index.d.ts.map +1 -1
  78. package/dist/commands/testgen/index.js +11 -6
  79. package/dist/commands/testgen/index.js.map +1 -1
  80. package/dist/commands/trace/check.d.ts +72 -0
  81. package/dist/commands/trace/check.d.ts.map +1 -1
  82. package/dist/commands/trace/check.js +93 -0
  83. package/dist/commands/trace/check.js.map +1 -1
  84. package/dist/commands/trace/index.d.ts +5 -0
  85. package/dist/commands/trace/index.d.ts.map +1 -1
  86. package/dist/commands/trace/index.js +183 -7
  87. package/dist/commands/trace/index.js.map +1 -1
  88. package/dist/commands/upsert-agent-docs.d.ts.map +1 -1
  89. package/dist/commands/upsert-agent-docs.js +11 -0
  90. package/dist/commands/upsert-agent-docs.js.map +1 -1
  91. package/dist/commands/vibe/app-gen.d.ts +43 -0
  92. package/dist/commands/vibe/app-gen.d.ts.map +1 -0
  93. package/dist/commands/vibe/app-gen.js +512 -0
  94. package/dist/commands/vibe/app-gen.js.map +1 -0
  95. package/dist/commands/vibe/index.d.ts.map +1 -1
  96. package/dist/commands/vibe/index.js +287 -2
  97. package/dist/commands/vibe/index.js.map +1 -1
  98. package/dist/commands/vibe/lcr-plan.d.ts +125 -0
  99. package/dist/commands/vibe/lcr-plan.d.ts.map +1 -0
  100. package/dist/commands/vibe/lcr-plan.js +155 -0
  101. package/dist/commands/vibe/lcr-plan.js.map +1 -0
  102. package/dist/commands/vibe/schema-gen.d.ts +52 -0
  103. package/dist/commands/vibe/schema-gen.d.ts.map +1 -0
  104. package/dist/commands/vibe/schema-gen.js +205 -0
  105. package/dist/commands/vibe/schema-gen.js.map +1 -0
  106. package/dist/commands.manifest.d.ts.map +1 -1
  107. package/dist/commands.manifest.js +10 -4
  108. package/dist/commands.manifest.js.map +1 -1
  109. package/package.json +9 -9
@@ -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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAoB,MAAM,YAAY,CAAC;AAavD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAa;QACrB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;QACvB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,MAAM;KACnB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACnD,IAAI,CAAC,KAAK,OAAO,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACzD,IAAI,CAAC,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACxD,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACtD,IAAI,CAAC,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACxD,IAAI,CAAC,KAAK,eAAe,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACnE,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC;aAC9C,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,8EAA8E;QAC9E,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;IACtF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACjC,qEAAqE;QACrE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM;QAChC,yDAAyD;QACzD,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YAChD,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAClE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CACX,iFAAiF;gBAC/E,CAAC;gBACD,+GAA+G,CAClH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CACX,2DAA2D;gBACzD,CAAC;gBACD,kHAAkH,CACrH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CACX,gFAAgF;gBAC9E,CAAC;gBACD,qNAAqN,CACxN,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,0BAA0B;IAC1B,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,uNAAuN,CAAC;IACjO,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,gKAAgK,CAAC;IAC1K,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IAC/E,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEb,YAAY;IACZ,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAa,CAAC;YACvE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBAC/C,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE;oBAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEb,aAAa;IACb,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;gBAClG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,sIAAsI,CAAC,CAAC;YACnJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,MAAgB,EAAE;IACrD,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAA6B,CAAC;IAC1D,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC;QACP,IAAI,CAAC;YAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QACnD,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc,EAAE,UAAkB;IAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,qCAAqC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEhD,kEAAkE;IAClE,mEAAmE;IACnE,iEAAiE;IACjE,4DAA4D;IAC5D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CACT,yBAAyB,IAAI,CAAC,MAAM,4FAA4F,CACjI,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1D,gEAAgE;IAChE,gEAAgE;IAChE,0EAA0E;IAC1E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CACT,yBAAyB,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,KAAK,YAAY,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CACpJ,CAAC;IAEF,MAAM,GAAG,GAAgB;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,eAAe;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,UAAU;QACV,QAAQ;QACR,cAAc;QACd,SAAS,EAAE,eAAe,CAAC,KAAK;KACjC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CACX,uCAAuC,MAAM,CAAC,MAAM,sBAAsB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACxG,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,YAAY,CAAC,MAAM,eAAe,MAAM,CAAC,MAAM,qBAAqB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACxH,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,mBAAmB,MAAM,CAAC,cAAc,CAAC,MAAM,mDAAmD,CACnG,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,6EAA6E,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3G,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;YAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAChC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,yBAAyB,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY;QAAE,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CACpB,0BAA0B,IAAI,CAAC,MAAM,kCAAkC,UAAU,KAAK,CACvF,CAAC;IACF,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7B,iEAAiE;IACjE,gEAAgE;IAChE,iEAAiE;IACjE,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC;YACvC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,KAAK,EAAE,QAAQ;gBACb,CAAC,CAAC,iBAAiB,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG;gBAC9C,CAAC,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE;YAClC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;YACjH,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,CAAC,iBAAiB,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CACX,gCAAgC,MAAM,8BAA+B,CAAW,CAAC,OAAO,EAAE,CAC3F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,YAAsB,EACtB,cAAwE,EACxE,QAAgB,EAChB,UAAkB;AAClB,6EAA6E;AAC7E,QAAuB;IAEvB,MAAM,MAAM,GAAG,yBAAyB,MAAM,EAAE,CAAC;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,qEAAqE;IACrE,oDAAoD;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,UAAU,QAAQ,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CACN,gCAAgC,MAAM,EAAE;QACtC,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,oCAAoC,UAAU,cAAc,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACtF,CAAC;IACF,GAAG,CAAC,IAAI,CACN,6EAA6E,MAAM,+MAA+M,CACnS,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACnC,GAAG,CAAC,IAAI,CACN,+JAA+J,CAChK,CAAC;IACF,GAAG,CAAC,IAAI,CACN,gBAAgB;QACd,oBAAoB,MAAM,IAAI;QAC9B,gBAAgB,MAAM,IAAI;QAC1B,0BAA0B;QAC1B,yCAAyC;QACzC,QAAQ,CACX,CAAC;IACF,GAAG,CAAC,IAAI,CACN,wGAAwG,MAAM,oNAAoN,CACnU,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,uBAAuB,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,YAAY;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,mCAAmC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CACN,2KAA2K,CAC5K,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,UAAU,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CACN,wTAAwT,CACzT,CAAC;IACF,oEAAoE;IACpE,8DAA8D;IAC9D,mEAAmE;IACnE,GAAG,CAAC,IAAI,CACN,uCAAuC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,UAAU,MAAM,CACzG,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
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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"}