@rsaglobaltech/specgate 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +122 -1
  2. package/bin/specgate.ts +47 -47
  3. package/dist/bin/specgate.js +47 -46
  4. package/dist/bin/specgate.js.map +1 -1
  5. package/dist/packages/core/src/application/ArchiveChangeUseCase.js +1 -1
  6. package/dist/packages/core/src/application/ArchiveChangeUseCase.js.map +1 -1
  7. package/dist/packages/core/src/application/ValidateProjectUseCase.js +1 -1
  8. package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
  9. package/dist/packages/core/src/domain/ChangeTemplates.js +1 -1
  10. package/dist/packages/core/src/domain/DeltaFeature.js +3 -3
  11. package/dist/packages/core/src/domain/DeltaFeature.js.map +1 -1
  12. package/dist/packages/core/src/domain/DerivedMatrix.js +9 -9
  13. package/dist/packages/core/src/domain/DerivedMatrix.js.map +1 -1
  14. package/dist/packages/core/src/domain/DoneVerification.js +10 -2
  15. package/dist/packages/core/src/domain/DoneVerification.js.map +1 -1
  16. package/dist/packages/core/src/domain/DraftChecklist.js +3 -3
  17. package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -1
  18. package/dist/packages/core/src/domain/GherkinTags.js +12 -12
  19. package/dist/packages/core/src/domain/GherkinTags.js.map +1 -1
  20. package/dist/packages/core/src/domain/HarnessConfig.js +1 -0
  21. package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
  22. package/dist/packages/core/src/domain/InboundChange.js +1 -1
  23. package/dist/packages/core/src/domain/InboundChange.js.map +1 -1
  24. package/dist/packages/core/src/domain/Language.js +2 -2
  25. package/dist/packages/core/src/domain/Language.js.map +1 -1
  26. package/dist/packages/core/src/domain/Lockfile.js +7 -7
  27. package/dist/packages/core/src/domain/Lockfile.js.map +1 -1
  28. package/dist/packages/core/src/domain/PackDelta.js +1 -1
  29. package/dist/packages/core/src/domain/PackDelta.js.map +1 -1
  30. package/dist/packages/core/src/domain/RequirementGraph.js +2 -2
  31. package/dist/packages/core/src/domain/SpecParser.js +6 -6
  32. package/dist/packages/core/src/domain/SpecParser.js.map +1 -1
  33. package/dist/packages/core/src/domain/TraceMerge.js +4 -4
  34. package/dist/packages/core/src/domain/TraceMerge.js.map +1 -1
  35. package/dist/packages/core/src/domain/TraceabilityFormat.js +4 -4
  36. package/dist/packages/core/src/domain/TraceabilityFormat.js.map +1 -1
  37. package/dist/packages/core/src/domain/ValueAnnotations.js +8 -8
  38. package/dist/packages/core/src/domain/ValueAnnotations.js.map +1 -1
  39. package/dist/packages/core/src/domain/WriteScope.js +3 -3
  40. package/dist/packages/core/src/domain/WriteScope.js.map +1 -1
  41. package/dist/packages/core/src/infrastructure/ChangeWorkspace.js +2 -2
  42. package/dist/packages/core/src/infrastructure/ChangeWorkspace.js.map +1 -1
  43. package/dist/packages/core/src/infrastructure/ConsoleReporter.js +2 -2
  44. package/dist/packages/core/src/infrastructure/ConsoleReporter.js.map +1 -1
  45. package/dist/packages/core/src/infrastructure/DerivedMatrixSources.js +2 -2
  46. package/dist/packages/core/src/infrastructure/DerivedMatrixSources.js.map +1 -1
  47. package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js +4 -4
  48. package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js.map +1 -1
  49. package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js +1 -1
  50. package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js.map +1 -1
  51. package/dist/packages/core/src/infrastructure/GitContributionStager.js +3 -3
  52. package/dist/packages/core/src/infrastructure/GitContributionStager.js.map +1 -1
  53. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +12 -3
  54. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
  55. package/dist/packages/core/src/infrastructure/RemotePackResolver.js +5 -5
  56. package/dist/packages/core/src/infrastructure/RemotePackResolver.js.map +1 -1
  57. package/dist/packages/core/test/unit/delta-feature.test.js +3 -3
  58. package/dist/packages/core/test/unit/delta-feature.test.js.map +1 -1
  59. package/dist/packages/core/test/unit/derived-matrix.test.js +8 -8
  60. package/dist/packages/core/test/unit/derived-matrix.test.js.map +1 -1
  61. package/dist/packages/core/test/unit/gherkin-tags.test.js +8 -8
  62. package/dist/packages/core/test/unit/gherkin-tags.test.js.map +1 -1
  63. package/dist/packages/core/test/unit/inbound-change.test.js +1 -1
  64. package/dist/packages/core/test/unit/inbound-change.test.js.map +1 -1
  65. package/dist/packages/core/test/unit/matrix-dependencies.test.js +5 -5
  66. package/dist/packages/core/test/unit/matrix-dependencies.test.js.map +1 -1
  67. package/dist/packages/core/test/unit/new-requirement.test.js +1 -1
  68. package/dist/packages/core/test/unit/new-requirement.test.js.map +1 -1
  69. package/dist/packages/core/test/unit/value-annotations.test.js +5 -5
  70. package/dist/packages/core/test/unit/value-annotations.test.js.map +1 -1
  71. package/dist/packages/core/test/unit/write-scope-status.test.js +5 -5
  72. package/dist/packages/core/test/unit/write-scope-status.test.js.map +1 -1
  73. package/dist/packages/mcp-spec-driven/src/native-tools.js +3 -3
  74. package/dist/packages/mcp-spec-driven/src/native-tools.js.map +1 -1
  75. package/dist/packages/mcp-spec-driven/src/server.js +1 -7
  76. package/dist/packages/mcp-spec-driven/src/server.js.map +1 -1
  77. package/dist/packages/mcp-spec-driven/src/tools.js +4 -4
  78. package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
  79. package/dist/scripts/add.js +10 -0
  80. package/dist/scripts/add.js.map +1 -0
  81. package/dist/scripts/agents/init.js +26 -47
  82. package/dist/scripts/agents/init.js.map +1 -1
  83. package/dist/scripts/alm/cli.js +37 -3
  84. package/dist/scripts/alm/cli.js.map +1 -1
  85. package/dist/scripts/alm/providers/index.js +1 -1
  86. package/dist/scripts/alm/providers/index.js.map +1 -1
  87. package/dist/scripts/change/instructions.js +2 -2
  88. package/dist/scripts/change/instructions.js.map +1 -1
  89. package/dist/scripts/cli/commands/alm/PullCommand.js +1 -1
  90. package/dist/scripts/cli/commands/alm/PullCommand.js.map +1 -1
  91. package/dist/scripts/cli/commands/change/ChangeCommand.js +99 -98
  92. package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
  93. package/dist/scripts/cli/commands/config/CiInitCommand.js +6 -4
  94. package/dist/scripts/cli/commands/config/CiInitCommand.js.map +1 -1
  95. package/dist/scripts/cli/commands/config/CompletionCommand.js +10 -10
  96. package/dist/scripts/cli/commands/config/CompletionCommand.js.map +1 -1
  97. package/dist/scripts/cli/commands/config/ConfigInitCommand.js +11 -19
  98. package/dist/scripts/cli/commands/config/ConfigInitCommand.js.map +1 -1
  99. package/dist/scripts/cli/commands/config/ConfigSetCommand.js +24 -11
  100. package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
  101. package/dist/scripts/cli/commands/harness/RunCommand.js +94 -38
  102. package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
  103. package/dist/scripts/cli/commands/pack/BundlePackCommand.js +36 -2
  104. package/dist/scripts/cli/commands/pack/BundlePackCommand.js.map +1 -1
  105. package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js +2 -2
  106. package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js.map +1 -1
  107. package/dist/scripts/cli/commands/pack/InferPackCommand.js +2 -1
  108. package/dist/scripts/cli/commands/pack/InferPackCommand.js.map +1 -1
  109. package/dist/scripts/cli/commands/pack/InitPackCommand.js +23 -32
  110. package/dist/scripts/cli/commands/pack/InitPackCommand.js.map +1 -1
  111. package/dist/scripts/cli/commands/pack/LintPackCommand.js +4 -3
  112. package/dist/scripts/cli/commands/pack/LintPackCommand.js.map +1 -1
  113. package/dist/scripts/cli/commands/project/AddCommand.js +75 -0
  114. package/dist/scripts/cli/commands/project/AddCommand.js.map +1 -0
  115. package/dist/scripts/cli/commands/project/AdoptCommand.js +9 -3
  116. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  117. package/dist/scripts/cli/commands/project/Forja.js +104 -0
  118. package/dist/scripts/cli/commands/project/Forja.js.map +1 -0
  119. package/dist/scripts/cli/commands/project/InitProjectCommand.js +61 -6
  120. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  121. package/dist/scripts/cli/commands/project/OnboardCommand.js +17 -24
  122. package/dist/scripts/cli/commands/project/OnboardCommand.js.map +1 -1
  123. package/dist/scripts/cli/commands/project/UpdateCommand.js +23 -43
  124. package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
  125. package/dist/scripts/cli/commands/quality/CheckCommand.js +50 -22
  126. package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
  127. package/dist/scripts/cli/commands/quality/DoctorCommand.js +27 -10
  128. package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
  129. package/dist/scripts/cli/commands/quality/FixCommand.js +24 -29
  130. package/dist/scripts/cli/commands/quality/FixCommand.js.map +1 -1
  131. package/dist/scripts/cli/commands/quality/ReportCommand.js +8 -4
  132. package/dist/scripts/cli/commands/quality/ReportCommand.js.map +1 -1
  133. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +69 -16
  134. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  135. package/dist/scripts/cli/commands/spec/DoneCommand.js +69 -28
  136. package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
  137. package/dist/scripts/cli/commands/spec/DraftCommand.js +166 -81
  138. package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
  139. package/dist/scripts/cli/commands/spec/MatrixCommand.js +24 -27
  140. package/dist/scripts/cli/commands/spec/MatrixCommand.js.map +1 -1
  141. package/dist/scripts/cli/commands/spec/NewCommand.js +11 -14
  142. package/dist/scripts/cli/commands/spec/NewCommand.js.map +1 -1
  143. package/dist/scripts/cli/commands/spec/PetCommand.js +102 -0
  144. package/dist/scripts/cli/commands/spec/PetCommand.js.map +1 -0
  145. package/dist/scripts/cli/commands/spec/PlanCommand.js +34 -39
  146. package/dist/scripts/cli/commands/spec/PlanCommand.js.map +1 -1
  147. package/dist/scripts/cli/commands/spec/ReqCommand.js +51 -58
  148. package/dist/scripts/cli/commands/spec/ReqCommand.js.map +1 -1
  149. package/dist/scripts/cli/commands/spec/StatusCommand.js +93 -47
  150. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  151. package/dist/scripts/cli/commands/spec/StudioCommand.js +16 -24
  152. package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
  153. package/dist/scripts/cli/commands/specops/ContributeCommand.js +24 -32
  154. package/dist/scripts/cli/commands/specops/ContributeCommand.js.map +1 -1
  155. package/dist/scripts/cli/commands/specops/DiffCommand.js +3 -2
  156. package/dist/scripts/cli/commands/specops/DiffCommand.js.map +1 -1
  157. package/dist/scripts/cli/commands/specops/SyncCommand.js +4 -3
  158. package/dist/scripts/cli/commands/specops/SyncCommand.js.map +1 -1
  159. package/dist/scripts/docs/blocks.js +4 -4
  160. package/dist/scripts/docs/blocks.js.map +1 -1
  161. package/dist/scripts/docs/build-site.js +104 -9
  162. package/dist/scripts/docs/build-site.js.map +1 -1
  163. package/dist/scripts/docs/components.js +30 -25
  164. package/dist/scripts/docs/components.js.map +1 -1
  165. package/dist/scripts/docs/nav.js +144 -40
  166. package/dist/scripts/docs/nav.js.map +1 -1
  167. package/dist/scripts/docs/record-journey.js +2 -2
  168. package/dist/scripts/docs/record-journey.js.map +1 -1
  169. package/dist/scripts/docs/record-terminal.js +12 -12
  170. package/dist/scripts/docs/record-terminal.js.map +1 -1
  171. package/dist/scripts/draft/brief-setup.js +4 -0
  172. package/dist/scripts/draft/brief-setup.js.map +1 -1
  173. package/dist/scripts/draft/confined-agent.js +19 -0
  174. package/dist/scripts/draft/confined-agent.js.map +1 -1
  175. package/dist/scripts/draft/drafting-guide.js +3 -1
  176. package/dist/scripts/draft/drafting-guide.js.map +1 -1
  177. package/dist/scripts/gen_mcp_tools.js +4 -4
  178. package/dist/scripts/gen_mcp_tools.js.map +1 -1
  179. package/dist/scripts/harness/init.js +25 -16
  180. package/dist/scripts/harness/init.js.map +1 -1
  181. package/dist/scripts/harness/report.js +39 -40
  182. package/dist/scripts/harness/report.js.map +1 -1
  183. package/dist/scripts/harness/worktree-lock.js +2 -2
  184. package/dist/scripts/harness/worktree-lock.js.map +1 -1
  185. package/dist/scripts/lib/command.js +3 -2
  186. package/dist/scripts/lib/command.js.map +1 -1
  187. package/dist/scripts/lib/derived-writes.js +1 -1
  188. package/dist/scripts/lib/diagnostics.js +12 -16
  189. package/dist/scripts/lib/diagnostics.js.map +1 -1
  190. package/dist/scripts/lib/placeholders.js +4 -4
  191. package/dist/scripts/lib/placeholders.js.map +1 -1
  192. package/dist/scripts/lib/surface.js +45 -14
  193. package/dist/scripts/lib/surface.js.map +1 -1
  194. package/dist/scripts/lib/ui.js +356 -0
  195. package/dist/scripts/lib/ui.js.map +1 -0
  196. package/dist/scripts/merge-traceability.js +3 -3
  197. package/dist/scripts/pet/pet.js +331 -0
  198. package/dist/scripts/pet/pet.js.map +1 -0
  199. package/dist/scripts/pet.js +10 -0
  200. package/dist/scripts/pet.js.map +1 -0
  201. package/dist/scripts/plugin/gate-hook.js +1 -1
  202. package/dist/scripts/plugin/gate-hook.js.map +1 -1
  203. package/dist/scripts/schema/registry.js +2 -2
  204. package/dist/scripts/schema/registry.js.map +1 -1
  205. package/dist/scripts/specops/add.js +23 -32
  206. package/dist/scripts/specops/add.js.map +1 -1
  207. package/dist/scripts/specops/lock.js +4 -4
  208. package/dist/scripts/specops/lock.js.map +1 -1
  209. package/dist/scripts/specops/remove.js +15 -24
  210. package/dist/scripts/specops/remove.js.map +1 -1
  211. package/package.json +1 -2
