@rsaglobaltech/specgate 0.15.0 → 0.17.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 (64) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/bin/specgate.ts +6 -1
  3. package/dist/bin/specgate.js +5 -1
  4. package/dist/bin/specgate.js.map +1 -1
  5. package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js +10 -1
  6. package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js.map +1 -1
  7. package/dist/packages/core/src/domain/AgentPrompt.js +2 -2
  8. package/dist/packages/core/src/domain/AgentPrompt.js.map +1 -1
  9. package/dist/packages/core/src/domain/DraftChecklist.js +334 -0
  10. package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -0
  11. package/dist/packages/core/src/domain/MultiStack.js +2 -2
  12. package/dist/packages/core/src/domain/MultiStack.js.map +1 -1
  13. package/dist/packages/core/src/domain/WriteScope.js +1 -0
  14. package/dist/packages/core/src/domain/WriteScope.js.map +1 -1
  15. package/dist/packages/mcp-spec-driven/src/tools.js +14 -2
  16. package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
  17. package/dist/scripts/agents/commands.js +2 -2
  18. package/dist/scripts/agents/commands.js.map +1 -1
  19. package/dist/scripts/agents/contract-file.js +165 -0
  20. package/dist/scripts/agents/contract-file.js.map +1 -0
  21. package/dist/scripts/agents/detect.js +97 -0
  22. package/dist/scripts/agents/detect.js.map +1 -0
  23. package/dist/scripts/agents/init.js +59 -35
  24. package/dist/scripts/agents/init.js.map +1 -1
  25. package/dist/scripts/change/instructions.js +14 -6
  26. package/dist/scripts/change/instructions.js.map +1 -1
  27. package/dist/scripts/cli/commands/project/AdoptCommand.js +42 -5
  28. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  29. package/dist/scripts/cli/commands/project/InitProjectCommand.js +39 -6
  30. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  31. package/dist/scripts/cli/commands/project/UpdateCommand.js +18 -3
  32. package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
  33. package/dist/scripts/cli/commands/quality/DoctorCommand.js +11 -6
  34. package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
  35. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +5 -2
  36. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  37. package/dist/scripts/cli/commands/spec/DraftCommand.js +215 -0
  38. package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -0
  39. package/dist/scripts/cli/commands/spec/StatusCommand.js +24 -5
  40. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  41. package/dist/scripts/cli/commands/specops/SyncCommand.js +21 -1
  42. package/dist/scripts/cli/commands/specops/SyncCommand.js.map +1 -1
  43. package/dist/scripts/draft.js +11 -0
  44. package/dist/scripts/draft.js.map +1 -0
  45. package/dist/scripts/gen_mcp_tools.js +8 -2
  46. package/dist/scripts/gen_mcp_tools.js.map +1 -1
  47. package/dist/scripts/lib/agent.js +5 -4
  48. package/dist/scripts/lib/agent.js.map +1 -1
  49. package/dist/scripts/lib/blocking-stdio.js +34 -0
  50. package/dist/scripts/lib/blocking-stdio.js.map +1 -0
  51. package/dist/scripts/lib/command.js +1 -0
  52. package/dist/scripts/lib/command.js.map +1 -1
  53. package/dist/scripts/lib/surface.js +11 -1
  54. package/dist/scripts/lib/surface.js.map +1 -1
  55. package/package.json +1 -1
  56. package/templates/adopt/stack-rules.md +3 -0
  57. package/templates/backend/stack-rules.md +2 -0
  58. package/templates/base/AGENTS.md.tpl +30 -32
  59. package/templates/frontend/stack-rules.md +2 -0
  60. package/templates/mobile/stack-rules.md +7 -0
  61. package/templates/adopt/AI_RULES.md.tpl +0 -27
  62. package/templates/backend/AI_RULES.md.tpl +0 -35
  63. package/templates/frontend/AI_RULES.md.tpl +0 -34
  64. package/templates/mobile/AI_RULES.md.tpl +0 -56
