spectra-cli 4.1.1 → 4.2.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 (422) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/go-adapter.d.ts.map +1 -1
  3. package/dist/adapters/go-adapter.js +2 -0
  4. package/dist/adapters/go-adapter.js.map +1 -1
  5. package/dist/adapters/index.d.ts +1 -1
  6. package/dist/adapters/index.d.ts.map +1 -1
  7. package/dist/adapters/java-adapter.d.ts.map +1 -1
  8. package/dist/adapters/java-adapter.js +2 -0
  9. package/dist/adapters/java-adapter.js.map +1 -1
  10. package/dist/adapters/language-adapter.d.ts +47 -9
  11. package/dist/adapters/language-adapter.d.ts.map +1 -1
  12. package/dist/adapters/python-adapter.d.ts +34 -6
  13. package/dist/adapters/python-adapter.d.ts.map +1 -1
  14. package/dist/adapters/python-adapter.js +157 -59
  15. package/dist/adapters/python-adapter.js.map +1 -1
  16. package/dist/adapters/ts-js-adapter.d.ts +13 -5
  17. package/dist/adapters/ts-js-adapter.d.ts.map +1 -1
  18. package/dist/adapters/ts-js-adapter.js +55 -14
  19. package/dist/adapters/ts-js-adapter.js.map +1 -1
  20. package/dist/batch/batch-orchestrator.d.ts +30 -4
  21. package/dist/batch/batch-orchestrator.d.ts.map +1 -1
  22. package/dist/batch/batch-orchestrator.js +284 -7
  23. package/dist/batch/batch-orchestrator.js.map +1 -1
  24. package/dist/batch/delta-regenerator.d.ts +2 -2
  25. package/dist/batch/delta-regenerator.d.ts.map +1 -1
  26. package/dist/batch/delta-regenerator.js.map +1 -1
  27. package/dist/batch/module-grouper.d.ts +2 -2
  28. package/dist/batch/module-grouper.d.ts.map +1 -1
  29. package/dist/batch/module-grouper.js +1 -1
  30. package/dist/batch/module-grouper.js.map +1 -1
  31. package/dist/cli/commands/graph.js +1 -1
  32. package/dist/cli/commands/graph.js.map +1 -1
  33. package/dist/cli/commands/index.d.ts +8 -0
  34. package/dist/cli/commands/index.d.ts.map +1 -0
  35. package/dist/cli/commands/index.js +274 -0
  36. package/dist/cli/commands/index.js.map +1 -0
  37. package/dist/cli/commands/query.d.ts.map +1 -1
  38. package/dist/cli/commands/query.js +3 -1
  39. package/dist/cli/commands/query.js.map +1 -1
  40. package/dist/cli/index.js +9 -9
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/utils/parse-args.d.ts +13 -1
  43. package/dist/cli/utils/parse-args.d.ts.map +1 -1
  44. package/dist/cli/utils/parse-args.js +79 -2
  45. package/dist/cli/utils/parse-args.js.map +1 -1
  46. package/dist/core/ast-analyzer.d.ts.map +1 -1
  47. package/dist/core/ast-analyzer.js +79 -5
  48. package/dist/core/ast-analyzer.js.map +1 -1
  49. package/dist/core/import-resolver.d.ts +90 -0
  50. package/dist/core/import-resolver.d.ts.map +1 -0
  51. package/dist/core/import-resolver.js +273 -0
  52. package/dist/core/import-resolver.js.map +1 -0
  53. package/dist/core/query-mappers/base-mapper.d.ts +13 -0
  54. package/dist/core/query-mappers/base-mapper.d.ts.map +1 -1
  55. package/dist/core/query-mappers/go-mapper.d.ts +68 -0
  56. package/dist/core/query-mappers/go-mapper.d.ts.map +1 -1
  57. package/dist/core/query-mappers/go-mapper.js +421 -0
  58. package/dist/core/query-mappers/go-mapper.js.map +1 -1
  59. package/dist/core/query-mappers/java-mapper.d.ts +196 -0
  60. package/dist/core/query-mappers/java-mapper.d.ts.map +1 -1
  61. package/dist/core/query-mappers/java-mapper.js +600 -0
  62. package/dist/core/query-mappers/java-mapper.js.map +1 -1
  63. package/dist/core/query-mappers/python-mapper.d.ts +55 -0
  64. package/dist/core/query-mappers/python-mapper.d.ts.map +1 -1
  65. package/dist/core/query-mappers/python-mapper.js +273 -0
  66. package/dist/core/query-mappers/python-mapper.js.map +1 -1
  67. package/dist/core/query-mappers/typescript-mapper.d.ts +102 -0
  68. package/dist/core/query-mappers/typescript-mapper.d.ts.map +1 -1
  69. package/dist/core/query-mappers/typescript-mapper.js +470 -0
  70. package/dist/core/query-mappers/typescript-mapper.js.map +1 -1
  71. package/dist/core/single-spec-orchestrator.d.ts.map +1 -1
  72. package/dist/core/single-spec-orchestrator.js +146 -9
  73. package/dist/core/single-spec-orchestrator.js.map +1 -1
  74. package/dist/core/tree-sitter-analyzer.d.ts +6 -0
  75. package/dist/core/tree-sitter-analyzer.d.ts.map +1 -1
  76. package/dist/core/tree-sitter-analyzer.js +33 -1
  77. package/dist/core/tree-sitter-analyzer.js.map +1 -1
  78. package/dist/core/tree-sitter-fallback.d.ts +7 -4
  79. package/dist/core/tree-sitter-fallback.d.ts.map +1 -1
  80. package/dist/core/tree-sitter-fallback.js +157 -12
  81. package/dist/core/tree-sitter-fallback.js.map +1 -1
  82. package/dist/extraction/extraction-types.d.ts +25 -25
  83. package/dist/generator/index-generator.d.ts +3 -3
  84. package/dist/generator/index-generator.d.ts.map +1 -1
  85. package/dist/generator/index-generator.js +1 -1
  86. package/dist/generator/index-generator.js.map +1 -1
  87. package/dist/graph/directory-graph.d.ts +14 -4
  88. package/dist/graph/directory-graph.d.ts.map +1 -1
  89. package/dist/graph/directory-graph.js +71 -128
  90. package/dist/graph/directory-graph.js.map +1 -1
  91. package/dist/graph/mermaid-renderer.d.ts +8 -5
  92. package/dist/graph/mermaid-renderer.d.ts.map +1 -1
  93. package/dist/graph/mermaid-renderer.js +3 -3
  94. package/dist/graph/mermaid-renderer.js.map +1 -1
  95. package/dist/graph/topological-sort.d.ts +13 -6
  96. package/dist/graph/topological-sort.d.ts.map +1 -1
  97. package/dist/graph/topological-sort.js +2 -2
  98. package/dist/graph/topological-sort.js.map +1 -1
  99. package/dist/knowledge-graph/call-resolver.d.ts +64 -0
  100. package/dist/knowledge-graph/call-resolver.d.ts.map +1 -0
  101. package/dist/knowledge-graph/call-resolver.js +323 -0
  102. package/dist/knowledge-graph/call-resolver.js.map +1 -0
  103. package/dist/knowledge-graph/import-resolver.d.ts +114 -0
  104. package/dist/knowledge-graph/import-resolver.d.ts.map +1 -0
  105. package/dist/knowledge-graph/import-resolver.js +537 -0
  106. package/dist/knowledge-graph/import-resolver.js.map +1 -0
  107. package/dist/knowledge-graph/incremental.d.ts +110 -0
  108. package/dist/knowledge-graph/incremental.d.ts.map +1 -0
  109. package/dist/knowledge-graph/incremental.js +410 -0
  110. package/dist/knowledge-graph/incremental.js.map +1 -0
  111. package/dist/knowledge-graph/index.d.ts +74 -0
  112. package/dist/knowledge-graph/index.d.ts.map +1 -0
  113. package/dist/knowledge-graph/index.js +156 -0
  114. package/dist/knowledge-graph/index.js.map +1 -0
  115. package/dist/knowledge-graph/module-derivation.d.ts +238 -0
  116. package/dist/knowledge-graph/module-derivation.d.ts.map +1 -0
  117. package/dist/knowledge-graph/module-derivation.js +418 -0
  118. package/dist/knowledge-graph/module-derivation.js.map +1 -0
  119. package/dist/knowledge-graph/persistence.d.ts +270 -0
  120. package/dist/knowledge-graph/persistence.d.ts.map +1 -0
  121. package/dist/knowledge-graph/persistence.js +226 -0
  122. package/dist/knowledge-graph/persistence.js.map +1 -0
  123. package/dist/knowledge-graph/query-helpers.d.ts +164 -0
  124. package/dist/knowledge-graph/query-helpers.d.ts.map +1 -0
  125. package/dist/knowledge-graph/query-helpers.js +394 -0
  126. package/dist/knowledge-graph/query-helpers.js.map +1 -0
  127. package/dist/knowledge-graph/unified-graph.d.ts +310 -0
  128. package/dist/knowledge-graph/unified-graph.d.ts.map +1 -0
  129. package/dist/knowledge-graph/unified-graph.js +182 -0
  130. package/dist/knowledge-graph/unified-graph.js.map +1 -0
  131. package/dist/mcp/agent-context-tools.d.ts +104 -0
  132. package/dist/mcp/agent-context-tools.d.ts.map +1 -0
  133. package/dist/mcp/agent-context-tools.js +854 -0
  134. package/dist/mcp/agent-context-tools.js.map +1 -0
  135. package/dist/mcp/graph-tools.d.ts +20 -0
  136. package/dist/mcp/graph-tools.d.ts.map +1 -1
  137. package/dist/mcp/graph-tools.js +71 -11
  138. package/dist/mcp/graph-tools.js.map +1 -1
  139. package/dist/mcp/lib/response-helpers.d.ts +67 -0
  140. package/dist/mcp/lib/response-helpers.d.ts.map +1 -0
  141. package/dist/mcp/lib/response-helpers.js +103 -0
  142. package/dist/mcp/lib/response-helpers.js.map +1 -0
  143. package/dist/mcp/server.d.ts +3 -1
  144. package/dist/mcp/server.d.ts.map +1 -1
  145. package/dist/mcp/server.js +9 -10
  146. package/dist/mcp/server.js.map +1 -1
  147. package/dist/models/call-site.d.ts +68 -0
  148. package/dist/models/call-site.d.ts.map +1 -0
  149. package/dist/models/call-site.js +60 -0
  150. package/dist/models/call-site.js.map +1 -0
  151. package/dist/models/code-skeleton.d.ts +78 -6
  152. package/dist/models/code-skeleton.d.ts.map +1 -1
  153. package/dist/models/code-skeleton.js +29 -0
  154. package/dist/models/code-skeleton.js.map +1 -1
  155. package/dist/models/drift-item.d.ts +4 -4
  156. package/dist/models/module-spec.d.ts +155 -94
  157. package/dist/models/module-spec.d.ts.map +1 -1
  158. package/dist/panoramic/adr-decision-pipeline.d.ts +53 -0
  159. package/dist/panoramic/adr-decision-pipeline.d.ts.map +1 -0
  160. package/dist/panoramic/adr-decision-pipeline.js +685 -0
  161. package/dist/panoramic/adr-decision-pipeline.js.map +1 -0
  162. package/dist/panoramic/api-surface-generator.d.ts +56 -0
  163. package/dist/panoramic/api-surface-generator.d.ts.map +1 -0
  164. package/dist/panoramic/api-surface-generator.js +1671 -0
  165. package/dist/panoramic/api-surface-generator.js.map +1 -0
  166. package/dist/panoramic/architecture-ir-builder.d.ts +19 -0
  167. package/dist/panoramic/architecture-ir-builder.d.ts.map +1 -0
  168. package/dist/panoramic/architecture-ir-builder.js +561 -0
  169. package/dist/panoramic/architecture-ir-builder.js.map +1 -0
  170. package/dist/panoramic/architecture-ir-exporters.d.ts +7 -0
  171. package/dist/panoramic/architecture-ir-exporters.d.ts.map +1 -0
  172. package/dist/panoramic/architecture-ir-exporters.js +183 -0
  173. package/dist/panoramic/architecture-ir-exporters.js.map +1 -0
  174. package/dist/panoramic/architecture-ir-generator.d.ts +36 -0
  175. package/dist/panoramic/architecture-ir-generator.d.ts.map +1 -0
  176. package/dist/panoramic/architecture-ir-generator.js +51 -0
  177. package/dist/panoramic/architecture-ir-generator.js.map +1 -0
  178. package/dist/panoramic/architecture-ir-mermaid-adapter.d.ts +6 -0
  179. package/dist/panoramic/architecture-ir-mermaid-adapter.d.ts.map +1 -0
  180. package/dist/panoramic/architecture-ir-mermaid-adapter.js +98 -0
  181. package/dist/panoramic/architecture-ir-mermaid-adapter.js.map +1 -0
  182. package/dist/panoramic/architecture-ir-model.d.ts +87 -0
  183. package/dist/panoramic/architecture-ir-model.d.ts.map +1 -0
  184. package/dist/panoramic/architecture-ir-model.js +20 -0
  185. package/dist/panoramic/architecture-ir-model.js.map +1 -0
  186. package/dist/panoramic/architecture-narrative.d.ts +68 -0
  187. package/dist/panoramic/architecture-narrative.d.ts.map +1 -0
  188. package/dist/panoramic/architecture-narrative.js +401 -0
  189. package/dist/panoramic/architecture-narrative.js.map +1 -0
  190. package/dist/panoramic/architecture-overview-generator.d.ts +31 -0
  191. package/dist/panoramic/architecture-overview-generator.d.ts.map +1 -0
  192. package/dist/panoramic/architecture-overview-generator.js +454 -0
  193. package/dist/panoramic/architecture-overview-generator.js.map +1 -0
  194. package/dist/panoramic/architecture-overview-model.d.ts +77 -0
  195. package/dist/panoramic/architecture-overview-model.d.ts.map +1 -0
  196. package/dist/panoramic/architecture-overview-model.js +31 -0
  197. package/dist/panoramic/architecture-overview-model.js.map +1 -0
  198. package/dist/panoramic/batch-project-docs.d.ts.map +1 -1
  199. package/dist/panoramic/batch-project-docs.js +4 -2
  200. package/dist/panoramic/batch-project-docs.js.map +1 -1
  201. package/dist/panoramic/builders/component-view-builder.d.ts +25 -1
  202. package/dist/panoramic/builders/component-view-builder.d.ts.map +1 -1
  203. package/dist/panoramic/builders/component-view-builder.js +83 -3
  204. package/dist/panoramic/builders/component-view-builder.js.map +1 -1
  205. package/dist/panoramic/builders/doc-graph-builder.d.ts +2 -2
  206. package/dist/panoramic/builders/doc-graph-builder.d.ts.map +1 -1
  207. package/dist/panoramic/builders/doc-graph-builder.js.map +1 -1
  208. package/dist/panoramic/component-view-builder.d.ts +17 -0
  209. package/dist/panoramic/component-view-builder.d.ts.map +1 -0
  210. package/dist/panoramic/component-view-builder.js +652 -0
  211. package/dist/panoramic/component-view-builder.js.map +1 -0
  212. package/dist/panoramic/component-view-model.d.ts +127 -0
  213. package/dist/panoramic/component-view-model.d.ts.map +1 -0
  214. package/dist/panoramic/component-view-model.js +65 -0
  215. package/dist/panoramic/component-view-model.js.map +1 -0
  216. package/dist/panoramic/config-reference-generator.d.ts +78 -0
  217. package/dist/panoramic/config-reference-generator.d.ts.map +1 -0
  218. package/dist/panoramic/config-reference-generator.js +199 -0
  219. package/dist/panoramic/config-reference-generator.js.map +1 -0
  220. package/dist/panoramic/coverage-auditor.d.ts +95 -0
  221. package/dist/panoramic/coverage-auditor.d.ts.map +1 -0
  222. package/dist/panoramic/coverage-auditor.js +290 -0
  223. package/dist/panoramic/coverage-auditor.js.map +1 -0
  224. package/dist/panoramic/cross-package-analyzer.d.ts +112 -0
  225. package/dist/panoramic/cross-package-analyzer.d.ts.map +1 -0
  226. package/dist/panoramic/cross-package-analyzer.js +258 -0
  227. package/dist/panoramic/cross-package-analyzer.js.map +1 -0
  228. package/dist/panoramic/data-model-generator.d.ts +528 -0
  229. package/dist/panoramic/data-model-generator.d.ts.map +1 -0
  230. package/dist/panoramic/data-model-generator.js +647 -0
  231. package/dist/panoramic/data-model-generator.js.map +1 -0
  232. package/dist/panoramic/doc-graph-builder.d.ts +80 -0
  233. package/dist/panoramic/doc-graph-builder.d.ts.map +1 -0
  234. package/dist/panoramic/doc-graph-builder.js +352 -0
  235. package/dist/panoramic/doc-graph-builder.js.map +1 -0
  236. package/dist/panoramic/docs-bundle-manifest-reader.d.ts +26 -0
  237. package/dist/panoramic/docs-bundle-manifest-reader.d.ts.map +1 -0
  238. package/dist/panoramic/docs-bundle-manifest-reader.js +106 -0
  239. package/dist/panoramic/docs-bundle-manifest-reader.js.map +1 -0
  240. package/dist/panoramic/docs-bundle-orchestrator.d.ts +14 -0
  241. package/dist/panoramic/docs-bundle-orchestrator.d.ts.map +1 -0
  242. package/dist/panoramic/docs-bundle-orchestrator.js +538 -0
  243. package/dist/panoramic/docs-bundle-orchestrator.js.map +1 -0
  244. package/dist/panoramic/docs-bundle-profiles.d.ts +4 -0
  245. package/dist/panoramic/docs-bundle-profiles.d.ts.map +1 -0
  246. package/dist/panoramic/docs-bundle-profiles.js +82 -0
  247. package/dist/panoramic/docs-bundle-profiles.js.map +1 -0
  248. package/dist/panoramic/docs-bundle-types.d.ts +94 -0
  249. package/dist/panoramic/docs-bundle-types.d.ts.map +1 -0
  250. package/dist/panoramic/docs-bundle-types.js +10 -0
  251. package/dist/panoramic/docs-bundle-types.js.map +1 -0
  252. package/dist/panoramic/docs-quality-evaluator.d.ts +31 -0
  253. package/dist/panoramic/docs-quality-evaluator.d.ts.map +1 -0
  254. package/dist/panoramic/docs-quality-evaluator.js +941 -0
  255. package/dist/panoramic/docs-quality-evaluator.js.map +1 -0
  256. package/dist/panoramic/docs-quality-model.d.ts +125 -0
  257. package/dist/panoramic/docs-quality-model.d.ts.map +1 -0
  258. package/dist/panoramic/docs-quality-model.js +166 -0
  259. package/dist/panoramic/docs-quality-model.js.map +1 -0
  260. package/dist/panoramic/dynamic-scenarios-builder.d.ts +18 -0
  261. package/dist/panoramic/dynamic-scenarios-builder.d.ts.map +1 -0
  262. package/dist/panoramic/dynamic-scenarios-builder.js +316 -0
  263. package/dist/panoramic/dynamic-scenarios-builder.js.map +1 -0
  264. package/dist/panoramic/event-surface-generator.d.ts +52 -0
  265. package/dist/panoramic/event-surface-generator.d.ts.map +1 -0
  266. package/dist/panoramic/event-surface-generator.js +507 -0
  267. package/dist/panoramic/event-surface-generator.js.map +1 -0
  268. package/dist/panoramic/generator-registry.d.ts +1 -1
  269. package/dist/panoramic/generator-registry.d.ts.map +1 -1
  270. package/dist/panoramic/generator-registry.js +5 -2
  271. package/dist/panoramic/generator-registry.js.map +1 -1
  272. package/dist/panoramic/generators/cross-package-analyzer.d.ts +5 -5
  273. package/dist/panoramic/generators/cross-package-analyzer.d.ts.map +1 -1
  274. package/dist/panoramic/generators/cross-package-analyzer.js +1 -1
  275. package/dist/panoramic/generators/cross-package-analyzer.js.map +1 -1
  276. package/dist/panoramic/generators/data-model-generator.d.ts +27 -27
  277. package/dist/panoramic/graph/confidence-mapper.d.ts +18 -0
  278. package/dist/panoramic/graph/confidence-mapper.d.ts.map +1 -1
  279. package/dist/panoramic/graph/confidence-mapper.js +26 -0
  280. package/dist/panoramic/graph/confidence-mapper.js.map +1 -1
  281. package/dist/panoramic/graph/graph-builder.d.ts.map +1 -1
  282. package/dist/panoramic/graph/graph-builder.js +78 -0
  283. package/dist/panoramic/graph/graph-builder.js.map +1 -1
  284. package/dist/panoramic/graph/graph-paths.d.ts +8 -0
  285. package/dist/panoramic/graph/graph-paths.d.ts.map +1 -1
  286. package/dist/panoramic/graph/graph-paths.js +10 -0
  287. package/dist/panoramic/graph/graph-paths.js.map +1 -1
  288. package/dist/panoramic/graph/graph-query.d.ts +33 -2
  289. package/dist/panoramic/graph/graph-query.d.ts.map +1 -1
  290. package/dist/panoramic/graph/graph-query.js +69 -19
  291. package/dist/panoramic/graph/graph-query.js.map +1 -1
  292. package/dist/panoramic/graph/graph-types.d.ts +32 -3
  293. package/dist/panoramic/graph/graph-types.d.ts.map +1 -1
  294. package/dist/panoramic/hyperedges/schema.d.ts +6 -6
  295. package/dist/panoramic/interface-surface-generator.d.ts +50 -0
  296. package/dist/panoramic/interface-surface-generator.d.ts.map +1 -0
  297. package/dist/panoramic/interface-surface-generator.js +388 -0
  298. package/dist/panoramic/interface-surface-generator.js.map +1 -0
  299. package/dist/panoramic/interfaces.d.ts +2 -2
  300. package/dist/panoramic/mock-readme-generator.d.ts +90 -0
  301. package/dist/panoramic/mock-readme-generator.d.ts.map +1 -0
  302. package/dist/panoramic/mock-readme-generator.js +111 -0
  303. package/dist/panoramic/mock-readme-generator.js.map +1 -0
  304. package/dist/panoramic/models/component-view-model.d.ts +1 -1
  305. package/dist/panoramic/models/component-view-model.d.ts.map +1 -1
  306. package/dist/panoramic/models/component-view-model.js.map +1 -1
  307. package/dist/panoramic/narrative-provenance-adapter.d.ts +8 -0
  308. package/dist/panoramic/narrative-provenance-adapter.d.ts.map +1 -0
  309. package/dist/panoramic/narrative-provenance-adapter.js +99 -0
  310. package/dist/panoramic/narrative-provenance-adapter.js.map +1 -0
  311. package/dist/panoramic/parser-registry.d.ts +1 -1
  312. package/dist/panoramic/parser-registry.js +1 -1
  313. package/dist/panoramic/parsers/types.d.ts +6 -6
  314. package/dist/panoramic/pattern-hints-generator.d.ts +28 -0
  315. package/dist/panoramic/pattern-hints-generator.d.ts.map +1 -0
  316. package/dist/panoramic/pattern-hints-generator.js +218 -0
  317. package/dist/panoramic/pattern-hints-generator.js.map +1 -0
  318. package/dist/panoramic/pattern-hints-model.d.ts +89 -0
  319. package/dist/panoramic/pattern-hints-model.d.ts.map +1 -0
  320. package/dist/panoramic/pattern-hints-model.js +61 -0
  321. package/dist/panoramic/pattern-hints-model.js.map +1 -0
  322. package/dist/panoramic/pattern-knowledge-base.d.ts +31 -0
  323. package/dist/panoramic/pattern-knowledge-base.d.ts.map +1 -0
  324. package/dist/panoramic/pattern-knowledge-base.js +407 -0
  325. package/dist/panoramic/pattern-knowledge-base.js.map +1 -0
  326. package/dist/panoramic/pipelines/coverage-auditor.d.ts.map +1 -1
  327. package/dist/panoramic/pipelines/coverage-auditor.js +4 -2
  328. package/dist/panoramic/pipelines/coverage-auditor.js.map +1 -1
  329. package/dist/panoramic/pipelines/docs-bundle-orchestrator.js +13 -6
  330. package/dist/panoramic/pipelines/docs-bundle-orchestrator.js.map +1 -1
  331. package/dist/panoramic/pipelines/product-ux-docs.d.ts +5 -0
  332. package/dist/panoramic/pipelines/product-ux-docs.d.ts.map +1 -1
  333. package/dist/panoramic/pipelines/product-ux-docs.js +34 -6
  334. package/dist/panoramic/pipelines/product-ux-docs.js.map +1 -1
  335. package/dist/panoramic/product-ux-docs.d.ts +104 -0
  336. package/dist/panoramic/product-ux-docs.d.ts.map +1 -0
  337. package/dist/panoramic/product-ux-docs.js +817 -0
  338. package/dist/panoramic/product-ux-docs.js.map +1 -0
  339. package/dist/panoramic/qa/__tests__/citation.test.d.ts +2 -0
  340. package/dist/panoramic/qa/__tests__/citation.test.d.ts.map +1 -0
  341. package/dist/panoramic/qa/__tests__/citation.test.js +193 -0
  342. package/dist/panoramic/qa/__tests__/citation.test.js.map +1 -0
  343. package/dist/panoramic/qa/__tests__/debt-context.test.d.ts +2 -0
  344. package/dist/panoramic/qa/__tests__/debt-context.test.d.ts.map +1 -0
  345. package/dist/panoramic/qa/__tests__/debt-context.test.js +154 -0
  346. package/dist/panoramic/qa/__tests__/debt-context.test.js.map +1 -0
  347. package/dist/panoramic/qa/__tests__/graph-retriever.test.d.ts +2 -0
  348. package/dist/panoramic/qa/__tests__/graph-retriever.test.d.ts.map +1 -0
  349. package/dist/panoramic/qa/__tests__/graph-retriever.test.js +148 -0
  350. package/dist/panoramic/qa/__tests__/graph-retriever.test.js.map +1 -0
  351. package/dist/panoramic/qa/__tests__/index.test.d.ts +2 -0
  352. package/dist/panoramic/qa/__tests__/index.test.d.ts.map +1 -0
  353. package/dist/panoramic/qa/__tests__/index.test.js +246 -0
  354. package/dist/panoramic/qa/__tests__/index.test.js.map +1 -0
  355. package/dist/panoramic/qa/__tests__/llm-caller.test.d.ts +2 -0
  356. package/dist/panoramic/qa/__tests__/llm-caller.test.d.ts.map +1 -0
  357. package/dist/panoramic/qa/__tests__/llm-caller.test.js +168 -0
  358. package/dist/panoramic/qa/__tests__/llm-caller.test.js.map +1 -0
  359. package/dist/panoramic/qa/__tests__/prompt-builder.test.d.ts +2 -0
  360. package/dist/panoramic/qa/__tests__/prompt-builder.test.d.ts.map +1 -0
  361. package/dist/panoramic/qa/__tests__/prompt-builder.test.js +150 -0
  362. package/dist/panoramic/qa/__tests__/prompt-builder.test.js.map +1 -0
  363. package/dist/panoramic/qa/__tests__/qa-integration.test.d.ts +2 -0
  364. package/dist/panoramic/qa/__tests__/qa-integration.test.d.ts.map +1 -0
  365. package/dist/panoramic/qa/__tests__/qa-integration.test.js +296 -0
  366. package/dist/panoramic/qa/__tests__/qa-integration.test.js.map +1 -0
  367. package/dist/panoramic/qa/__tests__/rag-reranker.test.d.ts +2 -0
  368. package/dist/panoramic/qa/__tests__/rag-reranker.test.d.ts.map +1 -0
  369. package/dist/panoramic/qa/__tests__/rag-reranker.test.js +136 -0
  370. package/dist/panoramic/qa/__tests__/rag-reranker.test.js.map +1 -0
  371. package/dist/panoramic/qa/index.d.ts.map +1 -1
  372. package/dist/panoramic/qa/index.js +10 -3
  373. package/dist/panoramic/qa/index.js.map +1 -1
  374. package/dist/panoramic/runtime-topology-generator.d.ts +77 -0
  375. package/dist/panoramic/runtime-topology-generator.d.ts.map +1 -0
  376. package/dist/panoramic/runtime-topology-generator.js +676 -0
  377. package/dist/panoramic/runtime-topology-generator.js.map +1 -0
  378. package/dist/panoramic/runtime-topology-model.d.ts +145 -0
  379. package/dist/panoramic/runtime-topology-model.d.ts.map +1 -0
  380. package/dist/panoramic/runtime-topology-model.js +300 -0
  381. package/dist/panoramic/runtime-topology-model.js.map +1 -0
  382. package/dist/panoramic/troubleshooting-generator.d.ts +51 -0
  383. package/dist/panoramic/troubleshooting-generator.d.ts.map +1 -0
  384. package/dist/panoramic/troubleshooting-generator.js +451 -0
  385. package/dist/panoramic/troubleshooting-generator.js.map +1 -0
  386. package/dist/panoramic/utils/text-segmenter.d.ts +15 -0
  387. package/dist/panoramic/utils/text-segmenter.d.ts.map +1 -1
  388. package/dist/panoramic/utils/text-segmenter.js +38 -0
  389. package/dist/panoramic/utils/text-segmenter.js.map +1 -1
  390. package/dist/panoramic/workspace-index-generator.d.ts +148 -0
  391. package/dist/panoramic/workspace-index-generator.d.ts.map +1 -0
  392. package/dist/panoramic/workspace-index-generator.js +497 -0
  393. package/dist/panoramic/workspace-index-generator.js.map +1 -0
  394. package/dist/runtime-bootstrap.d.ts +9 -0
  395. package/dist/runtime-bootstrap.d.ts.map +1 -0
  396. package/dist/runtime-bootstrap.js +33 -0
  397. package/dist/runtime-bootstrap.js.map +1 -0
  398. package/dist/utils/file-scanner.js +1 -1
  399. package/dist/utils/file-scanner.js.map +1 -1
  400. package/package.json +12 -2
  401. package/plugins/spec-driver/.claude-plugin/plugin.json +1 -1
  402. package/plugins/spec-driver/README.md +18 -1
  403. package/plugins/spec-driver/agents/implement.md +20 -1
  404. package/plugins/spec-driver/agents/plan.md +20 -1
  405. package/plugins/spec-driver/agents/quality-review.md +20 -1
  406. package/plugins/spec-driver/agents/spec-review.md +20 -1
  407. package/plugins/spec-driver/agents/verify.md +20 -1
  408. package/plugins/spec-driver/docs/customization.md +134 -0
  409. package/plugins/spec-driver/docs/spectra-mcp-integration.md +165 -0
  410. package/plugins/spec-driver/lib/preference-rules.mjs +96 -0
  411. package/plugins/spec-driver/scripts/postinstall.sh +1 -1
  412. package/plugins/spec-driver/scripts/sync-preference-rules.mjs +148 -0
  413. package/plugins/spec-driver/skills/spec-driver-feature/SKILL.md +10 -0
  414. package/plugins/spec-driver/skills/spec-driver-fix/SKILL.md +10 -0
  415. package/plugins/spec-driver/skills/spec-driver-implement/SKILL.md +10 -0
  416. package/plugins/spec-driver/skills/spec-driver-refactor/SKILL.md +10 -0
  417. package/plugins/spec-driver/skills/spec-driver-story/SKILL.md +10 -0
  418. package/plugins/spec-driver/templates/preference-rules.md +39 -0
  419. package/plugins/spectra/.claude-plugin/plugin.json +1 -1
  420. package/plugins/spectra/README.md +48 -1
  421. package/plugins/spectra/hooks/post-commit.sh +40 -0
  422. package/templates/product-overview.hbs +1 -1
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 一次性初始化 spectra runtime 的 3 个 registry。
3
+ *
4
+ * @param outputDir 可选的 generator 输出目录(透传给 bootstrapGenerators)。
5
+ * - mcp / cli 入口通常省略(generator 内部使用默认值)
6
+ * - batch / audit 入口可传入特定的 outputDir 指定 panoramic 文档落点
7
+ */
8
+ export declare function bootstrapRuntime(outputDir?: string): void;
9
+ //# sourceMappingURL=runtime-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-bootstrap.d.ts","sourceRoot":"","sources":["../src/runtime-bootstrap.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAIzD"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 单一 runtime 初始化入口(FR-10 + SC-007)。
3
+ *
4
+ * 所有 entry point 必须调用 `bootstrapRuntime()`:
5
+ * - src/mcp/server.ts(MCP entry)
6
+ * - src/cli/index.ts(CLI entry)
7
+ * - src/panoramic/batch-project-docs.ts(batch entry)
8
+ * - src/panoramic/pipelines/coverage-auditor.ts(audit entry)
9
+ *
10
+ * 幂等性:内部 3 个 bootstrap 函数本身已幂等
11
+ *(registry 非空时跳过;详见 generator-registry.ts / parser-registry.ts / adapters/index.ts)。
12
+ *
13
+ * SC-007 验收:
14
+ * grep -rE 'bootstrap(Adapters|Generators|Parsers)\(' src/ \
15
+ * | grep -v 'src/runtime-bootstrap.ts'
16
+ * → 期望 0 行命中(仅本文件调用 3 个 bootstrap 函数)
17
+ */
18
+ import { bootstrapAdapters } from './adapters/index.js';
19
+ import { bootstrapGenerators } from './panoramic/generator-registry.js';
20
+ import { bootstrapParsers } from './panoramic/parser-registry.js';
21
+ /**
22
+ * 一次性初始化 spectra runtime 的 3 个 registry。
23
+ *
24
+ * @param outputDir 可选的 generator 输出目录(透传给 bootstrapGenerators)。
25
+ * - mcp / cli 入口通常省略(generator 内部使用默认值)
26
+ * - batch / audit 入口可传入特定的 outputDir 指定 panoramic 文档落点
27
+ */
28
+ export function bootstrapRuntime(outputDir) {
29
+ bootstrapAdapters();
30
+ bootstrapGenerators(outputDir);
31
+ bootstrapParsers();
32
+ }
33
+ //# sourceMappingURL=runtime-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-bootstrap.js","sourceRoot":"","sources":["../src/runtime-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAkB;IACjD,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/B,gBAAgB,EAAE,CAAC;AACrB,CAAC"}
@@ -270,7 +270,7 @@ export function scanFiles(targetDir, options) {
270
270
  const registry = LanguageAdapterRegistry.getInstance();
271
271
  if (registry.isEmpty() && !options?.extensions) {
272
272
  throw new Error('LanguageAdapterRegistry 未注册任何适配器。' +
273
- '请在使用前调用 bootstrapAdapters() 完成初始化。');
273
+ '请在使用前调用 bootstrapRuntime(src/runtime-bootstrap.ts)完成初始化。');
274
274
  }