@@ -61,6 +61,8 @@ exports.pasteLine = pasteLine;
61
61
  const fs = __importStar(require("node:fs"));
62
62
  const path = __importStar(require("node:path"));
63
63
  const command_1 = require("../../../lib/command");
64
+ const ui = __importStar(require("../../../lib/ui"));
65
+ const ui_1 = require("../../../lib/ui");
64
66
  const agent_1 = require("../../../lib/agent");
65
67
  const diagnostics_1 = require("../../../lib/diagnostics");
66
68
  const project_root_1 = require("../../../lib/project-root");
@@ -220,7 +222,7 @@ function projectIds(projectDir) {
220
222
  owners.set(id, id);
221
223
  }
222
224
  for (const f of sources.features || []) {
223
- for (const tags of Object.values((0, GherkinTags_1.csdaTagsByScenario)(f.source))) {
225
+ for (const tags of Object.values((0, GherkinTags_1.specgateTagsByScenario)(f.source))) {
224
226
  const req = tags.find((t) => /^@REQ-/.test(t));
225
227
  for (const t of tags.filter((x) => /^@SCN-/.test(x))) {
226
228
  if (req)
@@ -344,6 +346,55 @@ function briefProgress(projectDir) {
344
346
  function draftNextCommand(s) {
345
347
  return s.state === "ready" ? `specgate change archive ${s.change}` : `specgate draft ${s.module}`;
346
348
  }
349
+ /** `➜ claude -p … is drafting catalogo…`, and why a flag was added. */
350
+ function agentLine(command, doing, added) {
351
+ return (` ${ui_1.c.brand}${ui_1.sym.next}${ui_1.c.reset} ${ui.cmd(command)} ${doing}${ui.muted("…")}\n` +
352
+ (added
353
+ ? ` ${ui.muted("edit permission added: claude -p cannot write files otherwise")}\n`
354
+ : "") +
355
+ "\n");
356
+ }
357
+ /** Each module of the brief and where it stands, on one line: `auth ✔ ready · catalog ○ not started`. */
358
+ function briefLine(projectDir, brief) {
359
+ const text = readIf(path.resolve(projectDir, brief));
360
+ const modules = text === undefined ? [] : (0, DraftChecklist_1.briefModules)(text);
361
+ if (modules.length < 2)
362
+ return null;
363
+ const mark = {
364
+ archived: `${ui.state("done")} archived`,
365
+ ready: `${ui.state("ready")} ready`,
366
+ drafting: `${ui.state("doing")} drafting`,
367
+ "not written": `${ui.state("todo")} opened`,
368
+ "not started": `${ui.state("todo")} not started`,
369
+ };
370
+ const states = modules.map((m) => moduleStatus(projectDir, m, brief));
371
+ const done = states.filter((s) => s.state === "archived").length;
372
+ return (states.map((s) => `${s.module} ${mark[s.state]}`).join(ui.muted(` ${ui_1.sym.bullet} `)) +
373
+ ui.muted(` (${done} of ${modules.length} archived)`));
374
+ }
375
+ /**
376
+ * A second `--agent` pass on a draft with findings: the agent cannot run the
377
+ * checker (it may only edit), so it gets the findings in its prompt — without
378
+ * them it would redraft blind and leave the same ones behind.
379
+ */
380
+ function openFindings(projectDir, changeId, brief) {
381
+ if (!fs.existsSync(path.join(projectDir, CHANGES, changeId)))
382
+ return "";
383
+ const result = draftReport(projectDir, changeId, brief);
384
+ if ("failure" in result || result.report.status.length === 0)
385
+ return "";
386
+ const lines = result.report.status.map((d) => `- ${d.code}: ${d.message}${d.fix ? `\n fix: ${d.fix}` : ""}`);
387
+ return ("\n\n---\n\n## The draft already exists. Fix these findings, and only these:\n\n" +
388
+ lines.join("\n") +
389
+ "\n");
390
+ }
391
+ /** The first module of the brief, other than this one, not yet archived. */
392
+ function nextModuleAfter(projectDir, brief, current) {
393
+ const text = readIf(path.resolve(projectDir, brief));
394
+ if (text === undefined)
395
+ return null;
396
+ return ((0, DraftChecklist_1.briefModules)(text).find((m) => m !== current && moduleStatus(projectDir, m, brief).state !== "archived") || null);
397
+ }
347
398
  /** `docs/specs/BRIEF-SETUP.md`: the guide an agent follows to propose the front matter. */
348
399
  function writeSetupGuide(projectDir, brief) {
349
400
  const file = path.join(projectDir, brief_setup_1.BRIEF_SETUP_FILE);
@@ -439,11 +490,11 @@ function openDraft(projectDir, module, brief, o) {
439
490
  return { changeId, reqRange, created };
440
491
  }
441
492
  const ICON = {
442
- "not started": "○",
443
- "not written": "○",
444
- drafting: "✎",
445
- ready: "✔",
446
- archived: "✔",
493
+ "not started": () => ui.state("todo"),
494
+ "not written": () => ui.state("todo"),
495
+ drafting: () => ui.state("doing"),
496
+ ready: () => ui.state("ready"),
497
+ archived: () => ui.state("done"),
447
498
  };
448
499
  function describe(s) {
449
500
  if (s.state === "drafting")
@@ -505,7 +556,7 @@ class DraftCommand extends command_1.BaseCommand {
505
556
  // (a) No brief: what one is, and how to get one.
506
557
  if (text === undefined) {
507
558
  if (!opts.json) {
508
- process.stdout.write(`\n${(0, brief_setup_1.noBriefExplanation)(rel)}\n`);
559
+ process.stdout.write(ui.header("draft") + `${(0, brief_setup_1.noBriefExplanation)(rel)}\n`);
509
560
  process.exitCode = 1;
510
561
  return;
511
562
  }
@@ -530,13 +581,13 @@ class DraftCommand extends command_1.BaseCommand {
530
581
  prompt: brief_setup_1.BRIEF_SETUP_PASTE,
531
582
  next: 'specgate draft --agent "claude -p"',
532
583
  },
533
- }, () => process.stdout.write(`\n specgate draft · ${rel}\n\n` +
584
+ }, () => process.stdout.write(ui.header("draft", rel) +
534
585
  (0, brief_setup_1.frontMatterExplanation)(rel) +
535
- "\n Or let your agent propose it from your brief. Paste this into Claude Code,\n" +
536
- " Cursor, Codex…:\n\n" +
537
- ` ${brief_setup_1.BRIEF_SETUP_PASTE}\n\n` +
538
- ' or let Specgate call it: specgate draft --agent "claude -p"\n\n' +
539
- " Either way, review the four fields, then run specgate draft again.\n\n"));
586
+ "\n" +
587
+ ui.section("Or let your agent propose it") +
588
+ " Paste this into Claude Code, Cursor, Codex…\n\n" +
589
+ ui.quote(brief_setup_1.BRIEF_SETUP_PASTE) +
590
+ ui.next('specgate draft --agent "claude -p"', "Specgate calls your agent for you — then review the four fields and run specgate draft again")));
540
591
  return;
541
592
  }
542
593
  // (c) A front matter with problems: each in plain words, with its fix.
@@ -547,11 +598,11 @@ class DraftCommand extends command_1.BaseCommand {
547
598
  status: problems.map((p) => (0, diagnostics_1.error)(p.code, p.message, { fix: p.fix })),
548
599
  }, () => {
549
600
  const out = process.stdout;
550
- out.write(`\n specgate draft · ${rel}\n\n`);
601
+ out.write(ui.header("draft", rel));
551
602
  out.write(` The front matter at the top of ${rel} needs ${problems.length} fix(es):\n\n`);
552
603
  for (const p of problems)
553
- out.write(` ✖ ${p.message}\n ${p.fix}\n`);
554
- out.write(`\n Next fix them in ${rel}, then specgate draft\n\n`);
604
+ out.write(ui.fail(p.message) + ui.fix(p.fix));
605
+ out.write(ui.next("specgate draft", `once they are fixed in ${rel}`));
555
606
  });
556
607
  process.exitCode = 1;
557
608
  return;
@@ -564,17 +615,18 @@ class DraftCommand extends command_1.BaseCommand {
564
615
  const product = /^product:\s*(.+)$/m.exec((0, brief_setup_1.frontMatter)(brief.text) || "");
565
616
  io.emit({ draft: { brief: rel, modules: states, next } }, () => {
566
617
  const out = process.stdout;
567
- out.write(`\n specgate draft · ${rel}\n\n`);
618
+ out.write(ui.header("draft", rel));
568
619
  if (product)
569
- out.write(` Product ${product[1].trim()}\n\n`);
570
- const width = Math.max(...modules.map((m) => m.length));
571
- out.write(" Modules\n");
572
- for (const s of states) {
573
- out.write(` ${ICON[s.state]} ${s.module.padEnd(width)} ${describe(s)}\n`);
574
- }
620
+ out.write(ui.kv("Product", ui.bold(product[1].trim()), 10));
621
+ const archived = states.filter((s) => s.state === "archived").length;
622
+ out.write(ui.kv("Progress", ui.progress(archived, states.length, "archived"), 10));
623
+ out.write("\n" + ui.section("Modules"));
624
+ out.write(ui.table(states.map((s) => [`${ICON[s.state]()} ${s.module}`, ui.muted(describe(s))])));
575
625
  out.write(pending
576
- ? `\n Next ${next}\n\n`
577
- : `\n Every module is drafted and archived.\n Next ${next} — what to build first\n\n`);
626
+ ? ui.next(next)
627
+ : "\n" +
628
+ ui.ok("Every module is drafted and archived.") +
629
+ ui.next(next, "what to build first"));
578
630
  });
579
631
  }
580
632
  /** `--new-brief`: the template, never over a brief that exists. */
@@ -589,16 +641,17 @@ class DraftCommand extends command_1.BaseCommand {
589
641
  }
590
642
  fs.mkdirSync(path.dirname(file), { recursive: true });
591
643
  fs.writeFileSync(file, brief_setup_1.BRIEF_TEMPLATE, "utf8");
592
- io.emit({ draft: { brief: rel, written: true, next: "specgate draft" } }, () => process.stdout.write(`\n ✔ Wrote ${rel} — a brief to fill in.\n\n` +
593
- " Fill it in, in your own words:\n" +
644
+ io.emit({ draft: { brief: rel, written: true, next: "specgate draft" } }, () => process.stdout.write(ui.header("draft --new-brief") +
645
+ ui.ok(`Wrote ${rel} — a brief to fill in.`) +
646
+ "\n Fill it in, in your own words:\n" +
594
647
  " 1. The four fields at the top — product, surfaces, actors, modules.\n" +
595
648
  " Each has an example in the comment above it.\n" +
596
649
  " 2. The sections below — what the product is, who uses it and how, what\n" +
597
650
  " each one must be able to do, the rules and numbers you already know,\n" +
598
651
  " what you don't know yet, and what is out of scope.\n\n" +
599
652
  " Have a plan or an email already? Paste it under the four fields instead\n" +
600
- " of the sections — Specgate reads it as it is.\n\n" +
601
- " Next specgate draft — it checks the four fields and says what is next\n\n"));
653
+ " of the sections — Specgate reads it as it is.\n" +
654
+ ui.next("specgate draft", "it checks the four fields and says what is next")));
602
655
  }
603
656
  /**
604
657
  * `draft --agent` without a module: the agent proposes the front matter.
@@ -610,8 +663,9 @@ class DraftCommand extends command_1.BaseCommand {
610
663
  const io = (0, agent_1.agentIo)(opts.json);
611
664
  if ((0, brief_setup_1.frontMatter)(brief.text) !== null && (0, brief_setup_1.checkFrontMatter)(brief.text).length === 0) {
612
665
  const first = (0, DraftChecklist_1.briefModules)(brief.text)[0];
613
- io.emit({ draft: { brief: brief.rel, frontMatter: "ok", next: `specgate draft ${first}` } }, () => process.stdout.write(`\n The front matter of ${brief.rel} is already there and complete — nothing for the agent to do.\n` +
614
- ` Next specgate draft ${first}\n\n`));
666
+ io.emit({ draft: { brief: brief.rel, frontMatter: "ok", next: `specgate draft ${first}` } }, () => process.stdout.write(ui.header("draft --agent", brief.rel) +
667
+ ui.ok(`The front matter of ${brief.rel} is already there and complete — nothing for the agent to do.`) +
668
+ ui.next(`specgate draft ${first}`)));
615
669
  return;
616
670
  }
617
671
  writeSetupGuide(projectDir, brief.rel);
@@ -619,14 +673,16 @@ class DraftCommand extends command_1.BaseCommand {
619
673
  .relative(projectDir, path.resolve(projectDir, brief.rel))
620
674
  .split(path.sep)
621
675
  .join("/");
676
+ const agent = (0, confined_agent_1.withWritePermission)(opts.agent);
622
677
  if (!opts.json) {
623
- process.stdout.write(`\n → ${opts.agent} is proposing the front matter of ${brief.rel}…\n\n`);
678
+ process.stdout.write(ui.header("draft --agent", brief.rel) +
679
+ agentLine(agent.command, `is proposing the front matter of ${brief.rel}`, agent.added));
624
680
  }
625
681
  const run = (0, confined_agent_1.runConfinedAgent)({
626
682
  projectDir,
627
683
  changeId: "brief",
628
684
  allowed: (rel) => rel === own,
629
- command: opts.agent,
685
+ command: agent.command,
630
686
  prompt: (0, brief_setup_1.briefSetupPrompt)((0, brief_setup_1.briefSetupGuide)(brief.rel)),
631
687
  showOutput: !opts.json,
632
688
  });
@@ -639,7 +695,8 @@ class DraftCommand extends command_1.BaseCommand {
639
695
  ]);
640
696
  }
641
697
  if (run.reverted.length > 0 && !opts.json) {
642
- process.stdout.write(`\n ↺ Undone — the agent wrote outside the brief: ${run.reverted.join(", ")}\n`);
698
+ process.stdout.write("\n" +
699
+ ui.warn(`${ui_1.sym.undo} Undone — the agent wrote outside the brief: ${run.reverted.join(", ")}`));
643
700
  }
644
701
  const after = readIf(path.resolve(projectDir, brief.rel)) ?? "";
645
702
  if ((0, brief_setup_1.briefBody)(after) !== (0, brief_setup_1.briefBody)(brief.text)) {
@@ -661,7 +718,7 @@ class DraftCommand extends command_1.BaseCommand {
661
718
  if (proposed === null) {
662
719
  io.fail({ draft: null }, [
663
720
  (0, diagnostics_1.error)("draft_no_front_matter", "The agent wrote no front matter.", {
664
- fix: "Run `specgate draft` to see the four fields, and write them yourself.",
721
+ fix: `${confined_agent_1.NO_WRITE_HINT} Or run \`specgate draft\` to see the four fields, and write them yourself.`,
665
722
  }),
666
723
  ]);
667
724
  }
@@ -671,16 +728,16 @@ class DraftCommand extends command_1.BaseCommand {
671
728
  status: problems.map((p) => (0, diagnostics_1.error)(p.code, p.message, { fix: p.fix })),
672
729
  }, () => {
673
730
  const out = process.stdout;
674
- out.write(`\n The agent proposed this, at the top of ${brief.rel}:\n\n`);
675
- for (const l of ["---", ...proposed.split("\n"), "---"])
676
- out.write(` ${l}\n`);
677
- out.write("\n Your brief below it is unchanged.\n");
731
+ out.write(ui.rule() + "\n");
732
+ out.write(ui.ok(`The agent proposed this, at the top of ${brief.rel}:`) + "\n");
733
+ out.write(ui.block(["---", ...proposed.split("\n"), "---"].join("\n")));
734
+ out.write("\n" + ui.info("Your brief below it is unchanged."));
678
735
  if (problems.length > 0) {
679
736
  out.write(`\n It still needs ${problems.length} fix(es):\n`);
680
737
  for (const p of problems)
681
- out.write(` ✖ ${p.message}\n ${p.fix}\n`);
738
+ out.write(ui.fail(p.message) + ui.fix(p.fix));
682
739
  }
683
- out.write("\n Review it — change anything — then specgate draft\n\n");
740
+ out.write(ui.next("specgate draft", "review it — change anything — then run it"));
684
741
  });
685
742
  }
686
743
  // ── specgate draft <module> ─────────────────────────────────────────────────
@@ -697,8 +754,9 @@ class DraftCommand extends command_1.BaseCommand {
697
754
  state: "archived",
698
755
  next: "specgate draft",
699
756
  },
700
- }, () => process.stdout.write(`\n ✔ ${opts.module} is already drafted and archived (${status.archivedAs}).\n\n` +
701
- " Next specgate draft — the next module of the brief, or what to build first\n\n"));
757
+ }, () => process.stdout.write(ui.header(`draft ${opts.module}`) +
758
+ ui.ok(`${opts.module} is already drafted and archived ${ui.muted(`(${status.archivedAs})`)}`) +
759
+ ui.next("specgate draft", "the next module of the brief, or what to build first")));
702
760
  return;
703
761
  }
704
762
  if (status.state === "not started") {
@@ -736,25 +794,24 @@ class DraftCommand extends command_1.BaseCommand {
736
794
  }, () => {
737
795
  const out = process.stdout;
738
796
  const dir = `${CHANGES.split(path.sep).join("/")}/${opened.changeId}`;
739
- out.write(`\n ✔ Draft ${opened.changeId} opened, linked to ${brief.rel} ` +
740
- `(REQ ids ${opened.reqRange[0]}…${opened.reqRange[1]} reserved)\n\n` +
741
- [
742
- [`${dir}/DRAFTING.md`, "how to write it"],
743
- [`${dir}/specs/${opts.module}/spec.md`, "the requirements go here"],
744
- [`${dir}/change.yaml, proposal.md`, ""],
745
- ]
746
- .map(([f, why], _i, all) => {
747
- const w = Math.max(...all.map((r) => r[0].length));
748
- return ` + ${why ? f.padEnd(w) + " " + why : f}\n`;
749
- })
750
- .join("") +
797
+ const files = [
798
+ [`${dir}/DRAFTING.md`, "how to write it"],
799
+ [`${dir}/specs/${opts.module}/spec.md`, "the requirements go here"],
800
+ [`${dir}/change.yaml, proposal.md`, ""],
801
+ ];
802
+ const w = Math.max(...files.map((r) => r[0].length));
803
+ out.write(ui.header(`draft ${opts.module}`, brief.rel) +
804
+ ui.ok(`Draft ${ui.bold(opened.changeId)} opened ` +
805
+ ui.muted(`· REQ ids ${opened.reqRange[0]}…${opened.reqRange[1]} reserved`)) +
806
+ "\n" +
807
+ files.map(([f, why]) => ui.fileLine("added", why ? ui.pad(f, w) : f, why)).join("") +
751
808
  "\n" +
752
- " Have your agent write it. Paste this into Claude Code, Cursor, Codex…:\n\n" +
753
- ` ${pasteLine(opts.module)}\n\n` +
754
- ` or let Specgate call it: specgate draft ${opts.module} --agent "claude -p"\n\n` +
755
- ` Then run specgate draft ${opts.module} until it says Ready to review.\n\n`);
809
+ ui.section("Have your agent write it") +
810
+ " Paste this into Claude Code, Cursor, Codex…\n\n" +
811
+ ui.quote(pasteLine(opts.module)) +
812
+ ui.next(`specgate draft ${opts.module} --agent "claude -p"`, `or let Specgate call it — then run specgate draft ${opts.module} until it says Ready to review`));
756
813
  for (const n of notes)
757
- out.write(` ℹ ${n.message}\n ${n.fix}\n\n`);
814
+ out.write(ui.info(n.message) + ui.fix(n.fix) + "\n");
758
815
  });
759
816
  return;
760
817
  }
@@ -768,15 +825,17 @@ class DraftCommand extends command_1.BaseCommand {
768
825
  const io = (0, agent_1.agentIo)(opts.json);
769
826
  const changeId = `draft-${opts.module}`;
770
827
  const guide = readIf(path.join(projectDir, CHANGES, changeId, "DRAFTING.md")) || "";
828
+ const agent = (0, confined_agent_1.withWritePermission)(opts.agent);
771
829
  if (!opts.json) {
772
- process.stdout.write(`\n ${created.length ? `✔ Draft ${changeId} opened, linked to ${brief}.\n ` : ""}` +
773
- `→ ${opts.agent} is drafting ${opts.module}…\n\n`);
830
+ process.stdout.write(ui.header(`draft ${opts.module}`, brief) +
831
+ (created.length ? ui.ok(`Draft ${changeId} opened, linked to ${brief}.`) : "") +
832
+ agentLine(agent.command, `is drafting ${opts.module}`, agent.added));
774
833
  }
775
834
  const run = (0, confined_agent_1.runConfinedAgent)({
776
835
  projectDir,
777
836
  changeId,
778
- command: opts.agent,
779
- prompt: (0, drafting_guide_1.draftingPrompt)(opts.module, changeId, guide),
837
+ command: agent.command,
838
+ prompt: (0, drafting_guide_1.draftingPrompt)(opts.module, changeId, guide) + openFindings(projectDir, changeId, brief),
780
839
  showOutput: !opts.json,
781
840
  });
782
841
  if (run.problem === "no_git") {
@@ -790,7 +849,8 @@ class DraftCommand extends command_1.BaseCommand {
790
849
  ]);
791
850
  }
792
851
  if (run.reverted.length > 0 && !opts.json) {
793
- process.stdout.write(`\n ↺ Undone — the agent wrote outside the draft: ${run.reverted.join(", ")}\n`);
852
+ process.stdout.write("\n" +
853
+ ui.warn(`${ui_1.sym.undo} Undone — the agent wrote outside the draft: ${run.reverted.join(", ")}`));
794
854
  }
795
855
  if (!run.ok) {
796
856
  io.fail({ draft: null }, [
@@ -799,13 +859,17 @@ class DraftCommand extends command_1.BaseCommand {
799
859
  }),
800
860
  ]);
801
861
  }
802
- this.report(opts, projectDir, brief, run.reverted);
862
+ this.report(opts, projectDir, brief, run.reverted, true);
803
863
  }
804
864
  /** The checklist on `draft-<module>`, and what comes next. */
805
- report(opts, projectDir, brief, reverted = []) {
865
+ report(opts, projectDir, brief, reverted = [], afterAgent = false) {
806
866
  const io = (0, agent_1.agentIo)(opts.json);
807
867
  const changeId = `draft-${opts.module}`;
808
868
  const status = moduleStatus(projectDir, opts.module, brief);
869
+ // The agent's own output is long and ends just above this: a rule marks
870
+ // where Specgate takes over again, so the next step is not lost in it (#105).
871
+ if (afterAgent && !opts.json)
872
+ process.stdout.write(ui.rule());
809
873
  if (status.state === "not written") {
810
874
  io.emit({
811
875
  draft: {
@@ -816,10 +880,14 @@ class DraftCommand extends command_1.BaseCommand {
816
880
  prompt: pasteLine(opts.module),
817
881
  next: `specgate draft ${opts.module}`,
818
882
  },
819
- }, () => process.stdout.write(`\n specgate draft ${opts.module} · ${brief}\n\n` +
820
- " The draft is still the placeholder. Have your agent write it:\n\n" +
821
- ` ${pasteLine(opts.module)}\n\n` +
822
- ` or: specgate draft ${opts.module} --agent "claude -p"\n\n`));
883
+ }, () => process.stdout.write((afterAgent ? "\n" : ui.header(`draft ${opts.module}`, brief)) +
884
+ (afterAgent
885
+ ? ui.fail("The agent ran, but the draft is still the placeholder.") +
886
+ ui.fix(confined_agent_1.NO_WRITE_HINT) +
887
+ "\n"
888
+ : " The draft is still the placeholder. Have your agent write it:\n\n" +
889
+ ui.quote(pasteLine(opts.module)) +
890
+ ui.next(`specgate draft ${opts.module} --agent "claude -p"`, "or let Specgate call it"))));
823
891
  process.exitCode = 1;
824
892
  return;
825
893
  }
@@ -847,17 +915,32 @@ class DraftCommand extends command_1.BaseCommand {
847
915
  status: diags,
848
916
  }, () => {
849
917
  const out = process.stdout;
850
- out.write(`\n specgate draft ${opts.module} · ${brief}\n\n`);
918
+ out.write(afterAgent ? "\n" : ui.header(`draft ${opts.module}`, brief));
851
919
  writeFindings(report, diags);
920
+ const dir = `${CHANGES.split(path.sep).join("/")}/${changeId}`;
921
+ const steps = [];
852
922
  if (errors === 0) {
853
- out.write(`${diags.length ? "\n" : ""} ✔ Ready to review.\n\n` +
854
- ` Next read it with whoever knows the business, answer what you can in\n` +
855
- ` questions.md, then ${next}\n\n`);
923
+ out.write(`${diags.length ? "\n" : ""}` + ui.ok(ui.bold("Ready to review")));
924
+ steps.push(`Read ${dir}/specs/ with whoever knows the business`, fs.existsSync(path.join(projectDir, CHANGES, changeId, "questions.md"))
925
+ ? `Answer what you can in ${dir}/questions.md`
926
+ : `Check ${dir}/assumptions.md, if the agent wrote one`, next);
927
+ const after = nextModuleAfter(projectDir, brief, opts.module);
928
+ steps.push(after
929
+ ? [`specgate draft ${after}`, "the next module of the brief"]
930
+ : ["specgate status", "every module drafted: what to build first"]);
856
931
  }
857
932
  else {
858
- out.write(`\n ✖ ${errors} finding(s) to fix. Each says how; DRAFTING.md has the formats.\n` +
859
- ` Next fix them (or ask your agent to), then ${next}\n\n`);
933
+ out.write("\n" +
934
+ ui.fail(`${ui.bold(`${errors} finding(s) to fix`)} ${ui.muted("— each says how; DRAFTING.md has the formats")}`));
935
+ steps.push([
936
+ `specgate draft ${opts.module} --agent "claude -p"`,
937
+ "your agent fixes them — or fix them yourself",
938
+ ], [next, "again, until it says Ready to review"]);
860
939
  }
940
+ const progress = briefLine(projectDir, brief);
941
+ if (progress)
942
+ out.write(`\n ${ui_1.c.bold}Brief${ui_1.c.reset} ${progress}\n`);
943
+ out.write(ui.steps("What now", steps));
861
944
  });
862
945
  process.exitCode = errors === 0 ? 0 : 1;
863
946
  }