@@ -9,7 +9,7 @@
9
9
  * describes behaviour, which is the point of writing it in Gherkin. But the
10
10
  * traceability matrix maps a requirement to the file that implements it and the
11
11
  * file that proves it, and those are different files in every stack — so the
12
- * matrix cannot be shared, and neither can AI_RULES.md, which is the rulebook
12
+ * matrix cannot be shared, and neither can AGENTS.md, which is the rulebook
13
13
  * for one toolchain.
14
14
  *
15
15
  * Sharing the first set and splitting the second is the whole design. Copying
@@ -24,7 +24,7 @@ exports.relativeToRoot = relativeToRoot;
24
24
  /** Paths that are one artifact for the whole tree, held at the root. */
25
25
  exports.SHARED_PATHS = ["spec.md", "features", "docs/specs/adr"];
26
26
  /** Paths each stack owns outright — they name files that differ per toolchain. */
27
- exports.PER_STACK_PATHS = ["AI_RULES.md", "README.md", "docs/specs/traceability.md"];
27
+ exports.PER_STACK_PATHS = ["AGENTS.md", "README.md", "docs/specs/traceability.md"];
28
28
  class InvalidStackList extends Error {
29
29
  }
30
30
  exports.InvalidStackList = InvalidStackList;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiStack.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/MultiStack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiStack.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/MultiStack.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ exports.parseGitStatus = parseGitStatus;
51
51
  */
52
52
  exports.DEFAULT_PROTECTED_PATHS = Object.freeze([
53
53
  "spec.md",
54
+ "AGENTS.md",
54
55
  "AI_RULES.md",
55
56
  "features/**/*.feature",
56
57
  "docs/specs/**",
@@ -1 +1 @@
1
- {"version":3,"file":"WriteScope.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/WriteScope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WriteScope.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/WriteScope.ts"],"names":[],"mappings":"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"}
@@ -54,8 +54,12 @@ class ProjectHelper {
54
54
  if (!fs.existsSync(projectDir)) {
55
55
  throw new Error(`projectDir does not exist: ${projectDir}`);
56
56
  }
57
- if (!fs.existsSync(path.join(projectDir, "spec.md"))) {
58
- throw new Error(`Not a spec-driven project (no spec.md): ${projectDir}`);
57
+ // A Specgate project has spec.md; an OpenSpec one has openspec/, and
58
+ // `specgate_verify` exists for it (ADR-0030). Requiring spec.md refused
59
+ // every OpenSpec project the tool was built for.
60
+ if (!fs.existsSync(path.join(projectDir, "spec.md")) &&
61
+ !fs.existsSync(path.join(projectDir, "openspec"))) {
62
+ throw new Error(`Not a Specgate or OpenSpec project (no spec.md, no openspec/): ${projectDir}`);
59
63
  }
60
64
  return projectDir;
61
65
  }
@@ -250,6 +254,14 @@ exports.TOOLS["specgate_check"] = new GenericCliTool("specgate_check", "The gate
250
254
  },
251
255
  required: ["projectDir"],
252
256
  }, "positional", false);