275
275
  // 获取当前有效的支持扩展名和忽略目录
276
276
  const supportedExtensions = getSupportedExtensions(options);
@@ -1 +1 @@
1
- {"version":3,"file":"file-scanner.js","sourceRoot":"","sources":["../../src/utils/file-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-scanner.js","sourceRoot":"","sources":["../../src/utils/file-scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spectra-cli",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "通过 AST 静态分析 + LLM 混合流水线,将源代码逆向工程为结构化 Spec 文档的多语言代码分析平台",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,6 +26,7 @@
26
26
  "test:integration": "vitest run --project integration",
27
27
  "test:e2e": "vitest run --project e2e",
28
28
  "lint": "tsc --noEmit",
29
+ "typecheck:tests": "tsc -p tests/type-tests/tsconfig.json --noEmit",
29
30
  "docs:sync:agents": "node scripts/sync-agent-docs.mjs",
30
31
  "repo:sync": "node scripts/repo-sync.mjs",
31
32
  "repo:check": "node scripts/repo-check.mjs",
@@ -33,6 +34,15 @@
33
34
  "release:check": "node scripts/validate-release-contracts.mjs",
34
35
  "baseline:collect": "node scripts/baseline-collect.mjs",
35
36
  "baseline:diff": "node scripts/baseline-diff.mjs",
37
+ "eval:competitor": "node scripts/eval-competitor.mjs",
38
+ "eval:judge": "node scripts/eval-judge.mjs",
39
+ "eval:judge-jury": "node scripts/eval-judge-jury.mjs",
40
+ "eval:fixture-check": "node scripts/eval-task-fixture-check.mjs",
41
+ "eval:grounding": "node scripts/eval-grounding.mjs",
42
+ "eval:task-runner": "node scripts/eval-task-runner.mjs",
43
+ "eval:refresh-self": "node scripts/eval-refresh-self.mjs",
44
+ "eval:report": "node scripts/eval-report.mjs",
45
+ "eval:repeat": "node scripts/eval-batch-repeat.mjs",
36
46
  "hooks:install": "bash scripts/install-hooks.sh",
37
47
  "hooks:check": "bash scripts/check-plugin-sync.sh",
38
48
  "worktree:sync-local-state": "bash scripts/sync-worktree-local-state.sh",
@@ -57,11 +67,11 @@
57
67
  "@anthropic-ai/sdk": "^0.39.0",
58
68
  "@modelcontextprotocol/sdk": "^1.26.0",
59
69
  "chokidar": "^4.0.3",
60
- "dependency-cruiser": "^16.8.0",
61
70
  "graphology": "^0.26.0",
62
71
  "graphology-communities-louvain": "^2.0.2",
63
72
  "graphology-types": "^0.24.8",
64
73
  "handlebars": "^4.7.8",
74
+ "openai": "^6.37.0",
65
75
  "p-limit": "^6.1.0",
66
76
  "ts-morph": "^24.0.0",
67
77
  "web-tree-sitter": "^0.24.7",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-driver",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "description": "自治研发编排器——支持 feature/implement/story/fix/resume/sync/doc/refactor 八种模式自动执行 Spec-Driven Development 全流程,基于 orchestration.yaml 配置驱动编排,含 6 个质量门禁、sync 确定性合并引擎,以及项目级 orchestration overrides 分层定制",
5
5
  "author": {
6
6
  "name": "Connor Lu"
@@ -1,6 +1,6 @@
1
1
  # Spec Driver
2
2
 
3
- > 当前发布版本: v4.0.0
3
+ > 当前发布版本: v4.2.0
4
4
 
5
5
  **自治研发编排器** — 支持 8 种模式(feature/implement/story/fix/resume/sync/doc/refactor),一键触发 Spec-Driven Development 全流程。基于 orchestration.yaml 配置驱动,含 6 个质量门禁和 15 个专业子代理。
6
6
 
@@ -396,6 +396,23 @@ Plugin 名称从 `speckitdriver` 更名为 `spec-driver`,技能名统一为 `s
396
396
 
397
397
  所有 Codex wrapper 都会写入 `Wrapper Source Contract` 头部,并通过 `validate-wrapper-sources.mjs` 校验是否仍与 canonical source 一致。
398
398
 
399
+ ## Spectra MCP 集成
400
+
401
+ Spec Driver v4.2.0 起,5 个核心 sub-agent(`plan` / `implement` / `verify` / `spec-review` / `quality-review`)已预置 spectra MCP 工具的正确 plugin namespace,实现 **2 步开箱即用**:
402
+
403
+ ```bash
404
+ # Step 1: 安装两个 plugin
405
+ claude plugin install spectra
406
+ claude plugin install spec-driver
407
+
408
+ # Step 2: 直接使用(无需额外配置)
409
+ /spec-driver:spec-driver-feature 描述需求
410
+ ```
411
+
412
+ sub-agent 会自动调用 `mcp__plugin_spectra_spectra__context` / `impact` / `detect_changes` 工具。
413
+
414
+ 详情见 [docs/spectra-mcp-integration.md](./docs/spectra-mcp-integration.md),fork 用户应急方案见 [docs/customization.md](./docs/customization.md)。
415
+
399
416
  ## 许可证
400
417
 
401
418
  MIT
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  model: sonnet
3
- tools: [Read, Write, Edit, Bash, Grep, Glob, Agent]
3
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, mcp__plugin_spectra_spectra__context, mcp__plugin_spectra_spectra__impact]
4
4
  effort: high
5
5
  ---
6
6
 
@@ -10,6 +10,25 @@ effort: high
10
10
 
11
11
  你是 Spec Driver 的**代码实现**子代理,负责按 tasks.md 中的任务清单逐步实现代码。你是高级开发工程师,严格遵循技术计划和任务依赖,产出高质量、可维护的代码。
12
12
 
13
+ <!-- BEGIN preference-rules (generated from templates/preference-rules.md; do not edit) -->
14
+ ## 工具优先使用规则(M7 F170d)
15
+
16
+ 当面对以下类任务时,**优先调用 spectra MCP 工具而非 Read/Grep**:
17
+
18
+ | 任务关键词 | 优先工具 | 理由 |
19
+ |----------|---------|------|
20
+ | "找 caller" / "谁调用了 X" / "caller analysis" | `mcp__plugin_spectra_spectra__impact` (direction=upstream) | 提供 transitive caller chain + confidence score,Grep 仅文本匹配无依赖深度 |
21
+ | "评估改动影响" / "blast radius" / "影响面" | `mcp__plugin_spectra_spectra__impact` | 提供 BFS 受影响 symbol 列表 + summary |
22
+ | "找 callee" / "X 调用了什么" / "依赖什么" | `mcp__plugin_spectra_spectra__context` | 提供 symbol 360° 上下文 (definition + callers + callees + imports) |
23
+
24
+ ### 关键原则
25
+
26
+ - **Grep 仍是 fallback**:当 Spectra MCP 工具返回 graph-not-built / 不可用时退回 Grep
27
+ - **不能省略调用**:不要因为"觉得 Grep 够用"跳过 MCP — 即使任务可以用 Grep 解决,MCP 提供的 transitive 数据更可信
28
+ - **chained 使用**:detect_changes → impact → context 是典型链路,按 nextStepHint 引导继续调用
29
+ - **不要 N+1**:单次 impact 调用即可拿到 BFS 全 list,不需要多次 Grep 累计
30
+ <!-- END preference-rules -->
31
+
13
32
  ## 输入
14
33
 
15
34
  - 读取制品:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  model: sonnet
3
- tools: [Read, Write, Grep, Glob]
3
+ tools: [Read, Write, Grep, Glob, mcp__plugin_spectra_spectra__context, mcp__plugin_spectra_spectra__impact]
4
4
  effort: high
5
5
  ---
6
6
 
@@ -10,6 +10,25 @@ effort: high
10
10
 
11
11
  你是 Spec Driver 的**技术规划**子代理,负责基于需求规范和调研结论,生成完整的技术实现计划。你是架构师角色,将"做什么"转化为"怎么做"。
12
12
 
13
+ <!-- BEGIN preference-rules (generated from templates/preference-rules.md; do not edit) -->
14
+ ## 工具优先使用规则(M7 F170d)
15
+
16
+ 当面对以下类任务时,**优先调用 spectra MCP 工具而非 Read/Grep**:
17
+
18
+ | 任务关键词 | 优先工具 | 理由 |
19
+ |----------|---------|------|
20
+ | "找 caller" / "谁调用了 X" / "caller analysis" | `mcp__plugin_spectra_spectra__impact` (direction=upstream) | 提供 transitive caller chain + confidence score,Grep 仅文本匹配无依赖深度 |
21
+ | "评估改动影响" / "blast radius" / "影响面" | `mcp__plugin_spectra_spectra__impact` | 提供 BFS 受影响 symbol 列表 + summary |
22
+ | "找 callee" / "X 调用了什么" / "依赖什么" | `mcp__plugin_spectra_spectra__context` | 提供 symbol 360° 上下文 (definition + callers + callees + imports) |
23
+
24
+ ### 关键原则
25
+
26
+ - **Grep 仍是 fallback**:当 Spectra MCP 工具返回 graph-not-built / 不可用时退回 Grep
27
+ - **不能省略调用**:不要因为"觉得 Grep 够用"跳过 MCP — 即使任务可以用 Grep 解决,MCP 提供的 transitive 数据更可信
28
+ - **chained 使用**:detect_changes → impact → context 是典型链路,按 nextStepHint 引导继续调用
29
+ - **不要 N+1**:单次 impact 调用即可拿到 BFS 全 list,不需要多次 Grep 累计
30
+ <!-- END preference-rules -->
31
+
13
32
  ## 输入
14
33
 
15
34
  - 读取制品:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  model: sonnet
3
- tools: [Read, Bash, Grep, Glob]
3
+ tools: [Read, Bash, Grep, Glob, mcp__plugin_spectra_spectra__impact, mcp__plugin_spectra_spectra__context]
4
4
  effort: medium
5
5
  ---
6
6
 
@@ -10,6 +10,25 @@ effort: medium
10
10
 
11
11
  你是 Spec Driver 的 **代码质量审查员**,负责从架构合理性、设计模式、安全性、性能、可读性、可维护性六个维度评估代码质量。你是资深代码审查专家,聚焦发现潜在的技术风险、结构问题和长期维护隐患。
12
12
 
13
+ <!-- BEGIN preference-rules (generated from templates/preference-rules.md; do not edit) -->
14
+ ## 工具优先使用规则(M7 F170d)
15
+
16
+ 当面对以下类任务时,**优先调用 spectra MCP 工具而非 Read/Grep**:
17
+
18
+ | 任务关键词 | 优先工具 | 理由 |
19
+ |----------|---------|------|
20
+ | "找 caller" / "谁调用了 X" / "caller analysis" | `mcp__plugin_spectra_spectra__impact` (direction=upstream) | 提供 transitive caller chain + confidence score,Grep 仅文本匹配无依赖深度 |
21
+ | "评估改动影响" / "blast radius" / "影响面" | `mcp__plugin_spectra_spectra__impact` | 提供 BFS 受影响 symbol 列表 + summary |
22
+ | "找 callee" / "X 调用了什么" / "依赖什么" | `mcp__plugin_spectra_spectra__context` | 提供 symbol 360° 上下文 (definition + callers + callees + imports) |
23
+
24
+ ### 关键原则
25
+
26
+ - **Grep 仍是 fallback**:当 Spectra MCP 工具返回 graph-not-built / 不可用时退回 Grep
27
+ - **不能省略调用**:不要因为"觉得 Grep 够用"跳过 MCP — 即使任务可以用 Grep 解决,MCP 提供的 transitive 数据更可信
28
+ - **chained 使用**:detect_changes → impact → context 是典型链路,按 nextStepHint 引导继续调用
29
+ - **不要 N+1**:单次 impact 调用即可拿到 BFS 全 list,不需要多次 Grep 累计
30
+ <!-- END preference-rules -->
31
+
13
32
  ## 输入
14
33
 
15
34
  - 读取制品:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  model: sonnet
3
- tools: [Read, Grep, Glob]
3
+ tools: [Read, Grep, Glob, mcp__plugin_spectra_spectra__impact, mcp__plugin_spectra_spectra__context]
4
4
  effort: medium
5
5
  ---
6
6
 
@@ -10,6 +10,25 @@ effort: medium
10
10
 
11
11
  你是 Spec Driver 的 **Spec 合规审查员**,负责逐条检查 spec.md 中的每个功能需求(FR)的实现状态。你是需求合规专家,确保交付物严格对齐需求规范,不遗漏、不偏离、不过度实现。
12
12
 
13
+ <!-- BEGIN preference-rules (generated from templates/preference-rules.md; do not edit) -->
14
+ ## 工具优先使用规则(M7 F170d)
15
+
16
+ 当面对以下类任务时,**优先调用 spectra MCP 工具而非 Read/Grep**:
17
+
18
+ | 任务关键词 | 优先工具 | 理由 |
19
+ |----------|---------|------|
20
+ | "找 caller" / "谁调用了 X" / "caller analysis" | `mcp__plugin_spectra_spectra__impact` (direction=upstream) | 提供 transitive caller chain + confidence score,Grep 仅文本匹配无依赖深度 |
21
+ | "评估改动影响" / "blast radius" / "影响面" | `mcp__plugin_spectra_spectra__impact` | 提供 BFS 受影响 symbol 列表 + summary |
22
+ | "找 callee" / "X 调用了什么" / "依赖什么" | `mcp__plugin_spectra_spectra__context` | 提供 symbol 360° 上下文 (definition + callers + callees + imports) |
23
+
24
+ ### 关键原则
25
+
26
+ - **Grep 仍是 fallback**:当 Spectra MCP 工具返回 graph-not-built / 不可用时退回 Grep
27
+ - **不能省略调用**:不要因为"觉得 Grep 够用"跳过 MCP — 即使任务可以用 Grep 解决,MCP 提供的 transitive 数据更可信
28
+ - **chained 使用**:detect_changes → impact → context 是典型链路,按 nextStepHint 引导继续调用
29
+ - **不要 N+1**:单次 impact 调用即可拿到 BFS 全 list,不需要多次 Grep 累计
30
+ <!-- END preference-rules -->
31
+
13
32
  ## 输入
14
33
 
15
34
  - 读取制品:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  model: sonnet
3
- tools: [Read, Bash, Grep, Glob]
3
+ tools: [Read, Bash, Grep, Glob, mcp__plugin_spectra_spectra__detect_changes, mcp__plugin_spectra_spectra__impact]
4
4
  effort: medium
5
5
  ---
6
6
 
@@ -10,6 +10,25 @@ effort: medium
10
10
 
11
11
  你是 Spec Driver 的**验证闭环**子代理,负责在代码实现完成后执行两层验证:Layer 1 Spec-Code 对齐验证(语言无关)+ Layer 2 项目原生工具链验证(语言相关)。你是质量工程师,确保交付物符合需求规范且通过技术质量检查。
12
12
 
13
+ <!-- BEGIN preference-rules (generated from templates/preference-rules.md; do not edit) -->
14
+ ## 工具优先使用规则(M7 F170d)
15
+
16
+ 当面对以下类任务时,**优先调用 spectra MCP 工具而非 Read/Grep**:
17
+
18
+ | 任务关键词 | 优先工具 | 理由 |
19
+ |----------|---------|------|
20
+ | "找 caller" / "谁调用了 X" / "caller analysis" | `mcp__plugin_spectra_spectra__impact` (direction=upstream) | 提供 transitive caller chain + confidence score,Grep 仅文本匹配无依赖深度 |
21
+ | "评估改动影响" / "blast radius" / "影响面" | `mcp__plugin_spectra_spectra__impact` | 提供 BFS 受影响 symbol 列表 + summary |
22
+ | "git diff 影响" / "改了哪些 symbol" / "PR review 范围" | `mcp__plugin_spectra_spectra__detect_changes` | 从 diff 派生 changedSymbols + impact 链 |
23
+
24
+ ### 关键原则
25
+
26
+ - **Grep 仍是 fallback**:当 Spectra MCP 工具返回 graph-not-built / 不可用时退回 Grep
27
+ - **不能省略调用**:不要因为"觉得 Grep 够用"跳过 MCP — 即使任务可以用 Grep 解决,MCP 提供的 transitive 数据更可信
28
+ - **chained 使用**:detect_changes → impact → context 是典型链路,按 nextStepHint 引导继续调用
29
+ - **不要 N+1**:单次 impact 调用即可拿到 BFS 全 list,不需要多次 Grep 累计
30
+ <!-- END preference-rules -->
31
+
13
32
  ## 输入
14
33
 
15
34
  - 读取制品:
@@ -0,0 +1,134 @@
1
+ # Spec Driver 定制指引(Fork 用户)
2
+
3
+ 本文档针对 **fork 了 spectra plugin 并修改 plugin name** 的用户,说明如何调整 spec-driver 的 sub-agent 配置以匹配自定义 namespace。
4
+
5
+ ---
6
+
7
+ ## 背景
8
+
9
+ Spec Driver 的 5 个 sub-agent(`plan` / `implement` / `verify` / `spec-review` / `quality-review`)在 frontmatter 中声明了访问 spectra MCP 工具的 namespace:
10
+
11
+ ```yaml
12
+ tools: [..., mcp__plugin_spectra_spectra__context, mcp__plugin_spectra_spectra__impact]
13
+ ```
14
+
15
+ 这个 namespace 由 Claude Code plugin 系统根据 **plugin name** 自动生成:
16
+
17
+ ```
18
+ mcp__plugin_{your-plugin-name}_spectra__{tool-name}
19
+ ```
20
+
21
+ 如果你将 spectra fork 并改名,需要批量更新这些 namespace。
22
+
23
+ ---
24
+
25
+ ## 一键替换指引
26
+
27
+ ### 方法 1: sed(macOS / Linux)
28
+
29
+ 假设你将 spectra plugin 改名为 `my-spectra-fork`:
30
+
31
+ ```bash
32
+ # 预览变更(dry-run)
33
+ grep -rn "mcp__plugin_spectra_spectra__" plugins/spec-driver/agents/
34
+
35
+ # 执行替换(macOS)
36
+ find plugins/spec-driver/agents -name "*.md" -exec sed -i '' \
37
+ 's/mcp__plugin_spectra_spectra__/mcp__plugin_my-spectra-fork_spectra__/g' {} \;
38
+
39
+ # 执行替换(Linux)
40
+ find plugins/spec-driver/agents -name "*.md" -exec sed -i \
41
+ 's/mcp__plugin_spectra_spectra__/mcp__plugin_my-spectra-fork_spectra__/g' {} \;
42
+
43
+ # 验证替换结果
44
+ grep -rn "mcp__plugin_" plugins/spec-driver/agents/
45
+ ```
46
+
47
+ ### 方法 2: awk
48
+
49
+ ```bash
50
+ for f in plugins/spec-driver/agents/plan.md \
51
+ plugins/spec-driver/agents/implement.md \
52
+ plugins/spec-driver/agents/verify.md \
53
+ plugins/spec-driver/agents/spec-review.md \
54
+ plugins/spec-driver/agents/quality-review.md; do
55
+ awk '{gsub(/mcp__plugin_spectra_spectra__/, "mcp__plugin_my-spectra-fork_spectra__"); print}' \
56
+ "$f" > "$f.tmp" && mv "$f.tmp" "$f"
57
+ done
58
+ ```
59
+
60
+ ### 方法 3: 使用脚本(推荐,可重复运行)
61
+
62
+ 创建 `scripts/update-spectra-namespace.sh`:
63
+
64
+ ```bash
65
+ #!/usr/bin/env bash
66
+ set -euo pipefail
67
+
68
+ OLD_NAMESPACE="${1:-mcp__plugin_spectra_spectra__}"
69
+ NEW_NAMESPACE="${2:?需要提供新 namespace,例如: mcp__plugin_my-spectra-fork_spectra__}"
70
+
71
+ echo "替换 namespace: $OLD_NAMESPACE → $NEW_NAMESPACE"
72
+
73
+ find plugins/spec-driver/agents -name "*.md" | while read -r f; do
74
+ if grep -q "$OLD_NAMESPACE" "$f"; then
75
+ sed -i '' "s|${OLD_NAMESPACE}|${NEW_NAMESPACE}|g" "$f"
76
+ echo " 已更新: $f"
77
+ fi
78
+ done
79
+
80
+ echo "完成。验证结果:"
81
+ grep -rn "mcp__plugin_" plugins/spec-driver/agents/ | head -20
82
+ ```
83
+
84
+ 运行:
85
+
86
+ ```bash
87
+ chmod +x scripts/update-spectra-namespace.sh
88
+ bash scripts/update-spectra-namespace.sh \
89
+ "mcp__plugin_spectra_spectra__" \
90
+ "mcp__plugin_my-spectra-fork_spectra__"
91
+ ```
92
+
93
+ ---
94
+
95
+ ## 受影响的文件清单
96
+
97
+ | 文件 | 需替换的工具 |
98
+ |------|------------|
99
+ | `plugins/spec-driver/agents/plan.md` | `context`, `impact` |
100
+ | `plugins/spec-driver/agents/implement.md` | `context`, `impact` |
101
+ | `plugins/spec-driver/agents/verify.md` | `detect_changes`, `impact` |
102
+ | `plugins/spec-driver/agents/spec-review.md` | `impact`, `context` |
103
+ | `plugins/spec-driver/agents/quality-review.md` | `impact`, `context` |
104
+
105
+ ---
106
+
107
+ ## 验证替换正确性
108
+
109
+ ```bash
110
+ # 1. 不应有旧 namespace 残留
111
+ grep -rn "mcp__plugin_spectra_spectra__" plugins/spec-driver/agents/ && echo "ERROR: 旧 namespace 残留" || echo "✅ 旧 namespace 已清除"
112
+
113
+ # 2. 新 namespace 应存在于所有 5 个文件
114
+ grep -rn "mcp__plugin_my-spectra-fork_spectra__" plugins/spec-driver/agents/ | wc -l
115
+ # 预期: 至少 8 行(5 个文件共 8 个工具声明)
116
+
117
+ # 3. 验证 MCP server 名称不变(server-name 仍是 spectra)
118
+ cat plugins/spectra/.mcp.json 2>/dev/null | grep -i "spectra" || cat plugins/my-spectra-fork/.mcp.json | grep -i "spectra"
119
+ ```
120
+
121
+ ---
122
+
123
+ ## 注意事项
124
+
125
+ - **替换的是 plugin-name 部分**,不是 server-name(`spectra`)。server-name 由 `.mcp.json` 的 server key 决定,若你的 fork 保持 server key 为 `spectra`,则 namespace 中间段仍是 `_spectra__`。
126
+ - 如果同时修改了 server key,需调整替换命令中的 `_spectra__` 部分为你的新 server key。
127
+ - 替换后运行 `npm run repo:check` 确认仓库同步状态正常。
128
+
129
+ ---
130
+
131
+ ## 相关文档
132
+
133
+ - [Spectra MCP 集成指引](./spectra-mcp-integration.md) — namespace 规则详细说明
134
+ - [Milestone M7 设计文档](../../docs/design/milestone-M7-spectra-mcp-productization.md)