specky-sdd 3.7.2 → 3.8.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 (152) hide show
  1. package/.apm/agents/{design-architect.agent.md → specky-design-architect.agent.md} +2 -2
  2. package/.apm/agents/{implementer.agent.md → specky-implementer.agent.md} +2 -2
  3. package/.apm/agents/specky-onboarding.agent.md +1 -1
  4. package/.apm/agents/specky-orchestrator.agent.md +10 -10
  5. package/.apm/agents/{quality-reviewer.agent.md → specky-quality-reviewer.agent.md} +2 -2
  6. package/.apm/agents/{release-engineer.agent.md → specky-release-engineer.agent.md} +4 -4
  7. package/.apm/agents/{requirements-engineer.agent.md → specky-requirements-engineer.agent.md} +2 -2
  8. package/.apm/agents/{research-analyst.agent.md → specky-research-analyst.agent.md} +2 -2
  9. package/.apm/agents/{sdd-clarify.agent.md → specky-sdd-clarify.agent.md} +2 -2
  10. package/.apm/agents/{sdd-init.agent.md → specky-sdd-init.agent.md} +3 -3
  11. package/.apm/agents/{spec-engineer.agent.md → specky-spec-engineer.agent.md} +2 -2
  12. package/.apm/agents/{task-planner.agent.md → specky-task-planner.agent.md} +2 -2
  13. package/.apm/agents/{test-verifier.agent.md → specky-test-verifier.agent.md} +2 -2
  14. package/.apm/hooks/scripts/{artifact-validator.sh → specky-artifact-validator.sh} +11 -11
  15. package/.apm/hooks/scripts/{auto-checkpoint.sh → specky-auto-checkpoint.sh} +1 -1
  16. package/.apm/hooks/scripts/{branch-validator.sh → specky-branch-validator.sh} +3 -3
  17. package/.apm/hooks/scripts/{cognitive-debt-alert.sh → specky-cognitive-debt-alert.sh} +1 -1
  18. package/.apm/hooks/scripts/{drift-monitor.sh → specky-drift-monitor.sh} +1 -1
  19. package/.apm/hooks/scripts/{ears-validator.sh → specky-ears-validator.sh} +1 -1
  20. package/.apm/hooks/scripts/{lgtm-gate.sh → specky-lgtm-gate.sh} +1 -1
  21. package/.apm/hooks/scripts/{metrics-dashboard.sh → specky-metrics-dashboard.sh} +2 -2
  22. package/.apm/hooks/scripts/{phase-gate.sh → specky-phase-gate.sh} +1 -1
  23. package/.apm/hooks/scripts/{pipeline-guard.sh → specky-pipeline-guard.sh} +3 -3
  24. package/.apm/hooks/scripts/{release-gate.sh → specky-release-gate.sh} +1 -1
  25. package/.apm/hooks/scripts/{security-scan.sh → specky-security-scan.sh} +2 -2
  26. package/.apm/hooks/scripts/{session-banner.sh → specky-session-banner.sh} +4 -4
  27. package/.apm/hooks/scripts/{spec-quality.sh → specky-spec-quality.sh} +1 -1
  28. package/.apm/hooks/scripts/{spec-sync.sh → specky-spec-sync.sh} +2 -2
  29. package/.apm/hooks/scripts/{task-tracer.sh → specky-task-tracer.sh} +1 -1
  30. package/.apm/hooks/sdd-hooks.json +51 -51
  31. package/.apm/instructions/copilot-instructions.instructions.md +17 -17
  32. package/.apm/prompts/specky-api.prompt.md +2 -2
  33. package/.apm/prompts/specky-brownfield.prompt.md +2 -2
  34. package/.apm/prompts/specky-clarify.prompt.md +1 -1
  35. package/.apm/prompts/specky-debug-hook.prompt.md +1 -1
  36. package/.apm/prompts/specky-deploy.prompt.md +1 -1
  37. package/.apm/prompts/specky-design.prompt.md +1 -1
  38. package/.apm/prompts/specky-from-meeting.prompt.md +1 -1
  39. package/.apm/prompts/specky-greenfield.prompt.md +2 -2
  40. package/.apm/prompts/specky-implement.prompt.md +1 -1
  41. package/.apm/prompts/specky-migration.prompt.md +3 -3
  42. package/.apm/prompts/specky-release.prompt.md +1 -1
  43. package/.apm/prompts/specky-research.prompt.md +1 -1
  44. package/.apm/prompts/specky-specify.prompt.md +1 -1
  45. package/.apm/prompts/specky-tasks.prompt.md +1 -1
  46. package/.apm/prompts/specky-verify.prompt.md +1 -1
  47. package/.apm/skills/{implementer → specky-implementer}/SKILL.md +3 -3
  48. package/.apm/skills/specky-onboarding/SKILL.md +29 -29
  49. package/.apm/skills/specky-orchestrator/SKILL.md +28 -28
  50. package/.apm/skills/{release-engineer → specky-release-engineer}/SKILL.md +7 -7
  51. package/.apm/skills/{research-analyst → specky-research-analyst}/SKILL.md +2 -2
  52. package/.apm/skills/{sdd-markdown-standard → specky-sdd-markdown-standard}/SKILL.md +2 -2
  53. package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/SKILL.md +30 -30
  54. package/.apm/skills/{test-verifier → specky-test-verifier}/SKILL.md +2 -2
  55. package/CHANGELOG.md +76 -0
  56. package/README.md +24 -17
  57. package/apm-policy.yml +53 -0
  58. package/apm.lock.yaml +71 -0
  59. package/apm.yml +32 -2
  60. package/config.yml +31 -31
  61. package/dist/claude-hooks.json +51 -51
  62. package/dist/cli/commands/apm.d.ts +2 -0
  63. package/dist/cli/commands/apm.d.ts.map +1 -0
  64. package/dist/cli/commands/apm.js +139 -0
  65. package/dist/cli/commands/apm.js.map +1 -0
  66. package/dist/cli/commands/compile.d.ts +7 -0
  67. package/dist/cli/commands/compile.d.ts.map +1 -0
  68. package/dist/cli/commands/compile.js +106 -0
  69. package/dist/cli/commands/compile.js.map +1 -0
  70. package/dist/cli/commands/doctor.d.ts.map +1 -1
  71. package/dist/cli/commands/doctor.js +35 -13
  72. package/dist/cli/commands/doctor.js.map +1 -1
  73. package/dist/cli/commands/init.d.ts +1 -0
  74. package/dist/cli/commands/init.d.ts.map +1 -1
  75. package/dist/cli/commands/init.js +114 -15
  76. package/dist/cli/commands/init.js.map +1 -1
  77. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  78. package/dist/cli/commands/upgrade.js +5 -2
  79. package/dist/cli/commands/upgrade.js.map +1 -1
  80. package/dist/cli/index.js +30 -2
  81. package/dist/cli/index.js.map +1 -1
  82. package/dist/cli/lib/apm/lock.d.ts +23 -0
  83. package/dist/cli/lib/apm/lock.d.ts.map +1 -0
  84. package/dist/cli/lib/apm/lock.js +90 -0
  85. package/dist/cli/lib/apm/lock.js.map +1 -0
  86. package/dist/cli/lib/apm/manifest.d.ts +31 -0
  87. package/dist/cli/lib/apm/manifest.d.ts.map +1 -0
  88. package/dist/cli/lib/apm/manifest.js +65 -0
  89. package/dist/cli/lib/apm/manifest.js.map +1 -0
  90. package/dist/cli/lib/apm/policy.d.ts +23 -0
  91. package/dist/cli/lib/apm/policy.d.ts.map +1 -0
  92. package/dist/cli/lib/apm/policy.js +99 -0
  93. package/dist/cli/lib/apm/policy.js.map +1 -0
  94. package/dist/cli/lib/asset-copier.d.ts +13 -0
  95. package/dist/cli/lib/asset-copier.d.ts.map +1 -1
  96. package/dist/cli/lib/asset-copier.js +46 -126
  97. package/dist/cli/lib/asset-copier.js.map +1 -1
  98. package/dist/cli/lib/gitignore-writer.d.ts.map +1 -1
  99. package/dist/cli/lib/gitignore-writer.js +10 -0
  100. package/dist/cli/lib/gitignore-writer.js.map +1 -1
  101. package/dist/cli/lib/harness/compilers/agent-skills.d.ts +7 -0
  102. package/dist/cli/lib/harness/compilers/agent-skills.d.ts.map +1 -0
  103. package/dist/cli/lib/harness/compilers/agent-skills.js +23 -0
  104. package/dist/cli/lib/harness/compilers/agent-skills.js.map +1 -0
  105. package/dist/cli/lib/harness/compilers/claude.d.ts +10 -0
  106. package/dist/cli/lib/harness/compilers/claude.d.ts.map +1 -0
  107. package/dist/cli/lib/harness/compilers/claude.js +29 -0
  108. package/dist/cli/lib/harness/compilers/claude.js.map +1 -0
  109. package/dist/cli/lib/harness/compilers/common.d.ts +14 -0
  110. package/dist/cli/lib/harness/compilers/common.d.ts.map +1 -0
  111. package/dist/cli/lib/harness/compilers/common.js +43 -0
  112. package/dist/cli/lib/harness/compilers/common.js.map +1 -0
  113. package/dist/cli/lib/harness/compilers/copilot.d.ts +10 -0
  114. package/dist/cli/lib/harness/compilers/copilot.d.ts.map +1 -0
  115. package/dist/cli/lib/harness/compilers/copilot.js +32 -0
  116. package/dist/cli/lib/harness/compilers/copilot.js.map +1 -0
  117. package/dist/cli/lib/harness/compilers/cursor.d.ts +8 -0
  118. package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -0
  119. package/dist/cli/lib/harness/compilers/cursor.js +27 -0
  120. package/dist/cli/lib/harness/compilers/cursor.js.map +1 -0
  121. package/dist/cli/lib/harness/compilers/opencode.d.ts +7 -0
  122. package/dist/cli/lib/harness/compilers/opencode.d.ts.map +1 -0
  123. package/dist/cli/lib/harness/compilers/opencode.js +26 -0
  124. package/dist/cli/lib/harness/compilers/opencode.js.map +1 -0
  125. package/dist/cli/lib/harness/index.d.ts +12 -0
  126. package/dist/cli/lib/harness/index.d.ts.map +1 -0
  127. package/dist/cli/lib/harness/index.js +24 -0
  128. package/dist/cli/lib/harness/index.js.map +1 -0
  129. package/dist/cli/lib/harness/tool-map.d.ts +15 -0
  130. package/dist/cli/lib/harness/tool-map.d.ts.map +1 -0
  131. package/dist/cli/lib/harness/tool-map.js +114 -0
  132. package/dist/cli/lib/harness/tool-map.js.map +1 -0
  133. package/dist/cli/lib/harness/types.d.ts +42 -0
  134. package/dist/cli/lib/harness/types.d.ts.map +1 -0
  135. package/dist/cli/lib/harness/types.js +12 -0
  136. package/dist/cli/lib/harness/types.js.map +1 -0
  137. package/dist/cli/lib/mcp-writer.d.ts +1 -0
  138. package/dist/cli/lib/mcp-writer.d.ts.map +1 -1
  139. package/dist/cli/lib/mcp-writer.js +5 -1
  140. package/dist/cli/lib/mcp-writer.js.map +1 -1
  141. package/dist/cli/lib/paths.d.ts +16 -0
  142. package/dist/cli/lib/paths.d.ts.map +1 -1
  143. package/dist/cli/lib/paths.js +18 -0
  144. package/dist/cli/lib/paths.js.map +1 -1
  145. package/dist/copilot-hooks.json +46 -46
  146. package/dist/services/state-machine.d.ts +4 -3
  147. package/dist/services/state-machine.d.ts.map +1 -1
  148. package/dist/services/state-machine.js +17 -9
  149. package/dist/services/state-machine.js.map +1 -1
  150. package/package.json +6 -4
  151. /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/ears-notation.md +0 -0
  152. /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/model-routing.md +0 -0