257
+ exports.TOOLS["specgate_verify"] = new GenericCliTool("specgate_verify", "Gate what OpenSpec calls done on tests that name each criterion (ADR-0030).", "verify", {
258
+ type: "object",
259
+ properties: {
260
+ projectDir: { type: "string" },
261
+ cliPath: { type: "string" },
262
+ },
263
+ required: ["projectDir"],
264
+ }, "flag", false);
253
265
  exports.TOOLS["validate_project"] = new GenericCliTool("validate_project", "Check structure, traceability, Gherkin. --strict is the gate: TDD, links, scenarios, requirements and coverage.", "validate", {
254
266
  type: "object",
255
267
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../packages/mcp-spec-driven/src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../packages/mcp-spec-driven/src/tools.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ exports.STEPS = [
20
20
  when: "Starting work, or unsure what to do next.",
21
21
  run: ["specgate status --json"],
22
22
  guidance: [
23
- "Read `spec.md` and `AI_RULES.md` first — `AI_RULES.md` is binding, not advisory.",
23
+ "Read `spec.md` and `AGENTS.md` first — `AGENTS.md` is binding, not advisory.",
24
24
  "`requirements` lists each one with what it still needs; `nextCommand` names the step.",
25
25
  "Do not start on a requirement until you can say which `REQ-NNN` it is.",
26
26
  ],
@@ -114,7 +114,7 @@ exports.STEPS = [
114
114
  ];
115
115
  /** The rules every tool's instruction file repeats, in its own format. */
116
116
  exports.PROJECT_RULES = [
117
- "`spec.md`, `AI_RULES.md` and `features/**/*.feature` are the source of truth. Do not edit them to make a test pass.",
117
+ "`spec.md`, `AGENTS.md` and `features/**/*.feature` are the source of truth. Do not edit them to make a test pass.",
118
118
  "`docs/specs/traceability.md` is generated — never edit it. A test or source file that names `REQ-NNN` is linked to that requirement; that is how work is traced.",
119
119
  "Every command takes `--json`. Use it: one document on stdout, diagnostics in `status`, each with a `fix`.",
120
120
  "Exit codes are a contract: 0 success, 1 failure or gate finding, 2 usage error.",
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../scripts/agents/commands.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEU,QAAA,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC/B,QAAQ,EAAE;YACR,kFAAkF;YAClF,uFAAuF;YACvF,wEAAwE;SACzE;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,iDAAiD,CAAC;QACxD,QAAQ,EAAE;YACR,gHAAgH;YAChH,qJAAqJ;YACrJ,0CAA0C;SAC3C;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE,8DAA8D;QACpE,GAAG,EAAE,CAAC,wBAAwB,EAAE,2CAA2C,CAAC;QAC5E,QAAQ,EAAE;YACR,oDAAoD;YACpD,6JAA6J;YAC7J,4FAA4F;YAC5F,6DAA6D;SAC9D;KACF;IACD;QACE,sEAAsE;QACtE,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,+DAA+D;QACxE,IAAI,EAAE,yDAAyD;QAC/D,GAAG,EAAE,CAAC,uBAAuB,CAAC;QAC9B,QAAQ,EAAE;YACR,kEAAkE;YAClE,kFAAkF;YAClF,yFAAyF;SAC1F;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,yCAAyC,CAAC;QAChD,QAAQ,EAAE;YACR,2GAA2G;YAC3G,0EAA0E;SAC3E;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mEAAmE;QAC5E,IAAI,EAAE,qFAAqF;QAC3F,GAAG,EAAE;YACH,iCAAiC;YACjC,8CAA8C;YAC9C,2CAA2C;SAC5C;QACD,QAAQ,EAAE;YACR,4JAA4J;YAC5J,iEAAiE;YACjE,mIAAmI;SACpI;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,sDAAsD;QAC5D,GAAG,EAAE;YACH,6CAA6C;YAC7C,+CAA+C;YAC/C,4CAA4C;SAC7C;QACD,QAAQ,EAAE;YACR,oEAAoE;YACpE,+FAA+F;SAChG;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gEAAgE;QACzE,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,eAAe,EAAE,uBAAuB,CAAC;QAC/C,QAAQ,EAAE;YACR,yGAAyG;YACzG,4GAA4G;SAC7G;KACF;CACF,CAAC;AAEF,0EAA0E;AAC7D,QAAA,aAAa,GAAG;IAC3B,qHAAqH;IACrH,kKAAkK;IAClK,2GAA2G;IAC3G,iFAAiF;IACjF,2HAA2H;CAC5H,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../scripts/agents/commands.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEU,QAAA,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC/B,QAAQ,EAAE;YACR,8EAA8E;YAC9E,uFAAuF;YACvF,wEAAwE;SACzE;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,iDAAiD,CAAC;QACxD,QAAQ,EAAE;YACR,gHAAgH;YAChH,qJAAqJ;YACrJ,0CAA0C;SAC3C;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE,8DAA8D;QACpE,GAAG,EAAE,CAAC,wBAAwB,EAAE,2CAA2C,CAAC;QAC5E,QAAQ,EAAE;YACR,oDAAoD;YACpD,6JAA6J;YAC7J,4FAA4F;YAC5F,6DAA6D;SAC9D;KACF;IACD;QACE,sEAAsE;QACtE,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,+DAA+D;QACxE,IAAI,EAAE,yDAAyD;QAC/D,GAAG,EAAE,CAAC,uBAAuB,CAAC;QAC9B,QAAQ,EAAE;YACR,kEAAkE;YAClE,kFAAkF;YAClF,yFAAyF;SAC1F;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,yCAAyC,CAAC;QAChD,QAAQ,EAAE;YACR,2GAA2G;YAC3G,0EAA0E;SAC3E;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mEAAmE;QAC5E,IAAI,EAAE,qFAAqF;QAC3F,GAAG,EAAE;YACH,iCAAiC;YACjC,8CAA8C;YAC9C,2CAA2C;SAC5C;QACD,QAAQ,EAAE;YACR,4JAA4J;YAC5J,iEAAiE;YACjE,mIAAmI;SACpI;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,sDAAsD;QAC5D,GAAG,EAAE;YACH,6CAA6C;YAC7C,+CAA+C;YAC/C,4CAA4C;SAC7C;QACD,QAAQ,EAAE;YACR,oEAAoE;YACpE,+FAA+F;SAChG;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gEAAgE;QACzE,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,eAAe,EAAE,uBAAuB,CAAC;QAC/C,QAAQ,EAAE;YACR,yGAAyG;YACzG,4GAA4G;SAC7G;KACF;CACF,CAAC;AAEF,0EAA0E;AAC7D,QAAA,aAAa,GAAG;IAC3B,mHAAmH;IACnH,kKAAkK;IAClK,2GAA2G;IAC3G,iFAAiF;IACjF,2HAA2H;CAC5H,CAAC"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ /**
3
+ * AGENTS.md as a shared file (ADR-0031).
4
+ *
5
+ * The market's agents read one `AGENTS.md`, and a team often has one before
6
+ * Specgate arrives. Specgate's contract therefore lives in a marked block:
7
+ * created when the file is new, inserted above the team's text when it is
8
+ * not, and replaced in place — and only that block — on every later run.
9
+ * The team's text outside the markers is never rewritten.
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.END = exports.BEGIN = void 0;
46
+ exports.mergeContract = mergeContract;
47
+ exports.outsideBlock = outsideBlock;
48
+ exports.rulesField = rulesField;
49
+ exports.writtenByOlderSpecgate = writtenByOlderSpecgate;
50
+ exports.buildContract = buildContract;
51
+ exports.ensureContract = ensureContract;
52
+ exports.migrateAiRules = migrateAiRules;
53
+ const fs = __importStar(require("node:fs"));
54
+ const path = __importStar(require("node:path"));
55
+ const project_root_1 = require("../lib/project-root");
56
+ exports.BEGIN = "<!-- specgate:begin — generated by specgate; edit outside this block -->";
57
+ exports.END = "<!-- specgate:end -->";
58
+ /** `existing` with the block set to `contract`. */
59
+ function mergeContract(existing, contract) {
60
+ const block = `${exports.BEGIN}\n${contract.trimEnd()}\n${exports.END}\n`;
61
+ if (existing === null || existing.trim() === "")
62
+ return block;
63
+ const start = existing.indexOf(exports.BEGIN.slice(0, 22));
64
+ const end = existing.indexOf(exports.END);
65
+ if (start !== -1 && end !== -1 && end > start) {
66
+ return existing.slice(0, start) + block + existing.slice(end + exports.END.length).replace(/^\n/, "");
67
+ }
68
+ return `${block}\n${existing}`;
69
+ }
70
+ /** The team's text: everything outside the block. */
71
+ function outsideBlock(existing) {
72
+ const start = existing.indexOf(exports.BEGIN.slice(0, 22));
73
+ const end = existing.indexOf(exports.END);
74
+ if (start === -1 || end === -1 || end < start)
75
+ return existing;
76
+ return (existing.slice(0, start) + existing.slice(end + exports.END.length)).trim();
77
+ }
78
+ // ── The contract, for a project `init` did not write it for ─────────────────
79
+ /** `- Stack: x` (AI_RULES.md) or `… · Stack: x · …` (AGENTS.md). */
80
+ function rulesField(text, name) {
81
+ const m = new RegExp(`(?:^|·)\\s*-?\\s*\\**${name}:?\\**:?\\s*([^·\\n]+)`, "im").exec(text);
82
+ return m ? m[1].trim() : null;
83
+ }
84
+ /** `# AI Rules — golden-app` / `# AI Rules - Backend (Shop)` / `# Agent Manifest — Shop`. */
85
+ function titleName(text) {
86
+ const m = /^#\s+(?:AI[ _]Rules|Agent Manifest)\s*[—–-]\s*(?:\w+\s*\(([^)]+)\)|(.+))$/im.exec(text);
87
+ return m ? (m[1] || m[2]).trim() : null;
88
+ }
89
+ /**
90
+ * Text an older Specgate generated into AGENTS.md — `agents init`'s
91
+ * instructions, `init`'s "Agent Manifest". It is replaced whole by the block;
92
+ * a team's own AGENTS.md has neither sentence, and is kept.
93
+ */
94
+ const OLDER_SPECGATE = [
95
+ "This project uses Spec-Driven Development through the `specgate` CLI.",
96
+ "This file helps AI coding agents (Claude, Copilot, Cursor, Aider, etc.)",
97
+ ];
98
+ function writtenByOlderSpecgate(text) {
99
+ return OLDER_SPECGATE.some((sig) => text.includes(sig));
100
+ }
101
+ /**
102
+ * The generated contract with the project's facts read from its existing
103
+ * rules file. The stack's rules stay where the team wrote them — `update`
104
+ * moves them below the block, verbatim — so the block's own rules section
105
+ * points there.
106
+ */
107
+ function buildContract(facts, projectDir) {
108
+ const root = (0, project_root_1.findCliRoot)(__dirname);
109
+ const tpl = fs.readFileSync(path.join(root, "templates", "base", "AGENTS.md.tpl"), "utf8");
110
+ const vars = {
111
+ PROJECT_NAME: (rulesField(facts, "Project") ||
112
+ titleName(facts) ||
113
+ path.basename(path.resolve(projectDir))).replace(/\s*\(.*\)$/, ""),
114
+ PROJECT_TYPE: "existing",
115
+ ARCHITECTURE: rulesField(facts, "Architecture") || "minimal",
116
+ DOMAIN: rulesField(facts, "Domain") || "see spec.md",
117
+ STACK: rulesField(facts, "Stack") || "see below",
118
+ API_STYLE: rulesField(facts, "API style") || rulesField(facts, "API integration") || "as built",
119
+ TESTING: rulesField(facts, "Testing") || "see below",
120
+ STACK_RULES: "- The team's own rules follow this block.",
121
+ ARCHITECTURE_MODELING_RULES: "",
122
+ ARCHITECTURE_CHECKS: "",
123
+ };
124
+ return (tpl.replace(/\{\{([A-Z_]+)\}\}/g, (all, k) => (k in vars ? vars[k] : all)).trimEnd() + "\n");
125
+ }
126
+ /**
127
+ * `AGENTS.md` for a project: the block written when missing, inserted above
128
+ * the team's text when the file has none, left alone when it has one.
129
+ * Returns what happened, or null when nothing needed writing.
130
+ */
131
+ function ensureContract(projectDir, opts = {}) {
132
+ const file = path.join(projectDir, "AGENTS.md");
133
+ const found = fs.existsSync(file) ? fs.readFileSync(file, "utf8") : null;
134
+ if (found !== null && found.includes(exports.BEGIN.slice(0, 22)))
135
+ return null;
136
+ // What an older Specgate generated is replaced, not kept below the block.
137
+ const older = found !== null && writtenByOlderSpecgate(found);
138
+ const existing = older ? null : found;
139
+ const legacy = path.join(projectDir, "AI_RULES.md");
140
+ const facts = [fs.existsSync(legacy) ? fs.readFileSync(legacy, "utf8") : "", found || ""].join("\n");
141
+ if (!opts.dryRun) {
142
+ fs.writeFileSync(file, mergeContract(existing, buildContract(facts, projectDir)), "utf8");
143
+ }
144
+ return older ? "replaced" : found === null ? "written" : "block-added";
145
+ }
146
+ /**
147
+ * ADR-0031's migration: AI_RULES.md's text moves, verbatim, below the block in
148
+ * AGENTS.md, and AI_RULES.md goes. Git keeps the old file; nothing is lost.
149
+ */
150
+ function migrateAiRules(projectDir, opts = {}) {
151
+ const legacy = path.join(projectDir, "AI_RULES.md");
152
+ if (!fs.existsSync(legacy))
153
+ return { moved: false, agents: null };
154
+ const rules = fs.readFileSync(legacy, "utf8").trim();
155
+ const agents = ensureContract(projectDir, opts);
156
+ if (!opts.dryRun) {
157
+ const file = path.join(projectDir, "AGENTS.md");
158
+ const current = fs.readFileSync(file, "utf8").trimEnd();
159
+ const moved = rules.replace(/^#\s+.*\n+/, "");
160
+ fs.writeFileSync(file, `${current}\n\n## Project rules (from AI_RULES.md)\n\n${moved}\n`, "utf8");
161
+ fs.rmSync(legacy);
162
+ }
163
+ return { moved: true, agents };
164
+ }
165
+ //# sourceMappingURL=contract-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-file.js","sourceRoot":"","sources":["../../../scripts/agents/contract-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * Which coding agents does this project already use? (simplification plan,
4
+ * phase 2: the agent is the interface)
5
+ *
6
+ * `init` and `adopt` install the `/specgate:*` commands for the agents they
7
+ * find, so the developer talks to the agent they already have from the first
8
+ * minute — without `agents init` to discover, and without files for ten
9
+ * agents nobody on the team uses.
10
+ *
11
+ * A marker is a file or directory that agent creates or reads. `AGENTS.md`
12
+ * alone is not one: several agents read it and it says nothing about which.
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.detectAgents = detectAgents;
49
+ exports.installDetectedAgents = installDetectedAgents;
50
+ const fs = __importStar(require("node:fs"));
51
+ const path = __importStar(require("node:path"));
52
+ const init_1 = require("./init");
53
+ const MARKERS = [
54
+ ["claude", [".claude", "CLAUDE.md"]],
55
+ ["cursor", [".cursor", ".cursorrules"]],
56
+ ["copilot", [path.join(".github", "copilot-instructions.md")]],
57
+ ["windsurf", [".windsurf", ".windsurfrules"]],
58
+ ["aider", [".aider.conf.yml"]],
59
+ ["gemini", [".gemini", "GEMINI.md"]],
60
+ ["cline", [".clinerules"]],
61
+ ["codex", [".codex"]],
62
+ ["antigravity", [".agents"]],
63
+ ];
64
+ function detectAgents(projectDir) {
65
+ return MARKERS.filter(([tool, files]) => init_1.TOOLS[tool] && files.some((f) => fs.existsSync(path.join(projectDir, f)))).map(([tool]) => tool);
66
+ }
67
+ /**
68
+ * The last step of `init` and `adopt`: install for the detected agents, or say
69
+ * how to. Never overwrites a file, never fails the command it ends.
70
+ */
71
+ function installDetectedAgents(projectDir, opts, log) {
72
+ if (opts.skip)
73
+ return;
74
+ let tools = [];
75
+ try {
76
+ tools = detectAgents(projectDir);
77
+ }
78
+ catch {
79
+ return;
80
+ }
81
+ if (tools.length === 0) {
82
+ log("Agent: none detected. To drive the daily loop from your agent:");
83
+ log(" specgate agents init --tool claude # or cursor, copilot, gemini, … (--help)");
84
+ return;
85
+ }
86
+ try {
87
+ const { written, skipped } = (0, init_1.writeAgentFiles)(projectDir, tools, { dryRun: opts.dryRun });
88
+ const labels = tools.map((t) => init_1.TOOLS[t].label).join(", ");
89
+ log(`Agent: ${labels} — ${opts.dryRun ? "would install" : "installed"} the /specgate:* commands` +
90
+ ` (${written.length} file(s)${skipped.length ? `, ${skipped.length} already there, left alone` : ""}).`);
91
+ log(" Ask your agent: /specgate:explore # what is left, and what to do next");
92
+ }
93
+ catch (err) {
94
+ log(`Agent: could not install the commands (${err && err.message}); run \`specgate agents init\`.`);
95
+ }
96
+ }
97
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../scripts/agents/detect.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBH,oCAIC;AAMD,sDA8BC;AAxDD,4CAA8B;AAC9B,gDAAkC;AAClC,iCAAgD;AAEhD,MAAM,OAAO,GAAsC;IACjD,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC9D,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC7C,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC9B,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IAC1B,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;CAC7B,CAAC;AAEF,SAAgB,YAAY,CAAC,UAAkB;IAC7C,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,YAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7F,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,UAAkB,EAClB,IAA0C,EAC1C,GAA0B;IAE1B,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO;IACtB,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,gEAAgE,CAAC,CAAC;QACtE,GAAG,CAAC,iFAAiF,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAA,sBAAe,EAAC,UAAU,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,GAAG,CACD,UAAU,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,2BAA2B;YAC1F,KAAK,OAAO,CAAC,MAAM,WAAW,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,CAC1G,CAAC;QACF,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CACD,0CAA0C,GAAG,IAAI,GAAG,CAAC,OAAO,kCAAkC,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -50,7 +50,9 @@ exports.instructionsBody = instructionsBody;
50
50
  exports.mcpServerConfig = mcpServerConfig;
51
51
  exports.renamedPaths = renamedPaths;
52
52
  exports.parseArgs = parseArgs;
53
+ exports.writeAgentFiles = writeAgentFiles;
53
54
  exports.main = main;
55
+ const contract_file_1 = require("./contract-file");
54
56
  const fs = __importStar(require("node:fs"));
55
57
  const path = __importStar(require("node:path"));
56
58
  const project_root_1 = require("../lib/project-root");
@@ -440,6 +442,59 @@ function parseArgs(argv) {
440
442
  }
441
443
  return opts;
442
444
  }
445
+ /**
446
+ * Write the files for `tools` into `projectDir`. An existing file is left
447
+ * untouched unless `force`. Shared by `agents init` and by `init`/`adopt`,
448
+ * which install for the agents they detect.
449
+ */
450
+ function writeAgentFiles(projectDir, tools, opts = {}) {
451
+ const written = [];
452
+ const skipped = [];
453
+ const diagnostics = [];
454
+ // Several tools share a destination — Claude and Codex both read AGENTS.md —
455
+ // so a file is written once and attributed to the tools that asked for it.
456
+ const planned = new Map();
457
+ for (const tool of tools) {
458
+ for (const file of exports.TOOLS[tool].files()) {
459
+ const entry = planned.get(file.path);
460
+ if (entry)
461
+ entry.tools.push(tool);
462
+ else
463
+ planned.set(file.path, { ...file, tools: [tool] });
464
+ }
465
+ }
466
+ {
467
+ for (const file of planned.values()) {
468
+ const tool = file.tools.join("+");
469
+ // AGENTS.md is shared with the team and other tools: Specgate owns a
470
+ // marked block in it, never the whole file (ADR-0031).
471
+ if (file.path === "AGENTS.md") {
472
+ const done = (0, contract_file_1.ensureContract)(projectDir, { dryRun: opts.dryRun });
473
+ if (done)
474
+ written.push({ tool, path: file.path });
475
+ else
476
+ skipped.push({ tool, path: file.path, reason: "has the specgate block" });
477
+ continue;
478
+ }
479
+ const target = path.join(projectDir, file.path);
480
+ const exists = fs.existsSync(target);
481
+ if (exists && !opts.force) {
482
+ skipped.push({ tool, path: file.path, reason: "exists" });
483
+ diagnostics.push((0, diagnostics_1.warning)("agent_file_exists", `${file.path} already exists — left untouched.`, {
484
+ file: file.path,
485
+ fix: "Pass --force to overwrite it, or merge the generated content by hand.",
486
+ }));
487
+ continue;
488
+ }
489
+ if (!opts.dryRun) {
490
+ fs.mkdirSync(path.dirname(target), { recursive: true });
491
+ fs.writeFileSync(target, file.contents, "utf8");
492
+ }
493
+ written.push({ tool, path: file.path });
494
+ }
495
+ }
496
+ return { written, skipped, diagnostics };
497
+ }
443
498
  function main(argv) {
444
499
  const opts = parseArgs(argv);
445
500
  const io = (0, agent_1.agentIo)(opts.json || (0, agent_1.wantsJson)(argv));
@@ -476,41 +531,10 @@ function main(argv) {
476
531
  }),
477
532
  ]);
478
533
  }