@@ -883,7 +966,7 @@ class DraftCommand extends command_1.BaseCommand {
883
966
  status,
884
967
  }, () => {
885
968
  const out = process.stdout;
886
- out.write(`\n specgate draft --check ${opts.check}\n\n`);
969
+ out.write(ui.header(`draft --check ${opts.check}`));
887
970
  writeFindings(report, status);
888
971
  const skipped = report.skipped.length;
889
972
  out.write(errors === 0
@@ -901,11 +984,13 @@ function skippedNotes(report) {
901
984
  }
902
985
  function writeFindings(report, status) {
903
986
  const out = process.stdout;
904
- out.write(` ${report.requirements} requirement(s), ${report.scenarios} scenario(s)\n\n`);
987
+ out.write(` ${ui_1.c.bold}${report.requirements}${ui_1.c.reset} requirement(s) ${ui.muted(ui_1.sym.bullet)} ` +
988
+ `${ui_1.c.bold}${report.scenarios}${ui_1.c.reset} scenario(s)\n\n`);
905
989
  for (const d of status) {
906
- out.write(` ${d.severity === "error" ? "✖" : "ℹ"} ${d.code} ${d.message}\n`);
990
+ const line = `${ui.muted(d.code)} ${d.message}`;
991
+ out.write(d.severity === "error" ? ui.fail(line) : ui.info(line));
907
992
  if (d.fix && d.severity === "error")
908
- out.write(` fix: ${d.fix}\n`);
993
+ out.write(ui.fix(d.fix));
909
994
  }
910
995
  }
911
996
  //# sourceMappingURL=DraftCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraftCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/spec/DraftCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DraftCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/spec/DraftCommand.ts"],"names":[],"mappings":"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"}