@@ -9,6 +9,7 @@ import { createHash } from "node:crypto";
9
9
  import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, chmodSync, unlinkSync, } from "node:fs";
10
10
  import { basename, resolve, relative } from "node:path";
11
11
  import { sourcePaths } from "./paths.js";
12
+ import { getCompiler } from "./harness/index.js";
12
13
  function ensureDir(dir) {
13
14
  if (!existsSync(dir))
14
15
  mkdirSync(dir, { recursive: true });
@@ -71,135 +72,15 @@ function copyDir(src, dest, opts, result, renamer, transformer) {
71
72
  }
72
73
  }
73
74
  }
74
- function unique(values) {
75
- return [...new Set(values.filter(Boolean))];
76
- }
77
- function parseToolArray(tools) {
78
- const trimmed = tools.trim();
79
- if (!trimmed)
80
- return [];
81
- if (trimmed.startsWith("[")) {
82
- try {
83
- const parsed = JSON.parse(trimmed);
84
- if (Array.isArray(parsed))
85
- return parsed.map(String);
86
- }
87
- catch {
88
- // Fall through to the comma parser below.
89
- }
90
- }
91
- return trimmed
92
- .replace(/^\[/, "")
93
- .replace(/\]$/, "")
94
- .split(",")
95
- .map((token) => token.trim().replace(/^"|"$/g, ""))
96
- .filter(Boolean);
97
- }
98
- function transformToolsLine(content, mapper, format) {
99
- return content.replace(/^tools:\s*(.+)$/m, (_line, rawTools) => {
100
- const mapped = unique(parseToolArray(rawTools).flatMap(mapper));
101
- if (format === "comma-list")
102
- return `tools: ${mapped.join(", ")}`;
103
- return `tools: ${JSON.stringify(mapped)}`;
104
- });
105
- }
106
- function toCopilotTool(tool) {
107
- if (tool.startsWith("specky/"))
108
- return [tool];
109
- if (tool.startsWith("mcp__specky__")) {
110
- return [`specky/${tool.slice("mcp__specky__".length)}`];
111
- }
112
- if (tool.startsWith("sdd_"))
113
- return [`specky/${tool}`];
114
- switch (tool) {
115
- case "Read":
116
- case "Glob":
117
- case "Grep":
118
- case "search":
119
- return ["search"];
120
- case "Edit":
121
- case "Write":
122
- case "MultiEdit":
123
- case "edit":
124
- return ["edit"];
125
- case "Bash":
126
- case "runCommands":
127
- return ["runCommands"];
128
- case "WebFetch":
129
- case "WebSearch":
130
- case "fetch":
131
- return ["fetch"];
132
- case "Task":
133
- case "agent":
134
- return ["agent"];
135
- case "TodoWrite":
136
- case "todos":
137
- return ["todos"];
138
- default:
139
- return [tool];
140
- }
141
- }
142
- function toClaudeTool(tool) {
143
- if (tool.startsWith("mcp__specky__"))
144
- return [tool];
145
- if (tool.startsWith("specky/")) {
146
- return [`mcp__specky__${tool.slice("specky/".length)}`];
147
- }
148
- if (tool.startsWith("sdd_"))
149
- return [`mcp__specky__${tool}`];
150
- switch (tool) {
151
- case "search":
152
- return ["Read", "Glob", "Grep"];
153
- case "edit":
154
- return ["Edit", "Write"];
155
- case "runCommands":
156
- return ["Bash"];
157
- case "fetch":
158
- return ["WebFetch", "WebSearch"];
159
- case "agent":
160
- return ["Task"];
161
- case "todos":
162
- return ["TodoWrite"];
163
- default:
164
- return [tool];
165
- }
166
- }
167
- function toCopilotAgent(content) {
168
- return transformToolsLine(content, toCopilotTool, "json-array");
169
- }
170
- function toClaudeAgent(content) {
171
- return transformToolsLine(content, toClaudeTool, "comma-list");
172
- }
173
- function toCopilotPrompt(content) {
174
- if (/^agent:/m.test(content))
175
- return content.replace(/^mode:\s*agent\s*$/m, "");
176
- return content.replace(/^mode:\s*agent\s*$/m, "agent: agent");
177
- }
178
- function toClaudePrompt(content) {
179
- return content
180
- .replace(/^agent:\s*agent\s*\n/m, "")
181
- .replace(/^mode:\s*agent\s*\n/m, "");
182
- }
183
- function toClaudeInstruction(content) {
184
- return content.replace(/^applyTo:\s*['"]?\*\*['"]?\s*$/m, "paths: ['**']");
185
- }
186
- /**
187
- * Transform `.agent.md` (Copilot format) to `.md` (Claude Code format).
188
- */
189
- function claudeAgentRenamer(fileName) {
190
- return fileName.replace(/\.agent\.md$/, ".md");
191
- }
192
- function claudePromptRenamer(fileName) {
193
- return fileName.replace(/\.prompt\.md$/, ".md");
194
- }
195
75
  /**
196
76
  * Copy assets to Claude Code `.claude/` layout.
197
77
  */
198
78
  export function copyToClaude(pkgRoot, targets, opts) {
199
79
  const src = sourcePaths(pkgRoot);
200
80
  const result = { written: [], skipped: [] };
201
- copyDir(src.agentsDir, targets.claude.agents, opts, result, claudeAgentRenamer, toClaudeAgent);
202
- copyDir(src.promptsDir, targets.claude.commands, opts, result, claudePromptRenamer, toClaudePrompt);
81
+ const claude = getCompiler("claude");
82
+ copyDir(src.agentsDir, targets.claude.agents, opts, result, claude.renameAgent, claude.compileAgent);
83
+ copyDir(src.promptsDir, targets.claude.commands, opts, result, claude.renamePrompt, claude.compilePrompt);
203
84
  copyDir(src.skillsDir, targets.claude.skills, opts, result);
204
85
  copyDir(src.hookScriptsDir, targets.claude.hooksScripts, opts, result);
205
86
  // Make hook scripts executable (Unix only — Windows ignores mode)
@@ -220,7 +101,7 @@ export function copyToClaude(pkgRoot, targets, opts) {
220
101
  // Copy copilot-instructions to .claude/rules/
221
102
  const instructionSrc = resolve(src.instructionsDir, "copilot-instructions.instructions.md");
222
103
  if (existsSync(instructionSrc)) {
223
- copyFile(instructionSrc, resolve(targets.claude.rules, "copilot-instructions.md"), opts, result, toClaudeInstruction);
104
+ copyFile(instructionSrc, resolve(targets.claude.rules, "copilot-instructions.md"), opts, result, claude.compileInstruction);
224
105
  }
225
106
  return result;
226
107
  }
@@ -230,8 +111,9 @@ export function copyToClaude(pkgRoot, targets, opts) {
230
111
  export function copyToCopilot(pkgRoot, targets, opts) {
231
112
  const src = sourcePaths(pkgRoot);
232
113
  const result = { written: [], skipped: [] };
233
- copyDir(src.agentsDir, targets.copilot.agents, opts, result, undefined, toCopilotAgent);
234
- copyDir(src.promptsDir, targets.copilot.prompts, opts, result, undefined, toCopilotPrompt);
114
+ const copilot = getCompiler("copilot");
115
+ copyDir(src.agentsDir, targets.copilot.agents, opts, result, copilot.renameAgent, copilot.compileAgent);
116
+ copyDir(src.promptsDir, targets.copilot.prompts, opts, result, copilot.renamePrompt, copilot.compilePrompt);
235
117
  copyDir(src.skillsDir, targets.copilot.skills, opts, result);
236
118
  copyDir(src.hookScriptsDir, targets.copilot.hooksScripts, opts, result);
237
119
  // rc.14: Remove stale pre-rc.12 hooks manifest at .github/hooks/specky-sdd-hooks.json.
@@ -275,6 +157,44 @@ export function copyToCopilot(pkgRoot, targets, opts) {
275
157
  }
276
158
  return result;
277
159
  }
160
+ /**
161
+ * Copy assets to Cursor `.cursor/` layout.
162
+ */
163
+ export function copyToCursor(pkgRoot, targets, opts) {
164
+ const src = sourcePaths(pkgRoot);
165
+ const result = { written: [], skipped: [] };
166
+ const cursor = getCompiler("cursor");
167
+ copyDir(src.agentsDir, targets.cursor.agents, opts, result, cursor.renameAgent, cursor.compileAgent);
168
+ copyDir(src.promptsDir, targets.cursor.commands, opts, result, cursor.renamePrompt, cursor.compilePrompt);
169
+ copyDir(src.skillsDir, targets.shared.agentSkills, opts, result);
170
+ const instructionSrc = resolve(src.instructionsDir, "copilot-instructions.instructions.md");
171
+ if (existsSync(instructionSrc)) {
172
+ copyFile(instructionSrc, resolve(targets.cursor.rules, "copilot-instructions.mdc"), opts, result, cursor.compileInstruction);
173
+ }
174
+ return result;
175
+ }
176
+ /**
177
+ * Copy assets to OpenCode `.opencode/` layout. OpenCode has no hooks concept,
178
+ * so Specky hook primitives are intentionally skipped for this target.
179
+ */
180
+ export function copyToOpenCode(pkgRoot, targets, opts) {
181
+ const src = sourcePaths(pkgRoot);
182
+ const result = { written: [], skipped: [] };
183
+ const opencode = getCompiler("opencode");
184
+ copyDir(src.agentsDir, targets.opencode.agents, opts, result, opencode.renameAgent, opencode.compileAgent);
185
+ copyDir(src.promptsDir, targets.opencode.commands, opts, result, opencode.renamePrompt, opencode.compilePrompt);
186
+ copyDir(src.skillsDir, targets.shared.agentSkills, opts, result);
187
+ return result;
188
+ }
189
+ /**
190
+ * Copy neutral Agent Skills to the cross-client `.agents/skills/` directory.
191
+ */
192
+ export function copyToAgentSkills(pkgRoot, targets, opts) {
193
+ const src = sourcePaths(pkgRoot);
194
+ const result = { written: [], skipped: [] };
195
+ copyDir(src.skillsDir, targets.shared.agentSkills, opts, result);
196
+ return result;
197
+ }
278
198
  /**
279
199
  * Compute SHA256 of every copied file so `specky doctor` can detect drift.
280
200
  */
@@ -1 +1 @@
1
- {"version":3,"file":"asset-copier.js","sourceRoot":"","sources":["../../../src/cli/lib/asset-copier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-copier.js","sourceRoot":"","sources":["../../../src/cli/lib/asset-copier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore-writer.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/gitignore-writer.ts"],"names":[],"mappings":"AA2DA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACxB,eAAe,CAiCjB"}
1
+ {"version":3,"file":"gitignore-writer.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/gitignore-writer.ts"],"names":[],"mappings":"AAqEA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACxB,eAAe,CAiCjB"}
@@ -12,6 +12,8 @@
12
12
  * .claude/agents/, .claude/commands/, .claude/skills/, .claude/hooks/,
13
13
  * .claude/rules/, .github/agents/, .github/prompts/, .github/skills/,
14
14
  * .github/hooks/specky/, .github/instructions/,
15
+ * .cursor/agents/, .cursor/commands/, .cursor/rules/,
16
+ * .opencode/agents/, .opencode/commands/, .agents/skills/,
15
17
  * .specky/install.lock, .specky/install.json
16
18
  *
17
19
  * What we keep (project-specific):
@@ -35,6 +37,12 @@ const IGNORED_PATHS = [
35
37
  ".github/skills/",
36
38
  ".github/hooks/specky/",
37
39
  ".github/instructions/",
40
+ ".cursor/agents/",
41
+ ".cursor/commands/",
42
+ ".cursor/rules/",
43
+ ".opencode/agents/",
44
+ ".opencode/commands/",
45
+ ".agents/skills/",
38
46
  ".specky/install.lock",
39
47
  ".specky/install.json",
40
48
  ];
@@ -49,6 +57,8 @@ const BLOCK_BODY = [
49
57
  "# .specs/ your pipeline artifacts",
50
58
  "# .claude/settings.json team-shared permissions + hooks",
51
59
  "# .mcp.json MCP server registration",
60
+ "# .cursor/mcp.json MCP server registration (Cursor)",
61
+ "# opencode.json MCP server registration (OpenCode)",
52
62
  "# .vscode/mcp.json MCP server registration (Copilot)",
53
63
  "# .vscode/settings.json team-shared VS Code settings",
54
64
  BLOCK_END,
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore-writer.js","sourceRoot":"","sources":["../../../src/cli/lib/gitignore-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitignore-writer.js","sourceRoot":"","sources":["../../../src/cli/lib/gitignore-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * harness/compilers/agent-skills.ts — neutral skills-only target. It preserves
3
+ * primitive content and names because only `.apm/skills` is deployed.
4
+ */
5
+ import type { HarnessCompiler } from "../types.js";
6
+ export declare const agentSkillsCompiler: HarnessCompiler;
7
+ //# sourceMappingURL=agent-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-skills.d.ts","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/agent-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,eAsBjC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * harness/compilers/agent-skills.ts — neutral skills-only target. It preserves
3
+ * primitive content and names because only `.apm/skills` is deployed.
4
+ */
5
+ export const agentSkillsCompiler = {
6
+ target: "agent-skills",
7
+ compileAgent(content) {
8
+ return content;
9
+ },
10
+ compilePrompt(content) {
11
+ return content;
12
+ },
13
+ compileInstruction(content) {
14
+ return content;
15
+ },
16
+ renameAgent(fileName) {
17
+ return fileName;
18
+ },
19
+ renamePrompt(fileName) {
20
+ return fileName;
21
+ },
22
+ };
23
+ //# sourceMappingURL=agent-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-skills.js","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/agent-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAChD,MAAM,EAAE,cAAc;IAEtB,YAAY,CAAC,OAAO;QAChB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,OAAO;QACjB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,QAAQ;QAChB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,QAAQ;QACjB,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * harness/compilers/claude.ts — renders canonical primitives into Claude Code
3
+ * native form: `.claude/agents/*.md`, `.claude/commands/*.md`, comma-list
4
+ * `tools:` with `Read`/`Glob`/`Grep`/`Task` and `mcp__specky__sdd_*` MCP
5
+ * tools, commands without Copilot-only `agent:` frontmatter, and rules that
6
+ * use `paths:` instead of Copilot's `applyTo:`.
7
+ */
8
+ import type { HarnessCompiler } from "../types.js";
9
+ export declare const claudeCompiler: HarnessCompiler;
10
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,eAAO,MAAM,cAAc,EAAE,eAwB5B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * harness/compilers/claude.ts — renders canonical primitives into Claude Code
3
+ * native form: `.claude/agents/*.md`, `.claude/commands/*.md`, comma-list
4
+ * `tools:` with `Read`/`Glob`/`Grep`/`Task` and `mcp__specky__sdd_*` MCP
5
+ * tools, commands without Copilot-only `agent:` frontmatter, and rules that
6
+ * use `paths:` instead of Copilot's `applyTo:`.
7
+ */
8
+ import { transformToolsLine } from "./common.js";
9
+ export const claudeCompiler = {
10
+ target: "claude",
11
+ compileAgent(content) {
12
+ return transformToolsLine(content, "claude", "comma-list");
13
+ },
14
+ compilePrompt(content) {
15
+ return content
16
+ .replace(/^agent:\s*agent\s*\n/m, "")
17
+ .replace(/^mode:\s*agent\s*\n/m, "");
18
+ },
19
+ compileInstruction(content) {
20
+ return content.replace(/^applyTo:\s*['"]?\*\*['"]?\s*$/m, "paths: ['**']");
21
+ },
22
+ renameAgent(fileName) {
23
+ return fileName.replace(/\.agent\.md$/, ".md");
24
+ },
25
+ renamePrompt(fileName) {
26
+ return fileName.replace(/\.prompt\.md$/, ".md");
27
+ },
28
+ };
29
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC3C,MAAM,EAAE,QAAQ;IAEhB,YAAY,CAAC,OAAO;QAChB,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,OAAO;QACjB,OAAO,OAAO;aACT,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,eAAe,CAAC,CAAC;IAC/E,CAAC;IAED,WAAW,CAAC,QAAQ;QAChB,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,QAAQ;QACjB,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * harness/compilers/common.ts — shared frontmatter/tool-line helpers used by
3
+ * every harness compiler.
4
+ */
5
+ import type { HarnessTarget } from "../types.js";
6
+ export declare function unique(values: string[]): string[];
7
+ /** Parse a frontmatter `tools:` value that is a JSON array or a comma list. */
8
+ export declare function parseToolArray(tools: string): string[];
9
+ /**
10
+ * Rewrite the `tools:` frontmatter line for a target harness, mapping each
11
+ * source token to its native token(s) and serializing in the harness's format.
12
+ */
13
+ export declare function transformToolsLine(content: string, target: HarnessTarget, format: "json-array" | "comma-list"): string;
14
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEjD;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,GAAG,YAAY,GACpC,MAAM,CAQR"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * harness/compilers/common.ts — shared frontmatter/tool-line helpers used by
3
+ * every harness compiler.
4
+ */
5
+ import { mapTool } from "../tool-map.js";
6
+ export function unique(values) {
7
+ return [...new Set(values.filter(Boolean))];
8
+ }
9
+ /** Parse a frontmatter `tools:` value that is a JSON array or a comma list. */
10
+ export function parseToolArray(tools) {
11
+ const trimmed = tools.trim();
12
+ if (!trimmed)
13
+ return [];
14
+ if (trimmed.startsWith("[")) {
15
+ try {
16
+ const parsed = JSON.parse(trimmed);
17
+ if (Array.isArray(parsed))
18
+ return parsed.map(String);
19
+ }
20
+ catch {
21
+ // Fall through to the comma parser below.
22
+ }
23
+ }
24
+ return trimmed
25
+ .replace(/^\[/, "")
26
+ .replace(/\]$/, "")
27
+ .split(",")
28
+ .map((token) => token.trim().replace(/^"|"$/g, ""))
29
+ .filter(Boolean);
30
+ }
31
+ /**
32
+ * Rewrite the `tools:` frontmatter line for a target harness, mapping each
33
+ * source token to its native token(s) and serializing in the harness's format.
34
+ */
35
+ export function transformToolsLine(content, target, format) {
36
+ return content.replace(/^tools:\s*(.+)$/m, (_line, rawTools) => {
37
+ const mapped = unique(parseToolArray(rawTools).flatMap((token) => mapTool(token, target)));
38
+ if (format === "comma-list")
39
+ return `tools: ${mapped.join(", ")}`;
40
+ return `tools: ${JSON.stringify(mapped)}`;
41
+ });
42
+ }
43
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,MAAM,CAAC,MAAgB;IACnC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,KAAa;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACL,0CAA0C;QAC9C,CAAC;IACL,CAAC;IACD,OAAO,OAAO;SACT,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAClD,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAC9B,OAAe,EACf,MAAqB,EACrB,MAAmC;IAEnC,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACnE,MAAM,MAAM,GAAG,MAAM,CACjB,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CACtE,CAAC;QACF,IAAI,MAAM,KAAK,YAAY;YAAE,OAAO,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * harness/compilers/copilot.ts — renders canonical primitives into GitHub
3
+ * Copilot (VS Code) native form: `.github/agents/*.agent.md`,
4
+ * `.github/prompts/*.prompt.md`, JSON-array `tools:` with `search`/`agent`/
5
+ * `edit`/`fetch` and namespaced `specky/sdd_*` MCP tools, and `agent: agent`
6
+ * prompt frontmatter.
7
+ */
8
+ import type { HarnessCompiler } from "../types.js";
9
+ export declare const copilotCompiler: HarnessCompiler;
10
+ //# sourceMappingURL=copilot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,eAAO,MAAM,eAAe,EAAE,eA2B7B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * harness/compilers/copilot.ts — renders canonical primitives into GitHub
3
+ * Copilot (VS Code) native form: `.github/agents/*.agent.md`,
4
+ * `.github/prompts/*.prompt.md`, JSON-array `tools:` with `search`/`agent`/
5
+ * `edit`/`fetch` and namespaced `specky/sdd_*` MCP tools, and `agent: agent`
6
+ * prompt frontmatter.
7
+ */
8
+ import { transformToolsLine } from "./common.js";
9
+ export const copilotCompiler = {
10
+ target: "copilot",
11
+ compileAgent(content) {
12
+ return transformToolsLine(content, "copilot", "json-array");
13
+ },
14
+ compilePrompt(content) {
15
+ // `.apm` prompts already use `agent: agent`; keep them and drop any stray
16
+ // legacy `mode: agent` line. If only a legacy line exists, upgrade it.
17
+ if (/^agent:/m.test(content)) {
18
+ return content.replace(/^mode:\s*agent\s*$/m, "");
19
+ }
20
+ return content.replace(/^mode:\s*agent\s*$/m, "agent: agent");
21
+ },
22
+ compileInstruction(content) {
23
+ return content;
24
+ },
25
+ renameAgent(fileName) {
26
+ return fileName;
27
+ },
28
+ renamePrompt(fileName) {
29
+ return fileName;
30
+ },
31
+ };
32
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC5C,MAAM,EAAE,SAAS;IAEjB,YAAY,CAAC,OAAO;QAChB,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,aAAa,CAAC,OAAO;QACjB,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;IAED,kBAAkB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,QAAQ;QAChB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,QAAQ;QACjB,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * harness/compilers/cursor.ts — renders canonical primitives into Cursor native
3
+ * form: `.cursor/agents/*.md`, `.cursor/commands/*.md`, comma-list `tools:`
4
+ * compatible with Cursor's Claude-like command/agent surface, and `.mdc` rules.
5
+ */
6
+ import type { HarnessCompiler } from "../types.js";
7
+ export declare const cursorCompiler: HarnessCompiler;
8
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/cursor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,eAAO,MAAM,cAAc,EAAE,eAwB5B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * harness/compilers/cursor.ts — renders canonical primitives into Cursor native
3
+ * form: `.cursor/agents/*.md`, `.cursor/commands/*.md`, comma-list `tools:`
4
+ * compatible with Cursor's Claude-like command/agent surface, and `.mdc` rules.
5
+ */
6
+ import { transformToolsLine } from "./common.js";
7
+ export const cursorCompiler = {
8
+ target: "cursor",
9
+ compileAgent(content) {
10
+ return transformToolsLine(content, "cursor", "comma-list");
11
+ },
12
+ compilePrompt(content) {
13
+ return content
14
+ .replace(/^agent:\s*agent\s*\n/m, "")
15
+ .replace(/^mode:\s*agent\s*\n/m, "");
16
+ },
17
+ compileInstruction(content) {
18
+ return content;
19
+ },
20
+ renameAgent(fileName) {
21
+ return fileName.replace(/\.agent\.md$/, ".md");
22
+ },
23
+ renamePrompt(fileName) {
24
+ return fileName.replace(/\.prompt\.md$/, ".md");
25
+ },
26
+ };
27
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/cursor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC3C,MAAM,EAAE,QAAQ;IAEhB,YAAY,CAAC,OAAO;QAChB,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,OAAO;QACjB,OAAO,OAAO;aACT,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,QAAQ;QAChB,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,QAAQ;QACjB,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * harness/compilers/opencode.ts — renders canonical primitives into OpenCode
3
+ * native form: `.opencode/agents/*.md` and `.opencode/commands/*.md`.
4
+ */
5
+ import type { HarnessCompiler } from "../types.js";
6
+ export declare const opencodeCompiler: HarnessCompiler;
7
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/opencode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,eAAO,MAAM,gBAAgB,EAAE,eAwB9B,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * harness/compilers/opencode.ts — renders canonical primitives into OpenCode
3
+ * native form: `.opencode/agents/*.md` and `.opencode/commands/*.md`.
4
+ */
5
+ import { transformToolsLine } from "./common.js";
6
+ export const opencodeCompiler = {
7
+ target: "opencode",
8
+ compileAgent(content) {
9
+ return transformToolsLine(content, "opencode", "comma-list");
10
+ },
11
+ compilePrompt(content) {
12
+ return content
13
+ .replace(/^agent:\s*agent\s*\n/m, "")
14
+ .replace(/^mode:\s*agent\s*\n/m, "");
15
+ },
16
+ compileInstruction(content) {
17
+ return content;
18
+ },
19
+ renameAgent(fileName) {
20
+ return fileName.replace(/\.agent\.md$/, ".md");
21
+ },
22
+ renamePrompt(fileName) {
23
+ return fileName.replace(/\.prompt\.md$/, ".md");
24
+ },
25
+ };
26
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../../src/cli/lib/harness/compilers/opencode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,MAAM,EAAE,UAAU;IAElB,YAAY,CAAC,OAAO;QAChB,OAAO,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,aAAa,CAAC,OAAO;QACjB,OAAO,OAAO;aACT,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,QAAQ;QAChB,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,QAAQ;QACjB,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * harness/index.ts — the harness compiler registry.
3
+ *
4
+ * `getCompiler(target)` returns the compiler that renders Specky's canonical
5
+ * `.apm` primitives into a harness's native form. Register new harnesses here.
6
+ */
7
+ import type { HarnessCompiler, HarnessTarget } from "./types.js";
8
+ export declare function getCompiler(target: HarnessTarget): HarnessCompiler;
9
+ export declare const SUPPORTED_TARGETS: HarnessTarget[];
10
+ export type { HarnessCompiler, HarnessTarget } from "./types.js";
11
+ export { mapTool, normalizeToLogical, logicalToNative } from "./tool-map.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/harness/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAejE,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAElE;AAED,eAAO,MAAM,iBAAiB,EAA6B,aAAa,EAAE,CAAC;AAE3E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}