@sdd-method/sdd-cli 1.42.0 → 1.44.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 (402) hide show
  1. package/NOTICE +1 -1
  2. package/README.md +16 -70
  3. package/dist/author-bin.d.ts +3 -0
  4. package/dist/author-bin.d.ts.map +1 -0
  5. package/dist/author-bin.js +8 -0
  6. package/dist/author-bin.js.map +1 -0
  7. package/dist/author-program.d.ts +8 -0
  8. package/dist/author-program.d.ts.map +1 -0
  9. package/dist/author-program.js +99 -0
  10. package/dist/author-program.js.map +1 -0
  11. package/dist/cli.js +0 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/agent-harness.d.ts +11 -8
  16. package/dist/lib/agent-harness.d.ts.map +1 -1
  17. package/dist/lib/agent-harness.js +17 -8
  18. package/dist/lib/agent-harness.js.map +1 -1
  19. package/dist/lib/briefing/index.d.ts +1 -1
  20. package/dist/lib/briefing/index.d.ts.map +1 -1
  21. package/dist/lib/briefing/index.js +1 -1
  22. package/dist/lib/briefing/index.js.map +1 -1
  23. package/dist/lib/briefing/render.d.ts +18 -1
  24. package/dist/lib/briefing/render.d.ts.map +1 -1
  25. package/dist/lib/briefing/render.js +17 -8
  26. package/dist/lib/briefing/render.js.map +1 -1
  27. package/dist/lib/catalogue/aggregate.js +6 -6
  28. package/dist/lib/catalogue/aggregate.js.map +1 -1
  29. package/dist/lib/catalogue/aggregation-manifest-loader.js +4 -4
  30. package/dist/lib/catalogue/aggregation-manifest-loader.js.map +1 -1
  31. package/dist/lib/catalogue/build.js +1 -1
  32. package/dist/lib/catalogue/build.js.map +1 -1
  33. package/dist/lib/catalogue/builders/c4-components.js +1 -1
  34. package/dist/lib/catalogue/builders/c4-components.js.map +1 -1
  35. package/dist/lib/catalogue/builders/c4-containers.d.ts +1 -1
  36. package/dist/lib/catalogue/builders/c4-containers.js +1 -1
  37. package/dist/lib/catalogue/builders/c4-l1-candidates.js +1 -1
  38. package/dist/lib/catalogue/builders/c4-l1-candidates.js.map +1 -1
  39. package/dist/lib/catalogue/builders/container-dependency.d.ts +1 -1
  40. package/dist/lib/catalogue/builders/container-dependency.js +1 -1
  41. package/dist/lib/catalogue/builders/data-store-mapping.js +1 -1
  42. package/dist/lib/catalogue/builders/data-store-mapping.js.map +1 -1
  43. package/dist/lib/catalogue/builders/screen-tree.d.ts +1 -1
  44. package/dist/lib/catalogue/builders/screen-tree.js +1 -1
  45. package/dist/lib/catalogue/contract-path-resolution.d.ts +2 -2
  46. package/dist/lib/catalogue/contract-path-resolution.js +2 -2
  47. package/dist/lib/catalogue/dedupe-keyed-tables.d.ts +1 -1
  48. package/dist/lib/catalogue/dedupe-keyed-tables.js +0 -0
  49. package/dist/lib/catalogue/dedupe-keyed-tables.js.map +1 -1
  50. package/dist/lib/catalogue/freshness.d.ts +1 -0
  51. package/dist/lib/catalogue/freshness.d.ts.map +1 -1
  52. package/dist/lib/catalogue/freshness.js +4 -3
  53. package/dist/lib/catalogue/freshness.js.map +1 -1
  54. package/dist/lib/catalogue/scores-coverage.js +1 -1
  55. package/dist/lib/catalogue/scores-coverage.js.map +1 -1
  56. package/dist/lib/catalogue/service-contract-aliases-loader.d.ts +1 -1
  57. package/dist/lib/catalogue/service-contract-aliases-loader.js +1 -1
  58. package/dist/lib/ci-binding/index.d.ts.map +1 -1
  59. package/dist/lib/ci-binding/index.js +44 -5
  60. package/dist/lib/ci-binding/index.js.map +1 -1
  61. package/dist/lib/ci-binding/module.d.ts +10 -0
  62. package/dist/lib/ci-binding/module.d.ts.map +1 -1
  63. package/dist/lib/ci-binding/module.js +74 -2
  64. package/dist/lib/ci-binding/module.js.map +1 -1
  65. package/dist/lib/context-pull/index.d.ts +15 -9
  66. package/dist/lib/context-pull/index.d.ts.map +1 -1
  67. package/dist/lib/context-pull/index.js +79 -39
  68. package/dist/lib/context-pull/index.js.map +1 -1
  69. package/dist/lib/context-pull/retired-mcp-setup.d.ts +7 -0
  70. package/dist/lib/context-pull/retired-mcp-setup.d.ts.map +1 -0
  71. package/dist/lib/context-pull/retired-mcp-setup.js +7 -0
  72. package/dist/lib/context-pull/retired-mcp-setup.js.map +1 -0
  73. package/dist/lib/hooks-seed/entries.d.ts +41 -2
  74. package/dist/lib/hooks-seed/entries.d.ts.map +1 -1
  75. package/dist/lib/hooks-seed/entries.js +55 -4
  76. package/dist/lib/hooks-seed/entries.js.map +1 -1
  77. package/dist/lib/hooks-seed/index.d.ts +5 -9
  78. package/dist/lib/hooks-seed/index.d.ts.map +1 -1
  79. package/dist/lib/hooks-seed/index.js +4 -7
  80. package/dist/lib/hooks-seed/index.js.map +1 -1
  81. package/dist/lib/hooks-seed/merge.d.ts +7 -0
  82. package/dist/lib/hooks-seed/merge.d.ts.map +1 -1
  83. package/dist/lib/hooks-seed/merge.js +31 -0
  84. package/dist/lib/hooks-seed/merge.js.map +1 -1
  85. package/dist/lib/init/app.d.ts +0 -1
  86. package/dist/lib/init/app.d.ts.map +1 -1
  87. package/dist/lib/init/app.js +0 -7
  88. package/dist/lib/init/app.js.map +1 -1
  89. package/dist/lib/init/ci-workflow.js +26 -2
  90. package/dist/lib/init/ci-workflow.js.map +1 -1
  91. package/dist/lib/init/integration.d.ts +0 -1
  92. package/dist/lib/init/integration.d.ts.map +1 -1
  93. package/dist/lib/init/integration.js +0 -7
  94. package/dist/lib/init/integration.js.map +1 -1
  95. package/dist/lib/init/platform.d.ts +2 -10
  96. package/dist/lib/init/platform.d.ts.map +1 -1
  97. package/dist/lib/init/platform.js +7 -13
  98. package/dist/lib/init/platform.js.map +1 -1
  99. package/dist/lib/lock-file.d.ts +7 -0
  100. package/dist/lib/lock-file.d.ts.map +1 -1
  101. package/dist/lib/lock-file.js +10 -0
  102. package/dist/lib/lock-file.js.map +1 -1
  103. package/dist/lib/pack/builder.d.ts +14 -0
  104. package/dist/lib/pack/builder.d.ts.map +1 -1
  105. package/dist/lib/pack/builder.js +56 -4
  106. package/dist/lib/pack/builder.js.map +1 -1
  107. package/dist/lib/pack/index.d.ts +3 -1
  108. package/dist/lib/pack/index.d.ts.map +1 -1
  109. package/dist/lib/pack/index.js +1 -0
  110. package/dist/lib/pack/index.js.map +1 -1
  111. package/dist/lib/pack/publish-transform.js +1 -1
  112. package/dist/lib/pack/publish-transform.js.map +1 -1
  113. package/dist/lib/plan/index.d.ts.map +1 -1
  114. package/dist/lib/plan/index.js +4 -4
  115. package/dist/lib/plan/index.js.map +1 -1
  116. package/dist/lib/plan/read-sdd.js +1 -1
  117. package/dist/lib/plan/render-template.d.ts +8 -0
  118. package/dist/lib/plan/render-template.d.ts.map +1 -1
  119. package/dist/lib/plan/render-template.js +27 -3
  120. package/dist/lib/plan/render-template.js.map +1 -1
  121. package/dist/lib/sdd-index/repo-config.d.ts +1 -1
  122. package/dist/lib/sdd-index/repo-config.js +1 -1
  123. package/dist/lib/{mcp/reader.d.ts → sdd-reader.d.ts} +3 -5
  124. package/dist/lib/sdd-reader.d.ts.map +1 -0
  125. package/dist/lib/{mcp/reader.js → sdd-reader.js} +3 -5
  126. package/dist/lib/sdd-reader.js.map +1 -0
  127. package/dist/lib/snapshot/targets.js +1 -1
  128. package/dist/lib/snapshot/targets.js.map +1 -1
  129. package/dist/lib/sync/briefing-merge.d.ts +1 -1
  130. package/dist/lib/sync/briefing-merge.d.ts.map +1 -1
  131. package/dist/lib/sync/briefing-merge.js +50 -34
  132. package/dist/lib/sync/briefing-merge.js.map +1 -1
  133. package/dist/lib/sync/diff.js +1 -1
  134. package/dist/lib/sync/diff.js.map +1 -1
  135. package/dist/lib/sync/index.d.ts +14 -6
  136. package/dist/lib/sync/index.d.ts.map +1 -1
  137. package/dist/lib/sync/index.js +46 -72
  138. package/dist/lib/sync/index.js.map +1 -1
  139. package/dist/lib/sync/settings-merge.d.ts +29 -49
  140. package/dist/lib/sync/settings-merge.d.ts.map +1 -1
  141. package/dist/lib/sync/settings-merge.js +71 -163
  142. package/dist/lib/sync/settings-merge.js.map +1 -1
  143. package/dist/lib/validate/plan.d.ts +10 -1
  144. package/dist/lib/validate/plan.d.ts.map +1 -1
  145. package/dist/lib/validate/plan.js +6 -3
  146. package/dist/lib/validate/plan.js.map +1 -1
  147. package/dist/maintain-program.d.ts.map +1 -1
  148. package/dist/maintain-program.js +6 -3
  149. package/dist/maintain-program.js.map +1 -1
  150. package/dist/maintain-version.json +2 -2
  151. package/dist/verbs/catalogue-check.d.ts +10 -0
  152. package/dist/verbs/catalogue-check.d.ts.map +1 -0
  153. package/dist/verbs/catalogue-check.js +28 -0
  154. package/dist/verbs/catalogue-check.js.map +1 -0
  155. package/dist/verbs/catalogue.d.ts.map +1 -1
  156. package/dist/verbs/catalogue.js +2 -0
  157. package/dist/verbs/catalogue.js.map +1 -1
  158. package/dist/verbs/context.js +1 -1
  159. package/dist/verbs/context.js.map +1 -1
  160. package/dist/verbs/pack-build.d.ts.map +1 -1
  161. package/dist/verbs/pack-build.js +22 -0
  162. package/dist/verbs/pack-build.js.map +1 -1
  163. package/dist/verbs/plan.js +1 -1
  164. package/dist/verbs/plan.js.map +1 -1
  165. package/dist/verbs/sync.d.ts.map +1 -1
  166. package/dist/verbs/sync.js +17 -0
  167. package/dist/verbs/sync.js.map +1 -1
  168. package/dist/verbs/validate.d.ts.map +1 -1
  169. package/dist/verbs/validate.js +6 -1
  170. package/dist/verbs/validate.js.map +1 -1
  171. package/dist/verify-program.js +2 -2
  172. package/dist/verify-program.js.map +1 -1
  173. package/dist/verify-version.json +2 -2
  174. package/package.json +5 -13
  175. package/scripts/README.md +1 -1
  176. package/scripts/author-acceptance.mjs +170 -0
  177. package/scripts/author-version.json +4 -0
  178. package/scripts/build-persona-package.mjs +46 -13
  179. package/scripts/maintain-acceptance.mjs +3 -2
  180. package/scripts/maintain-version.json +2 -2
  181. package/scripts/publish-release.mjs +117 -0
  182. package/scripts/release-gate.mjs +19 -8
  183. package/scripts/verify-version.json +2 -2
  184. package/scripts/vitest-tmpdir.mjs +26 -0
  185. package/dist/lib/catalogue/advisory-container-type.d.ts +0 -13
  186. package/dist/lib/catalogue/advisory-container-type.d.ts.map +0 -1
  187. package/dist/lib/catalogue/advisory-container-type.js +0 -56
  188. package/dist/lib/catalogue/advisory-container-type.js.map +0 -1
  189. package/dist/lib/hooks-seed/copilot.d.ts +0 -93
  190. package/dist/lib/hooks-seed/copilot.d.ts.map +0 -1
  191. package/dist/lib/hooks-seed/copilot.js +0 -167
  192. package/dist/lib/hooks-seed/copilot.js.map +0 -1
  193. package/dist/lib/hooks-seed/lifecycle-mapping.d.ts +0 -12
  194. package/dist/lib/hooks-seed/lifecycle-mapping.d.ts.map +0 -1
  195. package/dist/lib/hooks-seed/lifecycle-mapping.js +0 -28
  196. package/dist/lib/hooks-seed/lifecycle-mapping.js.map +0 -1
  197. package/dist/lib/mcp/build-info.d.ts +0 -7
  198. package/dist/lib/mcp/build-info.d.ts.map +0 -1
  199. package/dist/lib/mcp/build-info.js +0 -10
  200. package/dist/lib/mcp/build-info.js.map +0 -1
  201. package/dist/lib/mcp/errors.d.ts +0 -23
  202. package/dist/lib/mcp/errors.d.ts.map +0 -1
  203. package/dist/lib/mcp/errors.js +0 -25
  204. package/dist/lib/mcp/errors.js.map +0 -1
  205. package/dist/lib/mcp/parse/frontmatter.d.ts +0 -22
  206. package/dist/lib/mcp/parse/frontmatter.d.ts.map +0 -1
  207. package/dist/lib/mcp/parse/frontmatter.js +0 -49
  208. package/dist/lib/mcp/parse/frontmatter.js.map +0 -1
  209. package/dist/lib/mcp/parse/gate-registry.d.ts +0 -78
  210. package/dist/lib/mcp/parse/gate-registry.d.ts.map +0 -1
  211. package/dist/lib/mcp/parse/gate-registry.js +0 -164
  212. package/dist/lib/mcp/parse/gate-registry.js.map +0 -1
  213. package/dist/lib/mcp/parse/paths.d.ts +0 -21
  214. package/dist/lib/mcp/parse/paths.d.ts.map +0 -1
  215. package/dist/lib/mcp/parse/paths.js +0 -84
  216. package/dist/lib/mcp/parse/paths.js.map +0 -1
  217. package/dist/lib/mcp/pin/errors.d.ts +0 -11
  218. package/dist/lib/mcp/pin/errors.d.ts.map +0 -1
  219. package/dist/lib/mcp/pin/errors.js +0 -32
  220. package/dist/lib/mcp/pin/errors.js.map +0 -1
  221. package/dist/lib/mcp/pin/index.d.ts +0 -18
  222. package/dist/lib/mcp/pin/index.d.ts.map +0 -1
  223. package/dist/lib/mcp/pin/index.js +0 -29
  224. package/dist/lib/mcp/pin/index.js.map +0 -1
  225. package/dist/lib/mcp/pin/read.d.ts +0 -24
  226. package/dist/lib/mcp/pin/read.d.ts.map +0 -1
  227. package/dist/lib/mcp/pin/read.js +0 -64
  228. package/dist/lib/mcp/pin/read.js.map +0 -1
  229. package/dist/lib/mcp/pin/resolve.d.ts +0 -12
  230. package/dist/lib/mcp/pin/resolve.d.ts.map +0 -1
  231. package/dist/lib/mcp/pin/resolve.js +0 -33
  232. package/dist/lib/mcp/pin/resolve.js.map +0 -1
  233. package/dist/lib/mcp/prompts/evaluate-cascade.d.ts +0 -14
  234. package/dist/lib/mcp/prompts/evaluate-cascade.d.ts.map +0 -1
  235. package/dist/lib/mcp/prompts/evaluate-cascade.js +0 -147
  236. package/dist/lib/mcp/prompts/evaluate-cascade.js.map +0 -1
  237. package/dist/lib/mcp/prompts/index.d.ts +0 -9
  238. package/dist/lib/mcp/prompts/index.d.ts.map +0 -1
  239. package/dist/lib/mcp/prompts/index.js +0 -23
  240. package/dist/lib/mcp/prompts/index.js.map +0 -1
  241. package/dist/lib/mcp/prompts/propose-adr.d.ts +0 -12
  242. package/dist/lib/mcp/prompts/propose-adr.d.ts.map +0 -1
  243. package/dist/lib/mcp/prompts/propose-adr.js +0 -100
  244. package/dist/lib/mcp/prompts/propose-adr.js.map +0 -1
  245. package/dist/lib/mcp/prompts/review-data-model-change.d.ts +0 -10
  246. package/dist/lib/mcp/prompts/review-data-model-change.d.ts.map +0 -1
  247. package/dist/lib/mcp/prompts/review-data-model-change.js +0 -134
  248. package/dist/lib/mcp/prompts/review-data-model-change.js.map +0 -1
  249. package/dist/lib/mcp/prompts/template-loader.d.ts +0 -29
  250. package/dist/lib/mcp/prompts/template-loader.d.ts.map +0 -1
  251. package/dist/lib/mcp/prompts/template-loader.js +0 -44
  252. package/dist/lib/mcp/prompts/template-loader.js.map +0 -1
  253. package/dist/lib/mcp/prompts/types.d.ts +0 -17
  254. package/dist/lib/mcp/prompts/types.d.ts.map +0 -1
  255. package/dist/lib/mcp/prompts/types.js +0 -10
  256. package/dist/lib/mcp/prompts/types.js.map +0 -1
  257. package/dist/lib/mcp/prompts/write-capability-spec.d.ts +0 -8
  258. package/dist/lib/mcp/prompts/write-capability-spec.d.ts.map +0 -1
  259. package/dist/lib/mcp/prompts/write-capability-spec.js +0 -85
  260. package/dist/lib/mcp/prompts/write-capability-spec.js.map +0 -1
  261. package/dist/lib/mcp/prompts/write-feature-spec.d.ts +0 -10
  262. package/dist/lib/mcp/prompts/write-feature-spec.d.ts.map +0 -1
  263. package/dist/lib/mcp/prompts/write-feature-spec.js +0 -94
  264. package/dist/lib/mcp/prompts/write-feature-spec.js.map +0 -1
  265. package/dist/lib/mcp/prompts/write-work-order.d.ts +0 -7
  266. package/dist/lib/mcp/prompts/write-work-order.d.ts.map +0 -1
  267. package/dist/lib/mcp/prompts/write-work-order.js +0 -69
  268. package/dist/lib/mcp/prompts/write-work-order.js.map +0 -1
  269. package/dist/lib/mcp/reader.d.ts.map +0 -1
  270. package/dist/lib/mcp/reader.js.map +0 -1
  271. package/dist/lib/mcp/resources/adrs.d.ts +0 -3
  272. package/dist/lib/mcp/resources/adrs.d.ts.map +0 -1
  273. package/dist/lib/mcp/resources/adrs.js +0 -97
  274. package/dist/lib/mcp/resources/adrs.js.map +0 -1
  275. package/dist/lib/mcp/resources/catalogue.d.ts +0 -19
  276. package/dist/lib/mcp/resources/catalogue.d.ts.map +0 -1
  277. package/dist/lib/mcp/resources/catalogue.js +0 -240
  278. package/dist/lib/mcp/resources/catalogue.js.map +0 -1
  279. package/dist/lib/mcp/resources/data-models.d.ts +0 -14
  280. package/dist/lib/mcp/resources/data-models.d.ts.map +0 -1
  281. package/dist/lib/mcp/resources/data-models.js +0 -81
  282. package/dist/lib/mcp/resources/data-models.js.map +0 -1
  283. package/dist/lib/mcp/resources/gates.d.ts +0 -9
  284. package/dist/lib/mcp/resources/gates.d.ts.map +0 -1
  285. package/dist/lib/mcp/resources/gates.js +0 -76
  286. package/dist/lib/mcp/resources/gates.js.map +0 -1
  287. package/dist/lib/mcp/resources/glossary.d.ts +0 -16
  288. package/dist/lib/mcp/resources/glossary.d.ts.map +0 -1
  289. package/dist/lib/mcp/resources/glossary.js +0 -87
  290. package/dist/lib/mcp/resources/glossary.js.map +0 -1
  291. package/dist/lib/mcp/resources/specs.d.ts +0 -23
  292. package/dist/lib/mcp/resources/specs.d.ts.map +0 -1
  293. package/dist/lib/mcp/resources/specs.js +0 -151
  294. package/dist/lib/mcp/resources/specs.js.map +0 -1
  295. package/dist/lib/mcp/resources/version.d.ts +0 -3
  296. package/dist/lib/mcp/resources/version.d.ts.map +0 -1
  297. package/dist/lib/mcp/resources/version.js +0 -45
  298. package/dist/lib/mcp/resources/version.js.map +0 -1
  299. package/dist/lib/mcp/server.d.ts +0 -29
  300. package/dist/lib/mcp/server.d.ts.map +0 -1
  301. package/dist/lib/mcp/server.js +0 -108
  302. package/dist/lib/mcp/server.js.map +0 -1
  303. package/dist/lib/mcp/tools/cascade-impact.d.ts +0 -22
  304. package/dist/lib/mcp/tools/cascade-impact.d.ts.map +0 -1
  305. package/dist/lib/mcp/tools/cascade-impact.js +0 -53
  306. package/dist/lib/mcp/tools/cascade-impact.js.map +0 -1
  307. package/dist/lib/mcp/tools/catalogue.d.ts +0 -16
  308. package/dist/lib/mcp/tools/catalogue.d.ts.map +0 -1
  309. package/dist/lib/mcp/tools/catalogue.js +0 -268
  310. package/dist/lib/mcp/tools/catalogue.js.map +0 -1
  311. package/dist/lib/mcp/tools/find-consumers-of-contract.d.ts +0 -7
  312. package/dist/lib/mcp/tools/find-consumers-of-contract.d.ts.map +0 -1
  313. package/dist/lib/mcp/tools/find-consumers-of-contract.js +0 -70
  314. package/dist/lib/mcp/tools/find-consumers-of-contract.js.map +0 -1
  315. package/dist/lib/mcp/tools/find-consumers.d.ts +0 -7
  316. package/dist/lib/mcp/tools/find-consumers.d.ts.map +0 -1
  317. package/dist/lib/mcp/tools/find-consumers.js +0 -52
  318. package/dist/lib/mcp/tools/find-consumers.js.map +0 -1
  319. package/dist/lib/mcp/tools/find-dependencies.d.ts +0 -8
  320. package/dist/lib/mcp/tools/find-dependencies.d.ts.map +0 -1
  321. package/dist/lib/mcp/tools/find-dependencies.js +0 -101
  322. package/dist/lib/mcp/tools/find-dependencies.js.map +0 -1
  323. package/dist/lib/mcp/tools/find-dependents.d.ts +0 -8
  324. package/dist/lib/mcp/tools/find-dependents.d.ts.map +0 -1
  325. package/dist/lib/mcp/tools/find-dependents.js +0 -89
  326. package/dist/lib/mcp/tools/find-dependents.js.map +0 -1
  327. package/dist/lib/mcp/tools/find-producers.d.ts +0 -8
  328. package/dist/lib/mcp/tools/find-producers.d.ts.map +0 -1
  329. package/dist/lib/mcp/tools/find-producers.js +0 -57
  330. package/dist/lib/mcp/tools/find-producers.js.map +0 -1
  331. package/dist/lib/mcp/tools/find-related-specs.d.ts +0 -9
  332. package/dist/lib/mcp/tools/find-related-specs.d.ts.map +0 -1
  333. package/dist/lib/mcp/tools/find-related-specs.js +0 -92
  334. package/dist/lib/mcp/tools/find-related-specs.js.map +0 -1
  335. package/dist/lib/mcp/tools/list-adrs.d.ts +0 -3
  336. package/dist/lib/mcp/tools/list-adrs.d.ts.map +0 -1
  337. package/dist/lib/mcp/tools/list-adrs.js +0 -73
  338. package/dist/lib/mcp/tools/list-adrs.js.map +0 -1
  339. package/dist/lib/mcp/tools/query-gate-status.d.ts +0 -3
  340. package/dist/lib/mcp/tools/query-gate-status.d.ts.map +0 -1
  341. package/dist/lib/mcp/tools/query-gate-status.js +0 -68
  342. package/dist/lib/mcp/tools/query-gate-status.js.map +0 -1
  343. package/dist/lib/mcp/tools/search-specs.d.ts +0 -12
  344. package/dist/lib/mcp/tools/search-specs.d.ts.map +0 -1
  345. package/dist/lib/mcp/tools/search-specs.js +0 -151
  346. package/dist/lib/mcp/tools/search-specs.js.map +0 -1
  347. package/dist/lib/mcp/workspace.d.ts +0 -31
  348. package/dist/lib/mcp/workspace.d.ts.map +0 -1
  349. package/dist/lib/mcp/workspace.js +0 -146
  350. package/dist/lib/mcp/workspace.js.map +0 -1
  351. package/dist/lib/mcp-seed/entries.d.ts +0 -32
  352. package/dist/lib/mcp-seed/entries.d.ts.map +0 -1
  353. package/dist/lib/mcp-seed/entries.js +0 -14
  354. package/dist/lib/mcp-seed/entries.js.map +0 -1
  355. package/dist/lib/mcp-seed/index.d.ts +0 -36
  356. package/dist/lib/mcp-seed/index.d.ts.map +0 -1
  357. package/dist/lib/mcp-seed/index.js +0 -28
  358. package/dist/lib/mcp-seed/index.js.map +0 -1
  359. package/dist/lib/mcp-seed/merge.d.ts +0 -34
  360. package/dist/lib/mcp-seed/merge.d.ts.map +0 -1
  361. package/dist/lib/mcp-seed/merge.js +0 -99
  362. package/dist/lib/mcp-seed/merge.js.map +0 -1
  363. package/dist/lib/mcp-seed/types.d.ts +0 -24
  364. package/dist/lib/mcp-seed/types.d.ts.map +0 -1
  365. package/dist/lib/mcp-seed/types.js +0 -13
  366. package/dist/lib/mcp-seed/types.js.map +0 -1
  367. package/dist/lib/sdd-index/cascade.d.ts +0 -46
  368. package/dist/lib/sdd-index/cascade.d.ts.map +0 -1
  369. package/dist/lib/sdd-index/cascade.js +0 -91
  370. package/dist/lib/sdd-index/cascade.js.map +0 -1
  371. package/dist/lib/sdd-index/contracts.d.ts +0 -29
  372. package/dist/lib/sdd-index/contracts.d.ts.map +0 -1
  373. package/dist/lib/sdd-index/contracts.js +0 -216
  374. package/dist/lib/sdd-index/contracts.js.map +0 -1
  375. package/dist/lib/sdd-index/data-model.d.ts +0 -13
  376. package/dist/lib/sdd-index/data-model.d.ts.map +0 -1
  377. package/dist/lib/sdd-index/data-model.js +0 -23
  378. package/dist/lib/sdd-index/data-model.js.map +0 -1
  379. package/dist/lib/sdd-index/execution-map.d.ts +0 -34
  380. package/dist/lib/sdd-index/execution-map.d.ts.map +0 -1
  381. package/dist/lib/sdd-index/execution-map.js +0 -105
  382. package/dist/lib/sdd-index/execution-map.js.map +0 -1
  383. package/dist/lib/sdd-index/graph.d.ts +0 -28
  384. package/dist/lib/sdd-index/graph.d.ts.map +0 -1
  385. package/dist/lib/sdd-index/graph.js +0 -122
  386. package/dist/lib/sdd-index/graph.js.map +0 -1
  387. package/dist/lib/sdd-index/index.d.ts +0 -29
  388. package/dist/lib/sdd-index/index.d.ts.map +0 -1
  389. package/dist/lib/sdd-index/index.js +0 -79
  390. package/dist/lib/sdd-index/index.js.map +0 -1
  391. package/dist/lib/sdd-index/watch.d.ts +0 -24
  392. package/dist/lib/sdd-index/watch.d.ts.map +0 -1
  393. package/dist/lib/sdd-index/watch.js +0 -112
  394. package/dist/lib/sdd-index/watch.js.map +0 -1
  395. package/dist/lib/sync/copilot-hooks-merge.d.ts +0 -36
  396. package/dist/lib/sync/copilot-hooks-merge.d.ts.map +0 -1
  397. package/dist/lib/sync/copilot-hooks-merge.js +0 -108
  398. package/dist/lib/sync/copilot-hooks-merge.js.map +0 -1
  399. package/dist/verbs/mcp.d.ts +0 -3
  400. package/dist/verbs/mcp.d.ts.map +0 -1
  401. package/dist/verbs/mcp.js +0 -22
  402. package/dist/verbs/mcp.js.map +0 -1