479
- const written = [];
480
- const skipped = [];
481
- const diagnostics = [];
482
- // Several tools share a destination — Claude and Codex both read AGENTS.md —
483
- // so a file is written once and attributed to the tools that asked for it.
484
- const planned = new Map();
485
- for (const tool of opts.tools) {
486
- for (const file of exports.TOOLS[tool].files()) {
487
- const entry = planned.get(file.path);
488
- if (entry)
489
- entry.tools.push(tool);
490
- else
491
- planned.set(file.path, { ...file, tools: [tool] });
492
- }
493
- }
494
- {
495
- for (const file of planned.values()) {
496
- const tool = file.tools.join("+");
497
- const target = path.join(projectDir, file.path);
498
- const exists = fs.existsSync(target);
499
- if (exists && !opts.force) {
500
- skipped.push({ tool, path: file.path, reason: "exists" });
501
- diagnostics.push((0, diagnostics_1.warning)("agent_file_exists", `${file.path} already exists — left untouched.`, {
502
- file: file.path,
503
- fix: "Pass --force to overwrite it, or merge the generated content by hand.",
504
- }));
505
- continue;
506
- }
507
- if (!opts.dryRun) {
508
- fs.mkdirSync(path.dirname(target), { recursive: true });
509
- fs.writeFileSync(target, file.contents, "utf8");
510
- }
511
- written.push({ tool, path: file.path });
512
- }
513
- }
534
+ const { written, skipped, diagnostics } = writeAgentFiles(projectDir, opts.tools, {
535
+ force: opts.force,
536
+ dryRun: opts.dryRun,
537
+ });
514
538
  io.emit({
515
539
  agents: {
516
540
  projectDir,