package/NOTICE CHANGED
@@ -2,7 +2,7 @@ sdd-cli
2
2
  Copyright 2026 Tom Foster
3
3
 
4
4
  This product includes software developed as part of the SDD method
5
- distribution (https://github.com/tomfosteruk/sdd-method).
5
+ distribution.
6
6
 
7
7
  Licensed under the Apache License, Version 2.0 (the "License");
8
8
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -18,7 +18,6 @@ uses to manage SDD repositories. It has four verbs and three profiles:
18
18
  | `validate` | Run the method-level validation suite for this SDD repository (profile-aware dispatch; platform suite = 7 core + optional `docs-all` wrapper) | TS dispatch over bundled + target-repo bash validators |
19
19
  | `list` | Enumerate SDD repositories discoverable in the workspace (text or JSON output; profile filter) | Native TS |
20
20
  | `generate-briefing` | Regenerate `agent-instructions.md` + the harness wrapper for an existing SDD repo (no bundle sync) | Native TS |
21
- | `mcp serve` | Start a local stdio Model Context Protocol (MCP) server exposing the SDD as resources and tools (ADR 0128, Phase 1) | Native TS |
22
21
 
23
22
  Every verb is local git + filesystem. No authentication, no network calls,
24
23
  no archetypes, no deploy — code-level operations are handled by `partner-cli`
@@ -26,11 +25,11 @@ and `platform-cli` per ADR 0118.
26
25
 
27
26
  ## Authoritative spec
28
27
 
29
- Behaviour lives in the canonical method repo, not here:
28
+ Behaviour is specified by the method, not here. These documents ship in the method distribution under `docs/method/`:
30
29
 
31
- - **Framework decision:** [ADR 0118: Partner CLI Role Framework](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200118:%20Partner%20CLI%20Role%20Framework.md)
32
- - **Method-layer spec:** [`sdd-cli-specification.md`](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/cli/sdd-cli-specification.md) — profiles, per-verb detail, subsumption map from today's bash scripts
33
- - **Implementation scoping:** [`sdd-cli-implementation-scoping.md`](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/cli/sdd-cli-implementation-scoping.md) — milestones, rollout order, deprecation plan for the existing bash scripts
30
+ - **Framework decision:** ADR 0118: Partner CLI Role Framework
31
+ - **Method-layer spec:** `sdd-cli-specification.md` — profiles, per-verb detail, subsumption map from today's bash scripts
32
+ - **Implementation scoping:** `sdd-cli-implementation-scoping.md` — milestones, rollout order, deprecation plan for the existing bash scripts
34
33
 
35
34
  This repository implements the spec; changes to the spec live upstream.
36
35
 
@@ -39,9 +38,9 @@ This repository implements the spec; changes to the spec live upstream.
39
38
  ```bash
40
39
  # Scaffold a new platform repo (v0.3.0)
41
40
  sdd-cli init --profile platform \
42
- --platform-name "Contextua" \
41
+ --platform-name "Northwind" \
43
42
  --bundle path/to/platform-baseline-v0.2.9.tar.gz \
44
- --target-dir ./contextua-platform
43
+ --target-dir ./northwind-platform
45
44
 
46
45
  # Scaffold a new application repo
47
46
  sdd-cli init --profile application \
@@ -68,8 +67,8 @@ sdd-cli validate --strict # treat warnings as failures
68
67
 
69
68
  # Enumerate SDD repos in the current workspace
70
69
  sdd-cli list
71
- sdd-cli list --workspace-root ~/Projects/contextua-applications \
72
- --workspace-root ~/Projects/contextua-integrations
70
+ sdd-cli list --workspace-root ~/Projects/northwind-applications \
71
+ --workspace-root ~/Projects/northwind-integrations
73
72
  sdd-cli list --profile integration --format json
74
73
 
75
74
  # Regenerate the briefing files (agent-instructions.md + CLAUDE.md / AGENTS.md)
@@ -78,10 +77,10 @@ sdd-cli generate-briefing --agent-harness claude-code --allow-overwrite
78
77
 
79
78
  ### Briefing layer (`agent-instructions.md` + harness wrapper)
80
79
 
81
- Per [ADR 0148](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200148:%20Method-Defined%20Agent%20Briefing%20Layer.md), `sdd-cli init` and `sdd-cli sync` emit two files at the SDD root:
80
+ Per ADR 0148, `sdd-cli init` and `sdd-cli sync` emit two files at the SDD root:
82
81
 
83
82
  - **`agent-instructions.md`** — fully method-managed, harness-neutral briefing. Overwritten unconditionally on every sync.
84
- - **The harness wrapper** — `CLAUDE.md` under `--agent-harness claude-code`, `AGENTS.md` under `--agent-harness github-copilot-cli`. Thin pointer with `<!-- method-managed: begin/end -->` markers. The method-managed block is refreshed on sync; adopter content below survives.
83
+ - **The wrappers** — `CLAUDE.md` (the Claude Code wrapper) and `AGENTS.md` (a pointer to `agent-instructions.md`, M-ADR 0220). Thin pointers with `<!-- method-managed: begin/end -->` markers. The method-managed block is refreshed on sync; adopter content below survives.
85
84
 
86
85
  Templates ship in the bundle at `orchestration/templates/briefing/`. Older bundles that pre-date ADR 0148 sync without emitting these files (graceful skip with a log line).
87
86
 
@@ -89,76 +88,23 @@ Templates ship in the bundle at `orchestration/templates/briefing/`. Older bundl
89
88
 
90
89
  ### Agent-harness selection (`--agent-harness`)
91
90
 
92
- Per [ADR 0141](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200141:%20Agent-Harness-Neutral%20Skills%20and%20Hooks.md), `sdd-cli init` and `sdd-cli sync` accept `--agent-harness <name>` to drive which hook configuration gets emitted. Supported values:
91
+ Claude Code is the one supported harness (M-ADR 0220 §4.6) and the default: `sdd-cli init`, `sdd-cli sync` and `context pull` accept `--agent-harness claude-code`, which seeds the `.claude/settings.json` `hooks` block (`PreToolUse` method-guard + `SessionStart` ADR-structure check, run by the verify CLI). The `github-copilot-cli` value is retired, and passing it fails.
93
92
 
94
- | Value | Hooks surface | MCP surface |
95
- |---|---|---|
96
- | `claude-code` (default, reference) | `.claude/settings.json` `hooks` block — `PreToolUse` method-guard + `SessionStart` ADR-structure check | `.claude/settings.json` `mcpServers` block |
97
- | `github-copilot-cli` | `.github/hooks/pre-tool-use.json` + `.github/hooks/session-start.json` (per `docs/method/methods/hook-contracts.md`) | not yet wired — ADR 0150 Phase 3 lands the Copilot-CLI MCP surface |
93
+ Every SDD and code repository also gets an `AGENTS.md` pointer to `agent-instructions.md`, with no flag, refreshed between method-managed markers like `CLAUDE.md`. It is a pointer, not support for another harness. Adopters binding another harness implement the portable skill and hook contracts themselves per ADR 0141 §4.5.
98
94
 
99
- Adopters using Cursor / Cline / Aider / custom harnesses implement the portable contracts themselves per ADR 0141 §4.5 — see `docs/method/onboarding/agent-harness-adopter-responsibility.md` in the method baseline.
95
+ The method seeds no MCP server (M-ADR 0220): sync removes the `sdd-mcp` entry it seeded before, and leaves every other server in the file alone.
100
96
 
101
97
  **Behavioural delta:** the flag now defaults to `claude-code` when omitted, where previous versions left it unset (no hooks seeded). The first `sdd-cli sync` after upgrading on an existing repo will start refreshing the Claude hooks block. The dedupe pre-pass shipped in v0.12.2 collapses any unmarked hand-rolled entries that match the method shape, so adopters on v0.12.2+ get sentinel-tagged-in-place rather than duplicates. Adopters on sdd-cli &lt; v0.12.2 should `npm install -g @sdd-method/sdd-cli@latest` before re-syncing.
102
98
 
103
- ## MCP server (Phase 1)
104
-
105
- `sdd-cli mcp serve` runs a local stdio Model Context Protocol server that exposes the SDD to any MCP-capable agent harness (Claude Code, Cursor, Kiro, etc.). Phase 1 of [ADR 0128](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200128:%20Live-Query%20Context%20Extension%20via%20Model%20Context%20Protocol.md) — read-only surface, no adopter servers, no prompts, no dependency-graph tools yet.
106
-
107
- **Resources exposed**
108
-
109
- - `sdd://method/version` — distribution version, server build, SDD commit, protocol spec version
110
- - `sdd://adrs/catalogue` — parsed ADR catalogue
111
- - `sdd://adrs/{scope}/{number}` — individual ADR body (scope: `method`, `platform`, `domain:<name>`)
112
- - `sdd://specs/capability/{domain}/{capability}` — capability spec
113
- - `sdd://specs/feature/{domain}/{capability}/{feature}` — feature spec
114
- - `sdd://data-models/domain/{domain}` — domain mermaid data model
115
- - `sdd://gates/{gate}` — gate registry YAML (adr-quality, contract-quality, intent-quality, …)
116
- - `sdd://glossary/{scope}` — platform or per-domain glossary
117
- - `sdd://catalogue/schema` — canonical catalogue schema (vendored) as JSON
118
- - `sdd://catalogue/metamodel` — catalogue metamodel narrative
119
- - `sdd://catalogue/category-taxonomy` — product category taxonomy
120
- - `sdd://catalogue` — list of built catalogue names
121
- - `sdd://catalogue/{name}` — rows of one built catalogue from `catalogues/{name}.csv`
122
-
123
- **Tools exposed**
124
-
125
- - `list_adrs` — filter by scope and/or status
126
- - `search_specs` — plain-text ranking across ADRs, specs, and glossaries
127
- - `find_related_specs` — literal substring references to a given entity
128
- - `query_gate_status` — read a gate registry, optionally scoped
129
- - `query_catalogue_coverage` — row count + internal-FK pass + coverage for one catalogue
130
- - `find_products_by_category` — products filtered by category
131
- - `find_orphan_rows` — rows whose internal FK target is missing
132
- - `query_edges_for_entity` — every edge row referencing a given entity
133
-
134
- **Wiring it into Claude Code**
135
-
136
- Drop this into `.claude/settings.json` (reference template at [`orchestration/templates/mcp/claude-settings.example.json`](https://github.com/tomfosteruk/sdd-method/blob/main/orchestration/templates/mcp/claude-settings.example.json) in the method distribution):
137
-
138
- ```json
139
- {
140
- "mcpServers": {
141
- "sdd-mcp": {
142
- "command": "sdd-cli",
143
- "args": ["mcp", "serve"],
144
- "env": { "SDD_REPO_PATH": "/abs/path/to/sdd-repo" }
145
- }
146
- }
147
- }
148
- ```
149
-
150
- Precedence: `SDD_REPO_PATH` env var > `--sdd-repo` CLI flag > sibling-directory auto-discovery via the `.sdd-repo-kind` marker.
151
-
152
99
  ## Install
153
100
 
154
101
  ```bash
155
102
  npm install -g @sdd-method/sdd-cli
156
103
  ```
157
104
 
158
- > **For external adopters:** the npm package ships the CLI and a small set
159
- > of bundled validators, but not the method baseline tarballs that `init`
160
- > and `sync` need. See [`docs/adopter-readiness.md`](docs/adopter-readiness.md)
161
- > for the full distribution model and the pre-launch gap.
105
+ > The package ships the CLI and a small set of bundled validators, but not
106
+ > the method baseline tarballs that `init` and `sync` need; those come from
107
+ > the method distribution.
162
108
 
163
109
  ## Develop
164
110
 
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=author-bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-bin.d.ts","sourceRoot":"","sources":["../src/author-bin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { runAuthor } from "./author-program.js";
3
+ runAuthor(process.argv.slice(2)).catch((err) => {
4
+ const message = err instanceof Error ? err.message : String(err);
5
+ process.stderr.write(`sdd-author: ${message}\n`);
6
+ process.exit(1);
7
+ });
8
+ //# sourceMappingURL=author-bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-bin.js","sourceRoot":"","sources":["../src/author-bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from "commander";
2
+ /** The verbs the author adds to verify, as `<verb>` or `<verb> <subcommand>` (M-ADR 0220 §4.2). Asserted by test. */
3
+ export declare const AUTHOR_ONLY_SURFACE: ReadonlyArray<string>;
4
+ /** The full surface: verify's, plus the author's own. */
5
+ export declare const AUTHOR_SURFACE: ReadonlyArray<string>;
6
+ export declare function runAuthor(argv: readonly string[]): Promise<void>;
7
+ export declare function buildAuthorProgram(): Command;
8
+ //# sourceMappingURL=author-program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-program.d.ts","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAgBpD,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAgBrD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,MAAM,CAA+C,CAAC;AAMjG,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAoC5C"}
@@ -0,0 +1,99 @@
1
+ // Fifth entrypoint: the AUTHOR surface — M-ADR 0220 §4.1–4.3.
2
+ //
3
+ // The binary for the people and agents who own one SDD's content: it re-authors that content and
4
+ // cannot move the baseline or rebuild the model. Author and maintain are SIBLINGS, not a nesting
5
+ // (0220 §4.1): both carry the whole verify surface, and the author adds what 0220 §4.2 gives it —
6
+ // new artefacts and plans (`scaffold`, `plan`), the evidence and findings it triages (`contracts`,
7
+ // `conformance`, `api-surface`, the `snapshot` verbs), the projections maintain also holds
8
+ // (`render screen`, `generate-briefing`, `context pull`), and `catalogue check`, which reports a
9
+ // stale model and writes nothing.
10
+ //
11
+ // Not here, by design: `sync`, `catalogue build | aggregate | graph | diff` and `pack build`
12
+ // (maintain's), and `init`, `metamodel roundtrip` and `catalogue migration-map` (sdd-cli's,
13
+ // the ADMIN artefact). As with sdd-verify and sdd-maintain, the boundary is ABSENCE, not a menu:
14
+ // the package ships only the import closure of author-bin.js, so registration imports
15
+ // per-subcommand registrars, never a barrel that re-exports a writer.
16
+ import { Command, CommanderError } from "commander";
17
+ import { getPackageVersion } from "./lib/package-version.js";
18
+ import { registerVerifySurface, rejectOutsideSurface, VERIFY_SURFACE } from "./verify-program.js";
19
+ import { registerApiSurface } from "./verbs/api-surface.js";
20
+ import { registerCatalogueCheck } from "./verbs/catalogue-check.js";
21
+ import { registerConformance } from "./verbs/conformance.js";
22
+ import { registerContext } from "./verbs/context.js";
23
+ import { registerContracts } from "./verbs/contracts.js";
24
+ import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
25
+ import { registerPlan } from "./verbs/plan.js";
26
+ import { registerRender } from "./verbs/render.js";
27
+ import { registerScaffold } from "./verbs/scaffold.js";
28
+ import { registerSnapshot } from "./verbs/snapshot.js";
29
+ const SPEC_URL = "docs/method/cli/sdd-cli-specification.md (in the method distribution)";
30
+ /** The verbs the author adds to verify, as `<verb>` or `<verb> <subcommand>` (M-ADR 0220 §4.2). Asserted by test. */
31
+ export const AUTHOR_ONLY_SURFACE = [
32
+ "scaffold domain",
33
+ "plan",
34
+ "contracts attest",
35
+ "conformance",
36
+ "api-surface",
37
+ "snapshot fold",
38
+ "snapshot land",
39
+ "snapshot verify",
40
+ "snapshot diff",
41
+ "snapshot targets",
42
+ "snapshot advance",
43
+ "render screen",
44
+ "generate-briefing",
45
+ "context pull",
46
+ "catalogue check",
47
+ ];
48
+ /** The full surface: verify's, plus the author's own. */
49
+ export const AUTHOR_SURFACE = [...VERIFY_SURFACE, ...AUTHOR_ONLY_SURFACE];
50
+ const OUTSIDE = "is not part of sdd-author, which re-authors one SDD's content but cannot move its baseline or rebuild its model. " +
51
+ "Sync, catalogue build and pack build are in @sdd-method/maintain-cli; init and the rest are in @sdd-method/sdd-cli.";
52
+ export async function runAuthor(argv) {
53
+ const program = buildAuthorProgram();
54
+ if (argv.length === 0) {
55
+ program.outputHelp();
56
+ return;
57
+ }
58
+ rejectOutsideSurface(program, argv, OUTSIDE);
59
+ try {
60
+ await program.parseAsync([...argv], { from: "user" });
61
+ }
62
+ catch (err) {
63
+ if (err instanceof CommanderError) {
64
+ if (err.code === "commander.help" || err.code === "commander.helpDisplayed" || err.code === "commander.version") {
65
+ return;
66
+ }
67
+ }
68
+ throw err;
69
+ }
70
+ }
71
+ export function buildAuthorProgram() {
72
+ const program = new Command();
73
+ program
74
+ .name("sdd-author")
75
+ .description("Re-author one SDD's content — scaffold, plan, contracts, conformance, api-surface, snapshots, briefings, catalogue check — plus every read-only verify verb. Cannot sync the baseline or rebuild the catalogues.")
76
+ .version(getPackageVersion(), "-v, --version")
77
+ .addHelpText("after", `\nSpec: ${SPEC_URL}\nSync, catalogue build and pack build are in @sdd-method/maintain-cli; init and the administrator's verbs are in @sdd-method/sdd-cli.`)
78
+ .exitOverride()
79
+ .configureOutput({
80
+ writeOut: (str) => process.stdout.write(str),
81
+ writeErr: (str) => process.stderr.write(str),
82
+ });
83
+ // The verify surface first, from verify's own registration: verify ⊂ author is structural.
84
+ registerVerifySurface(program);
85
+ registerScaffold(program);
86
+ registerPlan(program);
87
+ registerContracts(program);
88
+ registerConformance(program);
89
+ registerApiSurface(program);
90
+ registerSnapshot(program);
91
+ registerRender(program);
92
+ registerGenerateBriefing(program);
93
+ registerContext(program);
94
+ const catalogue = program.commands.find((c) => c.name() === "catalogue");
95
+ catalogue.description("Validate and query per-SDD catalogues (ADR 0134), and check them for staleness — never rebuilds");
96
+ registerCatalogueCheck(catalogue);
97
+ return program;
98
+ }
99
+ //# sourceMappingURL=author-program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-program.js","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAyBpD,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAsCtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAwBpD,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAqCtC"}
package/dist/index.js CHANGED
@@ -8,7 +8,6 @@ import { registerContracts } from "./verbs/contracts.js";
8
8
  import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
9
9
  import { registerInit } from "./verbs/init.js";
10
10
  import { registerList } from "./verbs/list.js";
11
- import { registerMcp } from "./verbs/mcp.js";
12
11
  import { registerMetamodel } from "./verbs/metamodel.js";
13
12
  import { registerPack } from "./verbs/pack.js";
14
13
  import { registerPlan } from "./verbs/plan.js";
@@ -17,7 +16,7 @@ import { registerScaffold } from "./verbs/scaffold.js";
17
16
  import { registerSnapshot } from "./verbs/snapshot.js";
18
17
  import { registerSync } from "./verbs/sync.js";
19
18
  import { registerValidate } from "./verbs/validate.js";
20
- const SPEC_URL = "https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/cli/sdd-cli-specification.md";
19
+ const SPEC_URL = "docs/method/cli/sdd-cli-specification.md (in the method distribution)";
21
20
  const NOT_YET_IMPLEMENTED = [];
22
21
  export async function run(argv) {
23
22
  const program = buildProgram();
@@ -53,7 +52,6 @@ export function buildProgram() {
53
52
  registerPlan(program);
54
53
  registerGenerateBriefing(program);
55
54
  registerContext(program);
56
- registerMcp(program);
57
55
  registerCatalogue(program);
58
56
  registerConformance(program);
59
57
  registerContracts(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,23 @@
1
1
  /**
2
2
  * Agent-harness identifiers — the value space of `--agent-harness` on
3
- * `sdd-cli init` and `sdd-cli sync` per ADR 0141 §4.6.
3
+ * `sdd-cli init`, `sdd-cli sync` and `context pull` per ADR 0141 §4.6.
4
4
  *
5
- * Claude Code is the reference implementation per ADR 0141 §4.4 and
6
- * the default. GitHub Copilot CLI is the second reference per
7
- * `docs/method/methods/hook-contracts.md`. Adopters using a different
8
- * harness implement the portable contracts themselves per ADR 0141 §4.5.
5
+ * Claude Code is the one supported harness (M-ADR 0220 §4.6) and the default. The GitHub Copilot
6
+ * CLI value is retired: passing it fails, naming that record. Every SDD and code repository also
7
+ * gets an AGENTS.md pointer to agent-instructions.md, with no flag; it is a pointer, not support
8
+ * for another harness. Adopters binding any other harness implement the portable contracts
9
+ * themselves (ADR 0141 §4.5).
9
10
  */
10
- export declare const AGENT_HARNESSES: readonly ["claude-code", "github-copilot-cli"];
11
+ export declare const AGENT_HARNESSES: readonly ["claude-code"];
11
12
  export type AgentHarness = (typeof AGENT_HARNESSES)[number];
12
13
  export declare const DEFAULT_AGENT_HARNESS: AgentHarness;
14
+ /** Retired values, each with the record that retired it. */
15
+ export declare const RETIRED_AGENT_HARNESSES: Readonly<Record<string, string>>;
13
16
  export declare function isAgentHarness(value: string): value is AgentHarness;
14
17
  /**
15
18
  * Resolve an optional CLI input to a concrete harness, falling back to
16
- * the reference default when unset. Throws on an unsupported value so
17
- * the CLI can surface a clear error to the caller.
19
+ * the reference default when unset. Throws on an unsupported or retired
20
+ * value so the CLI can surface a clear error to the caller.
18
21
  */
19
22
  export declare function resolveAgentHarness(input: string | undefined): AgentHarness;
20
23
  //# sourceMappingURL=agent-harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-harness.d.ts","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,eAAe,gDAAiD,CAAC;AAE9E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,EAAE,YAA4B,CAAC;AAEjE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAQ3E"}
1
+ {"version":3,"file":"agent-harness.d.ts","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,eAAe,0BAA2B,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,EAAE,YAA4B,CAAC;AAEjE,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAc3E"}
@@ -1,25 +1,34 @@
1
1
  /**
2
2
  * Agent-harness identifiers — the value space of `--agent-harness` on
3
- * `sdd-cli init` and `sdd-cli sync` per ADR 0141 §4.6.
3
+ * `sdd-cli init`, `sdd-cli sync` and `context pull` per ADR 0141 §4.6.
4
4
  *
5
- * Claude Code is the reference implementation per ADR 0141 §4.4 and
6
- * the default. GitHub Copilot CLI is the second reference per
7
- * `docs/method/methods/hook-contracts.md`. Adopters using a different
8
- * harness implement the portable contracts themselves per ADR 0141 §4.5.
5
+ * Claude Code is the one supported harness (M-ADR 0220 §4.6) and the default. The GitHub Copilot
6
+ * CLI value is retired: passing it fails, naming that record. Every SDD and code repository also
7
+ * gets an AGENTS.md pointer to agent-instructions.md, with no flag; it is a pointer, not support
8
+ * for another harness. Adopters binding any other harness implement the portable contracts
9
+ * themselves (ADR 0141 §4.5).
9
10
  */
10
- export const AGENT_HARNESSES = ["claude-code", "github-copilot-cli"];
11
+ export const AGENT_HARNESSES = ["claude-code"];
11
12
  export const DEFAULT_AGENT_HARNESS = "claude-code";
13
+ /** Retired values, each with the record that retired it. */
14
+ export const RETIRED_AGENT_HARNESSES = {
15
+ "github-copilot-cli": "M-ADR 0220 §4.6",
16
+ };
12
17
  export function isAgentHarness(value) {
13
18
  return AGENT_HARNESSES.includes(value);
14
19
  }
15
20
  /**
16
21
  * Resolve an optional CLI input to a concrete harness, falling back to
17
- * the reference default when unset. Throws on an unsupported value so
18
- * the CLI can surface a clear error to the caller.
22
+ * the reference default when unset. Throws on an unsupported or retired
23
+ * value so the CLI can surface a clear error to the caller.
19
24
  */
20
25
  export function resolveAgentHarness(input) {
21
26
  if (input === undefined)
22
27
  return DEFAULT_AGENT_HARNESS;
28
+ const retired = RETIRED_AGENT_HARNESSES[input];
29
+ if (retired !== undefined) {
30
+ throw new Error(`--agent-harness "${input}" is retired (${retired}): Claude Code is the one supported harness, and every repository gets an AGENTS.md pointer to agent-instructions.md without a flag. Supported: ${AGENT_HARNESSES.join(", ")}.`);
31
+ }
23
32
  if (!isAgentHarness(input)) {
24
33
  throw new Error(`Unsupported --agent-harness "${input}". Supported: ${AGENT_HARNESSES.join(", ")}.`);
25
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAU,CAAC;AAI9E,MAAM,CAAC,MAAM,qBAAqB,GAAiB,aAAa,CAAC;AAEjE,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAC;IACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,iBAAiB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,CAAU,CAAC;AAIxD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,aAAa,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAqC;IACvE,oBAAoB,EAAE,iBAAiB;CACxC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAC;IACtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK,iBAAiB,OAAO,mJAAmJ,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClO,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,iBAAiB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * content below survives sync via the existing `writeMarkedBlockFile`
9
9
  * machinery.
10
10
  */
11
- export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, splitWrapperTemplate, substitute, } from "./render.js";
11
+ export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, AGENTS_POINTER, briefingWrappers, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, renderWrapper, splitWrapperTemplate, substitute, } from "./render.js";
12
12
  export type { RenderResult, WrapperTemplateParts } from "./render.js";
13
13
  export { resolveBriefingVariables } from "./variables.js";
14
14
  export type { BriefingVariables, ResolveVariablesOptions } from "./variables.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -8,6 +8,6 @@
8
8
  * content below survives sync via the existing `writeMarkedBlockFile`
9
9
  * machinery.
10
10
  */
11
- export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, splitWrapperTemplate, substitute, } from "./render.js";
11
+ export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, AGENTS_POINTER, briefingWrappers, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, renderWrapper, splitWrapperTemplate, substitute, } from "./render.js";
12
12
  export { resolveBriefingVariables } from "./variables.js";
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -16,8 +16,23 @@ import type { AgentHarness } from "../agent-harness.js";
16
16
  import type { BriefingVariables } from "./variables.js";
17
17
  export declare const BRIEFING_TEMPLATE_ROOT = "orchestration/templates/briefing";
18
18
  export declare const AGENT_INSTRUCTIONS_REL_PATH = "agent-instructions.md";
19
- /** Output filename per harness — e.g. `CLAUDE.md` or `AGENTS.md`. */
19
+ /** Output filename per harness — `CLAUDE.md`. */
20
20
  export declare function harnessWrapperOutputPath(harness: AgentHarness): string;
21
+ /**
22
+ * The AGENTS.md pointer (M-ADR 0220 §4.6): a few lines directing any agent tool that reads a root
23
+ * AGENTS.md to agent-instructions.md. Written for every SDD and code repository with no flag, and
24
+ * rendered and refreshed exactly as the CLAUDE.md wrapper is. A pointer, not support for another
25
+ * harness. Relative to the briefing template root; code repositories read it under code-repo/.
26
+ */
27
+ export declare const AGENTS_POINTER: {
28
+ readonly templateRel: "AGENTS.md.hbs";
29
+ readonly outputRel: "AGENTS.md";
30
+ };
31
+ /** Every marker-merged wrapper a repository gets: the harness's own, then the AGENTS.md pointer. */
32
+ export declare function briefingWrappers(harness: AgentHarness): ReadonlyArray<{
33
+ templateRel: string;
34
+ outputRel: string;
35
+ }>;
21
36
  /**
22
37
  * Marker pair the wrapper templates use to delimit the method-managed
23
38
  * region. The wrapper sync path slices this region out of the freshly
@@ -44,6 +59,8 @@ export interface RenderResult {
44
59
  }
45
60
  export declare function renderAgentInstructions(targetRepo: string, vars: BriefingVariables): Promise<RenderResult | null>;
46
61
  export declare function renderHarnessWrapper(targetRepo: string, harness: AgentHarness, vars: BriefingVariables): Promise<RenderResult | null>;
62
+ /** Render one wrapper template from the briefing root; null when the baseline does not ship it. */
63
+ export declare function renderWrapper(targetRepo: string, templateRel: string, vars: BriefingVariables): Promise<RenderResult | null>;
47
64
  /**
48
65
  * A rendered wrapper template split at the method-managed markers:
49
66
  * `pre` is everything before the begin marker (the heading), `block`
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAenE,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAI9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAe3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAWnE,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;CAAoE,CAAC;AAEhG,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAEjH;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAE9B;AAED,mGAAmG;AACnG,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAE9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAe3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
@@ -21,15 +21,22 @@ const HARNESS_WRAPPER_TEMPLATE = {
21
21
  templateRel: "claude-code/CLAUDE.md.hbs",
22
22
  outputRel: "CLAUDE.md",
23
23
  },
24
- "github-copilot-cli": {
25
- templateRel: "github-copilot-cli/AGENTS.md.hbs",
26
- outputRel: "AGENTS.md",
27
- },
28
24
  };
29
- /** Output filename per harness — e.g. `CLAUDE.md` or `AGENTS.md`. */
25
+ /** Output filename per harness — `CLAUDE.md`. */
30
26
  export function harnessWrapperOutputPath(harness) {
31
27
  return HARNESS_WRAPPER_TEMPLATE[harness].outputRel;
32
28
  }
29
+ /**
30
+ * The AGENTS.md pointer (M-ADR 0220 §4.6): a few lines directing any agent tool that reads a root
31
+ * AGENTS.md to agent-instructions.md. Written for every SDD and code repository with no flag, and
32
+ * rendered and refreshed exactly as the CLAUDE.md wrapper is. A pointer, not support for another
33
+ * harness. Relative to the briefing template root; code repositories read it under code-repo/.
34
+ */
35
+ export const AGENTS_POINTER = { templateRel: "AGENTS.md.hbs", outputRel: "AGENTS.md" };
36
+ /** Every marker-merged wrapper a repository gets: the harness's own, then the AGENTS.md pointer. */
37
+ export function briefingWrappers(harness) {
38
+ return [HARNESS_WRAPPER_TEMPLATE[harness], AGENTS_POINTER];
39
+ }
33
40
  /**
34
41
  * Marker pair the wrapper templates use to delimit the method-managed
35
42
  * region. The wrapper sync path slices this region out of the freshly
@@ -71,9 +78,11 @@ export async function renderAgentInstructions(targetRepo, vars) {
71
78
  return renderFromPath(templatePath, vars);
72
79
  }
73
80
  export async function renderHarnessWrapper(targetRepo, harness, vars) {
74
- const { templateRel } = HARNESS_WRAPPER_TEMPLATE[harness];
75
- const templatePath = join(targetRepo, BRIEFING_TEMPLATE_ROOT, templateRel);
76
- return renderFromPath(templatePath, vars);
81
+ return renderWrapper(targetRepo, HARNESS_WRAPPER_TEMPLATE[harness].templateRel, vars);
82
+ }
83
+ /** Render one wrapper template from the briefing root; null when the baseline does not ship it. */
84
+ export async function renderWrapper(targetRepo, templateRel, vars) {
85
+ return renderFromPath(join(targetRepo, BRIEFING_TEMPLATE_ROOT, templateRel), vars);
77
86
  }
78
87
  /**
79
88
  * Split a fully-rendered wrapper template at the method-managed
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"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"}