@harness-engineering/cli 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/dist/agents/commands/codex/AGENTS.md +39 -0
  2. package/dist/agents/commands/codex/harness/add-harness-component/SKILL.md +195 -0
  3. package/dist/agents/commands/codex/harness/add-harness-component/agents/openai.yaml +3 -0
  4. package/dist/agents/commands/codex/harness/cleanup-dead-code/SKILL.md +248 -0
  5. package/dist/agents/commands/codex/harness/cleanup-dead-code/agents/openai.yaml +3 -0
  6. package/dist/agents/commands/codex/harness/detect-doc-drift/SKILL.md +182 -0
  7. package/dist/agents/commands/codex/harness/detect-doc-drift/agents/openai.yaml +3 -0
  8. package/dist/agents/commands/codex/harness/enforce-architecture/SKILL.md +299 -0
  9. package/dist/agents/commands/codex/harness/enforce-architecture/agents/openai.yaml +3 -0
  10. package/dist/agents/commands/codex/harness/harness-architecture-advisor/SKILL.md +452 -0
  11. package/dist/agents/commands/codex/harness/harness-architecture-advisor/agents/openai.yaml +3 -0
  12. package/dist/agents/commands/codex/harness/harness-autopilot/SKILL.md +919 -0
  13. package/dist/agents/commands/codex/harness/harness-autopilot/agents/openai.yaml +3 -0
  14. package/dist/agents/commands/codex/harness/harness-brainstorming/SKILL.md +409 -0
  15. package/dist/agents/commands/codex/harness/harness-brainstorming/agents/openai.yaml +3 -0
  16. package/dist/agents/commands/codex/harness/harness-code-review/SKILL.md +860 -0
  17. package/dist/agents/commands/codex/harness/harness-code-review/agents/openai.yaml +3 -0
  18. package/dist/agents/commands/codex/harness/harness-codebase-cleanup/SKILL.md +227 -0
  19. package/dist/agents/commands/codex/harness/harness-codebase-cleanup/agents/openai.yaml +3 -0
  20. package/dist/agents/commands/codex/harness/harness-debugging/SKILL.md +369 -0
  21. package/dist/agents/commands/codex/harness/harness-debugging/agents/openai.yaml +3 -0
  22. package/dist/agents/commands/codex/harness/harness-dependency-health/SKILL.md +182 -0
  23. package/dist/agents/commands/codex/harness/harness-dependency-health/agents/openai.yaml +3 -0
  24. package/dist/agents/commands/codex/harness/harness-docs-pipeline/SKILL.md +463 -0
  25. package/dist/agents/commands/codex/harness/harness-docs-pipeline/agents/openai.yaml +3 -0
  26. package/dist/agents/commands/codex/harness/harness-execution/SKILL.md +513 -0
  27. package/dist/agents/commands/codex/harness/harness-execution/agents/openai.yaml +3 -0
  28. package/dist/agents/commands/codex/harness/harness-hotspot-detector/SKILL.md +164 -0
  29. package/dist/agents/commands/codex/harness/harness-hotspot-detector/agents/openai.yaml +3 -0
  30. package/dist/agents/commands/codex/harness/harness-impact-analysis/SKILL.md +187 -0
  31. package/dist/agents/commands/codex/harness/harness-impact-analysis/agents/openai.yaml +3 -0
  32. package/dist/agents/commands/codex/harness/harness-integrity/SKILL.md +170 -0
  33. package/dist/agents/commands/codex/harness/harness-integrity/agents/openai.yaml +3 -0
  34. package/dist/agents/commands/codex/harness/harness-onboarding/SKILL.md +291 -0
  35. package/dist/agents/commands/codex/harness/harness-onboarding/agents/openai.yaml +3 -0
  36. package/dist/agents/commands/codex/harness/harness-perf/SKILL.md +263 -0
  37. package/dist/agents/commands/codex/harness/harness-perf/agents/openai.yaml +3 -0
  38. package/dist/agents/commands/codex/harness/harness-planning/SKILL.md +582 -0
  39. package/dist/agents/commands/codex/harness/harness-planning/agents/openai.yaml +3 -0
  40. package/dist/agents/commands/codex/harness/harness-refactoring/SKILL.md +172 -0
  41. package/dist/agents/commands/codex/harness/harness-refactoring/agents/openai.yaml +3 -0
  42. package/dist/agents/commands/codex/harness/harness-release-readiness/SKILL.md +692 -0
  43. package/dist/agents/commands/codex/harness/harness-release-readiness/agents/openai.yaml +3 -0
  44. package/dist/agents/commands/codex/harness/harness-roadmap/SKILL.md +598 -0
  45. package/dist/agents/commands/codex/harness/harness-roadmap/agents/openai.yaml +3 -0
  46. package/dist/agents/commands/codex/harness/harness-security-scan/SKILL.md +157 -0
  47. package/dist/agents/commands/codex/harness/harness-security-scan/agents/openai.yaml +3 -0
  48. package/dist/agents/commands/codex/harness/harness-skill-authoring/SKILL.md +295 -0
  49. package/dist/agents/commands/codex/harness/harness-skill-authoring/agents/openai.yaml +3 -0
  50. package/dist/agents/commands/codex/harness/harness-soundness-review/SKILL.md +1270 -0
  51. package/dist/agents/commands/codex/harness/harness-soundness-review/agents/openai.yaml +3 -0
  52. package/dist/agents/commands/codex/harness/harness-supply-chain-audit/SKILL.md +247 -0
  53. package/dist/agents/commands/codex/harness/harness-supply-chain-audit/agents/openai.yaml +3 -0
  54. package/dist/agents/commands/codex/harness/harness-tdd/SKILL.md +180 -0
  55. package/dist/agents/commands/codex/harness/harness-tdd/agents/openai.yaml +3 -0
  56. package/dist/agents/commands/codex/harness/harness-test-advisor/SKILL.md +163 -0
  57. package/dist/agents/commands/codex/harness/harness-test-advisor/agents/openai.yaml +3 -0
  58. package/dist/agents/commands/codex/harness/harness-verification/SKILL.md +424 -0
  59. package/dist/agents/commands/codex/harness/harness-verification/agents/openai.yaml +3 -0
  60. package/dist/agents/commands/codex/harness/harness-verify/SKILL.md +162 -0
  61. package/dist/agents/commands/codex/harness/harness-verify/agents/openai.yaml +3 -0
  62. package/dist/agents/commands/codex/harness/initialize-harness-project/SKILL.md +235 -0
  63. package/dist/agents/commands/codex/harness/initialize-harness-project/agents/openai.yaml +3 -0
  64. package/dist/agents/commands/cursor/harness/add-harness-component.mdc +200 -0
  65. package/dist/agents/commands/cursor/harness/cleanup-dead-code.mdc +253 -0
  66. package/dist/agents/commands/cursor/harness/detect-doc-drift.mdc +187 -0
  67. package/dist/agents/commands/cursor/harness/enforce-architecture.mdc +304 -0
  68. package/dist/agents/commands/cursor/harness/harness-architecture-advisor.mdc +457 -0
  69. package/dist/agents/commands/cursor/harness/harness-autopilot.mdc +924 -0
  70. package/dist/agents/commands/cursor/harness/harness-brainstorming.mdc +414 -0
  71. package/dist/agents/commands/cursor/harness/harness-code-review.mdc +865 -0
  72. package/dist/agents/commands/cursor/harness/harness-codebase-cleanup.mdc +232 -0
  73. package/dist/agents/commands/cursor/harness/harness-debugging.mdc +374 -0
  74. package/dist/agents/commands/cursor/harness/harness-dependency-health.mdc +187 -0
  75. package/dist/agents/commands/cursor/harness/harness-docs-pipeline.mdc +468 -0
  76. package/dist/agents/commands/cursor/harness/harness-execution.mdc +518 -0
  77. package/dist/agents/commands/cursor/harness/harness-hotspot-detector.mdc +169 -0
  78. package/dist/agents/commands/cursor/harness/harness-impact-analysis.mdc +192 -0
  79. package/dist/agents/commands/cursor/harness/harness-integrity.mdc +175 -0
  80. package/dist/agents/commands/cursor/harness/harness-onboarding.mdc +296 -0
  81. package/dist/agents/commands/cursor/harness/harness-perf.mdc +268 -0
  82. package/dist/agents/commands/cursor/harness/harness-planning.mdc +587 -0
  83. package/dist/agents/commands/cursor/harness/harness-refactoring.mdc +177 -0
  84. package/dist/agents/commands/cursor/harness/harness-release-readiness.mdc +697 -0
  85. package/dist/agents/commands/cursor/harness/harness-roadmap.mdc +603 -0
  86. package/dist/agents/commands/cursor/harness/harness-security-scan.mdc +162 -0
  87. package/dist/agents/commands/cursor/harness/harness-skill-authoring.mdc +300 -0
  88. package/dist/agents/commands/cursor/harness/harness-soundness-review.mdc +1275 -0
  89. package/dist/agents/commands/cursor/harness/harness-supply-chain-audit.mdc +252 -0
  90. package/dist/agents/commands/cursor/harness/harness-tdd.mdc +185 -0
  91. package/dist/agents/commands/cursor/harness/harness-test-advisor.mdc +168 -0
  92. package/dist/agents/commands/cursor/harness/harness-verification.mdc +429 -0
  93. package/dist/agents/commands/cursor/harness/harness-verify.mdc +167 -0
  94. package/dist/agents/commands/cursor/harness/initialize-harness-project.mdc +240 -0
  95. package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +52 -0
  96. package/dist/agents/skills/claude-code/harness-api-design/SKILL.md +52 -0
  97. package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +52 -0
  98. package/dist/agents/skills/claude-code/harness-auth/SKILL.md +52 -0
  99. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +123 -14
  100. package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +6 -0
  101. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +97 -3
  102. package/dist/agents/skills/claude-code/harness-code-review/skill.yaml +6 -0
  103. package/dist/agents/skills/claude-code/harness-codebase-cleanup/SKILL.md +2 -4
  104. package/dist/agents/skills/claude-code/harness-database/SKILL.md +52 -0
  105. package/dist/agents/skills/claude-code/harness-deployment/SKILL.md +52 -0
  106. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +99 -3
  107. package/dist/agents/skills/claude-code/harness-planning/skill.yaml +6 -0
  108. package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +1 -1
  109. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +204 -0
  110. package/dist/agents/skills/claude-code/harness-roadmap-pilot/skill.yaml +52 -0
  111. package/dist/agents/skills/claude-code/harness-security-review/SKILL.md +27 -7
  112. package/dist/agents/skills/claude-code/harness-security-scan/SKILL.md +52 -0
  113. package/dist/agents/skills/claude-code/harness-supply-chain-audit/SKILL.md +281 -0
  114. package/dist/agents/skills/claude-code/harness-supply-chain-audit/skill.yaml +51 -0
  115. package/dist/agents/skills/codex/add-harness-component/SKILL.md +192 -0
  116. package/dist/agents/skills/codex/add-harness-component/skill.yaml +33 -0
  117. package/dist/agents/skills/codex/align-documentation/SKILL.md +213 -0
  118. package/dist/agents/skills/codex/align-documentation/skill.yaml +32 -0
  119. package/dist/agents/skills/codex/check-mechanical-constraints/SKILL.md +191 -0
  120. package/dist/agents/skills/codex/check-mechanical-constraints/skill.yaml +33 -0
  121. package/dist/agents/skills/codex/cleanup-dead-code/SKILL.md +245 -0
  122. package/dist/agents/skills/codex/cleanup-dead-code/skill.yaml +34 -0
  123. package/dist/agents/skills/codex/detect-doc-drift/SKILL.md +179 -0
  124. package/dist/agents/skills/codex/detect-doc-drift/skill.yaml +31 -0
  125. package/dist/agents/skills/codex/enforce-architecture/SKILL.md +296 -0
  126. package/dist/agents/skills/codex/enforce-architecture/skill.yaml +35 -0
  127. package/dist/agents/skills/codex/harness-accessibility/SKILL.md +281 -0
  128. package/dist/agents/skills/codex/harness-accessibility/skill.yaml +52 -0
  129. package/dist/agents/skills/codex/harness-api-design/SKILL.md +356 -0
  130. package/dist/agents/skills/codex/harness-api-design/skill.yaml +74 -0
  131. package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +449 -0
  132. package/dist/agents/skills/codex/harness-architecture-advisor/skill.yaml +49 -0
  133. package/dist/agents/skills/codex/harness-auth/SKILL.md +331 -0
  134. package/dist/agents/skills/codex/harness-auth/skill.yaml +81 -0
  135. package/dist/agents/skills/codex/harness-autopilot/SKILL.md +916 -0
  136. package/dist/agents/skills/codex/harness-autopilot/skill.yaml +67 -0
  137. package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +406 -0
  138. package/dist/agents/skills/codex/harness-brainstorming/skill.yaml +50 -0
  139. package/dist/agents/skills/codex/harness-caching/SKILL.md +309 -0
  140. package/dist/agents/skills/codex/harness-caching/skill.yaml +73 -0
  141. package/dist/agents/skills/codex/harness-chaos/SKILL.md +295 -0
  142. package/dist/agents/skills/codex/harness-chaos/skill.yaml +72 -0
  143. package/dist/agents/skills/codex/harness-code-review/SKILL.md +857 -0
  144. package/dist/agents/skills/codex/harness-code-review/skill.yaml +52 -0
  145. package/dist/agents/skills/codex/harness-codebase-cleanup/SKILL.md +224 -0
  146. package/dist/agents/skills/codex/harness-codebase-cleanup/skill.yaml +65 -0
  147. package/dist/agents/skills/codex/harness-compliance/SKILL.md +303 -0
  148. package/dist/agents/skills/codex/harness-compliance/skill.yaml +78 -0
  149. package/dist/agents/skills/codex/harness-containerization/SKILL.md +284 -0
  150. package/dist/agents/skills/codex/harness-containerization/skill.yaml +80 -0
  151. package/dist/agents/skills/codex/harness-data-pipeline/SKILL.md +274 -0
  152. package/dist/agents/skills/codex/harness-data-pipeline/skill.yaml +81 -0
  153. package/dist/agents/skills/codex/harness-data-validation/SKILL.md +343 -0
  154. package/dist/agents/skills/codex/harness-data-validation/skill.yaml +75 -0
  155. package/dist/agents/skills/codex/harness-database/SKILL.md +310 -0
  156. package/dist/agents/skills/codex/harness-database/skill.yaml +80 -0
  157. package/dist/agents/skills/codex/harness-debugging/SKILL.md +366 -0
  158. package/dist/agents/skills/codex/harness-debugging/skill.yaml +48 -0
  159. package/dist/agents/skills/codex/harness-dependency-health/SKILL.md +179 -0
  160. package/dist/agents/skills/codex/harness-dependency-health/skill.yaml +42 -0
  161. package/dist/agents/skills/codex/harness-deployment/SKILL.md +307 -0
  162. package/dist/agents/skills/codex/harness-deployment/skill.yaml +77 -0
  163. package/dist/agents/skills/codex/harness-design/SKILL.md +265 -0
  164. package/dist/agents/skills/codex/harness-design/skill.yaml +54 -0
  165. package/dist/agents/skills/codex/harness-design-mobile/SKILL.md +336 -0
  166. package/dist/agents/skills/codex/harness-design-mobile/skill.yaml +50 -0
  167. package/dist/agents/skills/codex/harness-design-system/SKILL.md +282 -0
  168. package/dist/agents/skills/codex/harness-design-system/skill.yaml +51 -0
  169. package/dist/agents/skills/codex/harness-design-web/SKILL.md +360 -0
  170. package/dist/agents/skills/codex/harness-design-web/skill.yaml +53 -0
  171. package/dist/agents/skills/codex/harness-diagnostics/SKILL.md +318 -0
  172. package/dist/agents/skills/codex/harness-diagnostics/skill.yaml +51 -0
  173. package/dist/agents/skills/codex/harness-docs-pipeline/SKILL.md +460 -0
  174. package/dist/agents/skills/codex/harness-docs-pipeline/skill.yaml +70 -0
  175. package/dist/agents/skills/codex/harness-dx/SKILL.md +276 -0
  176. package/dist/agents/skills/codex/harness-dx/skill.yaml +76 -0
  177. package/dist/agents/skills/codex/harness-e2e/SKILL.md +245 -0
  178. package/dist/agents/skills/codex/harness-e2e/skill.yaml +78 -0
  179. package/dist/agents/skills/codex/harness-event-driven/SKILL.md +280 -0
  180. package/dist/agents/skills/codex/harness-event-driven/skill.yaml +77 -0
  181. package/dist/agents/skills/codex/harness-execution/SKILL.md +510 -0
  182. package/dist/agents/skills/codex/harness-execution/skill.yaml +52 -0
  183. package/dist/agents/skills/codex/harness-feature-flags/SKILL.md +287 -0
  184. package/dist/agents/skills/codex/harness-feature-flags/skill.yaml +74 -0
  185. package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +268 -0
  186. package/dist/agents/skills/codex/harness-git-workflow/skill.yaml +32 -0
  187. package/dist/agents/skills/codex/harness-hotspot-detector/SKILL.md +161 -0
  188. package/dist/agents/skills/codex/harness-hotspot-detector/skill.yaml +45 -0
  189. package/dist/agents/skills/codex/harness-i18n/SKILL.md +484 -0
  190. package/dist/agents/skills/codex/harness-i18n/skill.yaml +55 -0
  191. package/dist/agents/skills/codex/harness-i18n-process/SKILL.md +388 -0
  192. package/dist/agents/skills/codex/harness-i18n-process/skill.yaml +44 -0
  193. package/dist/agents/skills/codex/harness-i18n-workflow/SKILL.md +512 -0
  194. package/dist/agents/skills/codex/harness-i18n-workflow/skill.yaml +54 -0
  195. package/dist/agents/skills/codex/harness-impact-analysis/SKILL.md +184 -0
  196. package/dist/agents/skills/codex/harness-impact-analysis/skill.yaml +45 -0
  197. package/dist/agents/skills/codex/harness-incident-response/SKILL.md +223 -0
  198. package/dist/agents/skills/codex/harness-incident-response/skill.yaml +78 -0
  199. package/dist/agents/skills/codex/harness-infrastructure-as-code/SKILL.md +279 -0
  200. package/dist/agents/skills/codex/harness-infrastructure-as-code/skill.yaml +80 -0
  201. package/dist/agents/skills/codex/harness-integration-test/SKILL.md +271 -0
  202. package/dist/agents/skills/codex/harness-integration-test/skill.yaml +73 -0
  203. package/dist/agents/skills/codex/harness-integrity/SKILL.md +167 -0
  204. package/dist/agents/skills/codex/harness-integrity/skill.yaml +48 -0
  205. package/dist/agents/skills/codex/harness-knowledge-mapper/SKILL.md +195 -0
  206. package/dist/agents/skills/codex/harness-knowledge-mapper/skill.yaml +50 -0
  207. package/dist/agents/skills/codex/harness-load-testing/SKILL.md +274 -0
  208. package/dist/agents/skills/codex/harness-load-testing/skill.yaml +79 -0
  209. package/dist/agents/skills/codex/harness-ml-ops/SKILL.md +341 -0
  210. package/dist/agents/skills/codex/harness-ml-ops/skill.yaml +79 -0
  211. package/dist/agents/skills/codex/harness-mobile-patterns/SKILL.md +326 -0
  212. package/dist/agents/skills/codex/harness-mobile-patterns/skill.yaml +82 -0
  213. package/dist/agents/skills/codex/harness-mutation-test/SKILL.md +251 -0
  214. package/dist/agents/skills/codex/harness-mutation-test/skill.yaml +70 -0
  215. package/dist/agents/skills/codex/harness-observability/SKILL.md +283 -0
  216. package/dist/agents/skills/codex/harness-observability/skill.yaml +78 -0
  217. package/dist/agents/skills/codex/harness-onboarding/SKILL.md +288 -0
  218. package/dist/agents/skills/codex/harness-onboarding/skill.yaml +31 -0
  219. package/dist/agents/skills/codex/harness-parallel-agents/SKILL.md +256 -0
  220. package/dist/agents/skills/codex/harness-parallel-agents/skill.yaml +34 -0
  221. package/dist/agents/skills/codex/harness-perf/SKILL.md +260 -0
  222. package/dist/agents/skills/codex/harness-perf/skill.yaml +51 -0
  223. package/dist/agents/skills/codex/harness-perf-tdd/SKILL.md +249 -0
  224. package/dist/agents/skills/codex/harness-perf-tdd/skill.yaml +48 -0
  225. package/dist/agents/skills/codex/harness-planning/SKILL.md +579 -0
  226. package/dist/agents/skills/codex/harness-planning/skill.yaml +56 -0
  227. package/dist/agents/skills/codex/harness-pre-commit-review/SKILL.md +324 -0
  228. package/dist/agents/skills/codex/harness-pre-commit-review/skill.yaml +34 -0
  229. package/dist/agents/skills/codex/harness-product-spec/SKILL.md +285 -0
  230. package/dist/agents/skills/codex/harness-product-spec/skill.yaml +72 -0
  231. package/dist/agents/skills/codex/harness-property-test/SKILL.md +281 -0
  232. package/dist/agents/skills/codex/harness-property-test/skill.yaml +71 -0
  233. package/dist/agents/skills/codex/harness-refactoring/SKILL.md +169 -0
  234. package/dist/agents/skills/codex/harness-refactoring/skill.yaml +34 -0
  235. package/dist/agents/skills/codex/harness-release-readiness/SKILL.md +689 -0
  236. package/dist/agents/skills/codex/harness-release-readiness/skill.yaml +58 -0
  237. package/dist/agents/skills/codex/harness-resilience/SKILL.md +255 -0
  238. package/dist/agents/skills/codex/harness-resilience/skill.yaml +76 -0
  239. package/dist/agents/skills/codex/harness-roadmap/SKILL.md +595 -0
  240. package/dist/agents/skills/codex/harness-roadmap/skill.yaml +44 -0
  241. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +204 -0
  242. package/dist/agents/skills/codex/harness-roadmap-pilot/skill.yaml +52 -0
  243. package/dist/agents/skills/codex/harness-secrets/SKILL.md +293 -0
  244. package/dist/agents/skills/codex/harness-secrets/skill.yaml +76 -0
  245. package/dist/agents/skills/codex/harness-security-review/SKILL.md +260 -0
  246. package/dist/agents/skills/codex/harness-security-review/skill.yaml +53 -0
  247. package/dist/agents/skills/codex/harness-security-scan/SKILL.md +154 -0
  248. package/dist/agents/skills/codex/harness-security-scan/skill.yaml +42 -0
  249. package/dist/agents/skills/codex/harness-skill-authoring/SKILL.md +292 -0
  250. package/dist/agents/skills/codex/harness-skill-authoring/skill.yaml +33 -0
  251. package/dist/agents/skills/codex/harness-soundness-review/SKILL.md +1267 -0
  252. package/dist/agents/skills/codex/harness-soundness-review/skill.yaml +49 -0
  253. package/dist/agents/skills/codex/harness-sql-review/SKILL.md +315 -0
  254. package/dist/agents/skills/codex/harness-sql-review/skill.yaml +74 -0
  255. package/dist/agents/skills/codex/harness-state-management/SKILL.md +309 -0
  256. package/dist/agents/skills/codex/harness-state-management/skill.yaml +33 -0
  257. package/dist/agents/skills/codex/harness-supply-chain-audit/SKILL.md +281 -0
  258. package/dist/agents/skills/codex/harness-supply-chain-audit/skill.yaml +51 -0
  259. package/dist/agents/skills/codex/harness-tdd/SKILL.md +177 -0
  260. package/dist/agents/skills/codex/harness-tdd/skill.yaml +49 -0
  261. package/dist/agents/skills/codex/harness-test-advisor/SKILL.md +160 -0
  262. package/dist/agents/skills/codex/harness-test-advisor/skill.yaml +45 -0
  263. package/dist/agents/skills/codex/harness-test-data/SKILL.md +268 -0
  264. package/dist/agents/skills/codex/harness-test-data/skill.yaml +74 -0
  265. package/dist/agents/skills/codex/harness-ux-copy/SKILL.md +271 -0
  266. package/dist/agents/skills/codex/harness-ux-copy/skill.yaml +77 -0
  267. package/dist/agents/skills/codex/harness-verification/SKILL.md +421 -0
  268. package/dist/agents/skills/codex/harness-verification/skill.yaml +43 -0
  269. package/dist/agents/skills/codex/harness-verify/SKILL.md +159 -0
  270. package/dist/agents/skills/codex/harness-verify/skill.yaml +41 -0
  271. package/dist/agents/skills/codex/harness-visual-regression/SKILL.md +257 -0
  272. package/dist/agents/skills/codex/harness-visual-regression/skill.yaml +74 -0
  273. package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +232 -0
  274. package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +32 -0
  275. package/dist/agents/skills/codex/validate-context-engineering/SKILL.md +150 -0
  276. package/dist/agents/skills/codex/validate-context-engineering/skill.yaml +32 -0
  277. package/dist/agents/skills/cursor/add-harness-component/SKILL.md +192 -0
  278. package/dist/agents/skills/cursor/add-harness-component/skill.yaml +33 -0
  279. package/dist/agents/skills/cursor/align-documentation/SKILL.md +213 -0
  280. package/dist/agents/skills/cursor/align-documentation/skill.yaml +32 -0
  281. package/dist/agents/skills/cursor/check-mechanical-constraints/SKILL.md +191 -0
  282. package/dist/agents/skills/cursor/check-mechanical-constraints/skill.yaml +33 -0
  283. package/dist/agents/skills/cursor/cleanup-dead-code/SKILL.md +245 -0
  284. package/dist/agents/skills/cursor/cleanup-dead-code/skill.yaml +34 -0
  285. package/dist/agents/skills/cursor/detect-doc-drift/SKILL.md +179 -0
  286. package/dist/agents/skills/cursor/detect-doc-drift/skill.yaml +31 -0
  287. package/dist/agents/skills/cursor/enforce-architecture/SKILL.md +296 -0
  288. package/dist/agents/skills/cursor/enforce-architecture/skill.yaml +35 -0
  289. package/dist/agents/skills/cursor/harness-accessibility/SKILL.md +281 -0
  290. package/dist/agents/skills/cursor/harness-accessibility/skill.yaml +52 -0
  291. package/dist/agents/skills/cursor/harness-api-design/SKILL.md +356 -0
  292. package/dist/agents/skills/cursor/harness-api-design/skill.yaml +74 -0
  293. package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +449 -0
  294. package/dist/agents/skills/cursor/harness-architecture-advisor/skill.yaml +49 -0
  295. package/dist/agents/skills/cursor/harness-auth/SKILL.md +331 -0
  296. package/dist/agents/skills/cursor/harness-auth/skill.yaml +81 -0
  297. package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +916 -0
  298. package/dist/agents/skills/cursor/harness-autopilot/skill.yaml +67 -0
  299. package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +406 -0
  300. package/dist/agents/skills/cursor/harness-brainstorming/skill.yaml +50 -0
  301. package/dist/agents/skills/cursor/harness-caching/SKILL.md +309 -0
  302. package/dist/agents/skills/cursor/harness-caching/skill.yaml +73 -0
  303. package/dist/agents/skills/cursor/harness-chaos/SKILL.md +295 -0
  304. package/dist/agents/skills/cursor/harness-chaos/skill.yaml +72 -0
  305. package/dist/agents/skills/cursor/harness-code-review/SKILL.md +857 -0
  306. package/dist/agents/skills/cursor/harness-code-review/skill.yaml +52 -0
  307. package/dist/agents/skills/cursor/harness-codebase-cleanup/SKILL.md +224 -0
  308. package/dist/agents/skills/cursor/harness-codebase-cleanup/skill.yaml +65 -0
  309. package/dist/agents/skills/cursor/harness-compliance/SKILL.md +303 -0
  310. package/dist/agents/skills/cursor/harness-compliance/skill.yaml +78 -0
  311. package/dist/agents/skills/cursor/harness-containerization/SKILL.md +284 -0
  312. package/dist/agents/skills/cursor/harness-containerization/skill.yaml +80 -0
  313. package/dist/agents/skills/cursor/harness-data-pipeline/SKILL.md +274 -0
  314. package/dist/agents/skills/cursor/harness-data-pipeline/skill.yaml +81 -0
  315. package/dist/agents/skills/cursor/harness-data-validation/SKILL.md +343 -0
  316. package/dist/agents/skills/cursor/harness-data-validation/skill.yaml +75 -0
  317. package/dist/agents/skills/cursor/harness-database/SKILL.md +310 -0
  318. package/dist/agents/skills/cursor/harness-database/skill.yaml +80 -0
  319. package/dist/agents/skills/cursor/harness-debugging/SKILL.md +366 -0
  320. package/dist/agents/skills/cursor/harness-debugging/skill.yaml +48 -0
  321. package/dist/agents/skills/cursor/harness-dependency-health/SKILL.md +179 -0
  322. package/dist/agents/skills/cursor/harness-dependency-health/skill.yaml +42 -0
  323. package/dist/agents/skills/cursor/harness-deployment/SKILL.md +307 -0
  324. package/dist/agents/skills/cursor/harness-deployment/skill.yaml +77 -0
  325. package/dist/agents/skills/cursor/harness-design/SKILL.md +265 -0
  326. package/dist/agents/skills/cursor/harness-design/skill.yaml +54 -0
  327. package/dist/agents/skills/cursor/harness-design-mobile/SKILL.md +336 -0
  328. package/dist/agents/skills/cursor/harness-design-mobile/skill.yaml +50 -0
  329. package/dist/agents/skills/cursor/harness-design-system/SKILL.md +282 -0
  330. package/dist/agents/skills/cursor/harness-design-system/skill.yaml +51 -0
  331. package/dist/agents/skills/cursor/harness-design-web/SKILL.md +360 -0
  332. package/dist/agents/skills/cursor/harness-design-web/skill.yaml +53 -0
  333. package/dist/agents/skills/cursor/harness-diagnostics/SKILL.md +318 -0
  334. package/dist/agents/skills/cursor/harness-diagnostics/skill.yaml +51 -0
  335. package/dist/agents/skills/cursor/harness-docs-pipeline/SKILL.md +460 -0
  336. package/dist/agents/skills/cursor/harness-docs-pipeline/skill.yaml +70 -0
  337. package/dist/agents/skills/cursor/harness-dx/SKILL.md +276 -0
  338. package/dist/agents/skills/cursor/harness-dx/skill.yaml +76 -0
  339. package/dist/agents/skills/cursor/harness-e2e/SKILL.md +245 -0
  340. package/dist/agents/skills/cursor/harness-e2e/skill.yaml +78 -0
  341. package/dist/agents/skills/cursor/harness-event-driven/SKILL.md +280 -0
  342. package/dist/agents/skills/cursor/harness-event-driven/skill.yaml +77 -0
  343. package/dist/agents/skills/cursor/harness-execution/SKILL.md +510 -0
  344. package/dist/agents/skills/cursor/harness-execution/skill.yaml +52 -0
  345. package/dist/agents/skills/cursor/harness-feature-flags/SKILL.md +287 -0
  346. package/dist/agents/skills/cursor/harness-feature-flags/skill.yaml +74 -0
  347. package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +268 -0
  348. package/dist/agents/skills/cursor/harness-git-workflow/skill.yaml +32 -0
  349. package/dist/agents/skills/cursor/harness-hotspot-detector/SKILL.md +161 -0
  350. package/dist/agents/skills/cursor/harness-hotspot-detector/skill.yaml +45 -0
  351. package/dist/agents/skills/cursor/harness-i18n/SKILL.md +484 -0
  352. package/dist/agents/skills/cursor/harness-i18n/skill.yaml +55 -0
  353. package/dist/agents/skills/cursor/harness-i18n-process/SKILL.md +388 -0
  354. package/dist/agents/skills/cursor/harness-i18n-process/skill.yaml +44 -0
  355. package/dist/agents/skills/cursor/harness-i18n-workflow/SKILL.md +512 -0
  356. package/dist/agents/skills/cursor/harness-i18n-workflow/skill.yaml +54 -0
  357. package/dist/agents/skills/cursor/harness-impact-analysis/SKILL.md +184 -0
  358. package/dist/agents/skills/cursor/harness-impact-analysis/skill.yaml +45 -0
  359. package/dist/agents/skills/cursor/harness-incident-response/SKILL.md +223 -0
  360. package/dist/agents/skills/cursor/harness-incident-response/skill.yaml +78 -0
  361. package/dist/agents/skills/cursor/harness-infrastructure-as-code/SKILL.md +279 -0
  362. package/dist/agents/skills/cursor/harness-infrastructure-as-code/skill.yaml +80 -0
  363. package/dist/agents/skills/cursor/harness-integration-test/SKILL.md +271 -0
  364. package/dist/agents/skills/cursor/harness-integration-test/skill.yaml +73 -0
  365. package/dist/agents/skills/cursor/harness-integrity/SKILL.md +167 -0
  366. package/dist/agents/skills/cursor/harness-integrity/skill.yaml +48 -0
  367. package/dist/agents/skills/cursor/harness-knowledge-mapper/SKILL.md +195 -0
  368. package/dist/agents/skills/cursor/harness-knowledge-mapper/skill.yaml +50 -0
  369. package/dist/agents/skills/cursor/harness-load-testing/SKILL.md +274 -0
  370. package/dist/agents/skills/cursor/harness-load-testing/skill.yaml +79 -0
  371. package/dist/agents/skills/cursor/harness-ml-ops/SKILL.md +341 -0
  372. package/dist/agents/skills/cursor/harness-ml-ops/skill.yaml +79 -0
  373. package/dist/agents/skills/cursor/harness-mobile-patterns/SKILL.md +326 -0
  374. package/dist/agents/skills/cursor/harness-mobile-patterns/skill.yaml +82 -0
  375. package/dist/agents/skills/cursor/harness-mutation-test/SKILL.md +251 -0
  376. package/dist/agents/skills/cursor/harness-mutation-test/skill.yaml +70 -0
  377. package/dist/agents/skills/cursor/harness-observability/SKILL.md +283 -0
  378. package/dist/agents/skills/cursor/harness-observability/skill.yaml +78 -0
  379. package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +288 -0
  380. package/dist/agents/skills/cursor/harness-onboarding/skill.yaml +31 -0
  381. package/dist/agents/skills/cursor/harness-parallel-agents/SKILL.md +256 -0
  382. package/dist/agents/skills/cursor/harness-parallel-agents/skill.yaml +34 -0
  383. package/dist/agents/skills/cursor/harness-perf/SKILL.md +260 -0
  384. package/dist/agents/skills/cursor/harness-perf/skill.yaml +51 -0
  385. package/dist/agents/skills/cursor/harness-perf-tdd/SKILL.md +249 -0
  386. package/dist/agents/skills/cursor/harness-perf-tdd/skill.yaml +48 -0
  387. package/dist/agents/skills/cursor/harness-planning/SKILL.md +579 -0
  388. package/dist/agents/skills/cursor/harness-planning/skill.yaml +56 -0
  389. package/dist/agents/skills/cursor/harness-pre-commit-review/SKILL.md +324 -0
  390. package/dist/agents/skills/cursor/harness-pre-commit-review/skill.yaml +34 -0
  391. package/dist/agents/skills/cursor/harness-product-spec/SKILL.md +285 -0
  392. package/dist/agents/skills/cursor/harness-product-spec/skill.yaml +72 -0
  393. package/dist/agents/skills/cursor/harness-property-test/SKILL.md +281 -0
  394. package/dist/agents/skills/cursor/harness-property-test/skill.yaml +71 -0
  395. package/dist/agents/skills/cursor/harness-refactoring/SKILL.md +169 -0
  396. package/dist/agents/skills/cursor/harness-refactoring/skill.yaml +34 -0
  397. package/dist/agents/skills/cursor/harness-release-readiness/SKILL.md +689 -0
  398. package/dist/agents/skills/cursor/harness-release-readiness/skill.yaml +58 -0
  399. package/dist/agents/skills/cursor/harness-resilience/SKILL.md +255 -0
  400. package/dist/agents/skills/cursor/harness-resilience/skill.yaml +76 -0
  401. package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +595 -0
  402. package/dist/agents/skills/cursor/harness-roadmap/skill.yaml +44 -0
  403. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +204 -0
  404. package/dist/agents/skills/cursor/harness-roadmap-pilot/skill.yaml +52 -0
  405. package/dist/agents/skills/cursor/harness-secrets/SKILL.md +293 -0
  406. package/dist/agents/skills/cursor/harness-secrets/skill.yaml +76 -0
  407. package/dist/agents/skills/cursor/harness-security-review/SKILL.md +260 -0
  408. package/dist/agents/skills/cursor/harness-security-review/skill.yaml +53 -0
  409. package/dist/agents/skills/cursor/harness-security-scan/SKILL.md +154 -0
  410. package/dist/agents/skills/cursor/harness-security-scan/skill.yaml +42 -0
  411. package/dist/agents/skills/cursor/harness-skill-authoring/SKILL.md +292 -0
  412. package/dist/agents/skills/cursor/harness-skill-authoring/skill.yaml +33 -0
  413. package/dist/agents/skills/cursor/harness-soundness-review/SKILL.md +1267 -0
  414. package/dist/agents/skills/cursor/harness-soundness-review/skill.yaml +49 -0
  415. package/dist/agents/skills/cursor/harness-sql-review/SKILL.md +315 -0
  416. package/dist/agents/skills/cursor/harness-sql-review/skill.yaml +74 -0
  417. package/dist/agents/skills/cursor/harness-state-management/SKILL.md +309 -0
  418. package/dist/agents/skills/cursor/harness-state-management/skill.yaml +33 -0
  419. package/dist/agents/skills/cursor/harness-supply-chain-audit/SKILL.md +281 -0
  420. package/dist/agents/skills/cursor/harness-supply-chain-audit/skill.yaml +51 -0
  421. package/dist/agents/skills/cursor/harness-tdd/SKILL.md +177 -0
  422. package/dist/agents/skills/cursor/harness-tdd/skill.yaml +49 -0
  423. package/dist/agents/skills/cursor/harness-test-advisor/SKILL.md +160 -0
  424. package/dist/agents/skills/cursor/harness-test-advisor/skill.yaml +45 -0
  425. package/dist/agents/skills/cursor/harness-test-data/SKILL.md +268 -0
  426. package/dist/agents/skills/cursor/harness-test-data/skill.yaml +74 -0
  427. package/dist/agents/skills/cursor/harness-ux-copy/SKILL.md +271 -0
  428. package/dist/agents/skills/cursor/harness-ux-copy/skill.yaml +77 -0
  429. package/dist/agents/skills/cursor/harness-verification/SKILL.md +421 -0
  430. package/dist/agents/skills/cursor/harness-verification/skill.yaml +43 -0
  431. package/dist/agents/skills/cursor/harness-verify/SKILL.md +159 -0
  432. package/dist/agents/skills/cursor/harness-verify/skill.yaml +41 -0
  433. package/dist/agents/skills/cursor/harness-visual-regression/SKILL.md +257 -0
  434. package/dist/agents/skills/cursor/harness-visual-regression/skill.yaml +74 -0
  435. package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +232 -0
  436. package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +32 -0
  437. package/dist/agents/skills/cursor/validate-context-engineering/SKILL.md +150 -0
  438. package/dist/agents/skills/cursor/validate-context-engineering/skill.yaml +32 -0
  439. package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +52 -0
  440. package/dist/agents/skills/gemini-cli/harness-api-design/SKILL.md +52 -0
  441. package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +52 -0
  442. package/dist/agents/skills/gemini-cli/harness-auth/SKILL.md +52 -0
  443. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +123 -14
  444. package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +6 -0
  445. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +97 -3
  446. package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +6 -0
  447. package/dist/agents/skills/gemini-cli/harness-codebase-cleanup/SKILL.md +2 -4
  448. package/dist/agents/skills/gemini-cli/harness-database/SKILL.md +52 -0
  449. package/dist/agents/skills/gemini-cli/harness-deployment/SKILL.md +52 -0
  450. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +99 -3
  451. package/dist/agents/skills/gemini-cli/harness-planning/skill.yaml +6 -0
  452. package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +1 -1
  453. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +204 -0
  454. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/skill.yaml +52 -0
  455. package/dist/agents/skills/gemini-cli/harness-security-review/SKILL.md +27 -7
  456. package/dist/agents/skills/gemini-cli/harness-security-scan/SKILL.md +52 -0
  457. package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/SKILL.md +281 -0
  458. package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/skill.yaml +51 -0
  459. package/dist/agents/skills/package.json +5 -5
  460. package/dist/agents/skills/templates/discipline-template.md +49 -0
  461. package/dist/agents/skills/tests/schema.ts +1 -1
  462. package/dist/{agents-md-ZGNIDWAF.js → agents-md-DUYNKHJZ.js} +1 -1
  463. package/dist/{architecture-ZLIH5533.js → architecture-UBO5KKUV.js} +2 -2
  464. package/dist/bin/harness-mcp.js +14 -14
  465. package/dist/bin/harness.js +20 -20
  466. package/dist/{check-phase-gate-ZOXVBDCN.js → check-phase-gate-OSHN2AEL.js} +3 -3
  467. package/dist/{chunk-NNHDDXYT.js → chunk-2DMIQ35P.js} +486 -132
  468. package/dist/{chunk-OFXQSFOW.js → chunk-5FM64G6D.js} +2 -2
  469. package/dist/{chunk-RCWZBSK5.js → chunk-6KWBH4EO.js} +1 -1
  470. package/dist/{chunk-LGYBN7Y6.js → chunk-ABQUCXRE.js} +2 -1
  471. package/dist/{chunk-VEPAJXBW.js → chunk-APNPXLB2.js} +4 -4
  472. package/dist/{chunk-ZOAWBDWU.js → chunk-CJDVBBPB.js} +5 -1
  473. package/dist/{chunk-FTMXDOR6.js → chunk-CZZXE6BL.js} +1 -1
  474. package/dist/{chunk-N25INEIX.js → chunk-GWXP3JVA.js} +3 -3
  475. package/dist/{chunk-XYLGHKG6.js → chunk-HKUX2X7O.js} +11 -2
  476. package/dist/{chunk-YBJ262QL.js → chunk-LRG3B43J.js} +1 -1
  477. package/dist/{chunk-AOZRDOIP.js → chunk-M6TIO6NF.js} +1 -1
  478. package/dist/{chunk-J4RAX7YB.js → chunk-OA3MOZGG.js} +1683 -507
  479. package/dist/{chunk-YLXFKVJE.js → chunk-OHZVGIPE.js} +9 -9
  480. package/dist/{chunk-2BKLWLY6.js → chunk-QSRRBNLY.js} +8 -8
  481. package/dist/{chunk-3ZZKVN62.js → chunk-TG7IUJ3J.js} +1 -1
  482. package/dist/{chunk-EDXIVMAP.js → chunk-TZIHFNEG.js} +20 -6
  483. package/dist/{chunk-ND2ENWDM.js → chunk-UX3JHYEA.js} +1 -1
  484. package/dist/{chunk-Z2OOPXJO.js → chunk-VF23UTNB.js} +1771 -164
  485. package/dist/{chunk-7MJAPE3Z.js → chunk-YLN34N65.js} +1 -0
  486. package/dist/{chunk-B2HKP423.js → chunk-ZA2I7S3E.js} +28 -1
  487. package/dist/{ci-workflow-765LSHRD.js → ci-workflow-FJZMNZPT.js} +1 -1
  488. package/dist/{create-skill-XSWHMSM5.js → create-skill-NDXQSTIK.js} +2 -2
  489. package/dist/{dist-ALQDD67R.js → dist-MF5BK5AD.js} +77 -1
  490. package/dist/{dist-B26DFXMP.js → dist-U7EAO6T2.js} +110 -60
  491. package/dist/{docs-NRMQCOJ6.js → docs-WZHW4N4P.js} +3 -3
  492. package/dist/{engine-3RB7MXPP.js → engine-VS6ZJ2VZ.js} +2 -2
  493. package/dist/{entropy-6AGX2ZUN.js → entropy-FCIGJIIT.js} +2 -2
  494. package/dist/{feedback-MY4QZIFD.js → feedback-O3FYTZIE.js} +1 -1
  495. package/dist/{generate-agent-definitions-ZAE726AU.js → generate-agent-definitions-EYG263XD.js} +3 -3
  496. package/dist/{graph-loader-2M2HXDQI.js → graph-loader-KMHDQYDT.js} +1 -1
  497. package/dist/index.d.ts +95 -15
  498. package/dist/index.js +20 -20
  499. package/dist/{loader-UUTVMQCC.js → loader-B4XWX4K6.js} +1 -1
  500. package/dist/{mcp-VU5FMO52.js → mcp-DVVUODN7.js} +14 -14
  501. package/dist/{performance-2D7G6NMJ.js → performance-NMJDV6HF.js} +4 -2
  502. package/dist/{review-pipeline-RAQ55ISU.js → review-pipeline-MSEJWTKM.js} +1 -1
  503. package/dist/{runtime-BCK5RRZQ.js → runtime-YHVLJNPG.js} +1 -1
  504. package/dist/{security-2RPQEN62.js → security-HTDKKGMX.js} +1 -1
  505. package/dist/{skill-executor-XZLYZYAK.js → skill-executor-XEVDGXUM.js} +2 -2
  506. package/dist/{validate-KBYQAEWE.js → validate-SPSTH2YW.js} +2 -2
  507. package/dist/{validate-cross-check-OABMREW4.js → validate-cross-check-YTDWIMFI.js} +1 -1
  508. package/package.json +20 -20
@@ -1,6 +1,5 @@
1
1
  // ../graph/dist/index.mjs
2
2
  import { z } from "zod";
3
- import loki from "lokijs";
4
3
  import { readFile, writeFile, mkdir, access } from "fs/promises";
5
4
  import { join } from "path";
6
5
  import * as fs from "fs/promises";
@@ -149,28 +148,38 @@ function safeMerge(target, source) {
149
148
  }
150
149
  }
151
150
  }
152
- var GraphStore = class {
153
- db;
154
- nodes;
155
- edges;
156
- constructor() {
157
- this.db = new loki("graph.db");
158
- this.nodes = this.db.addCollection("nodes", {
159
- unique: ["id"],
160
- indices: ["type", "name"]
161
- });
162
- this.edges = this.db.addCollection("edges", {
163
- indices: ["from", "to", "type"]
164
- });
151
+ function edgeKey(from, to, type) {
152
+ return `${from}\0${to}\0${type}`;
153
+ }
154
+ function addToIndex(index, key, edge) {
155
+ const list = index.get(key);
156
+ if (list) {
157
+ list.push(edge);
158
+ } else {
159
+ index.set(key, [edge]);
165
160
  }
161
+ }
162
+ function removeFromIndex(index, key, edge) {
163
+ const list = index.get(key);
164
+ if (!list) return;
165
+ const idx = list.indexOf(edge);
166
+ if (idx !== -1) list.splice(idx, 1);
167
+ if (list.length === 0) index.delete(key);
168
+ }
169
+ var GraphStore = class {
170
+ nodeMap = /* @__PURE__ */ new Map();
171
+ edgeMap = /* @__PURE__ */ new Map();
172
+ // keyed by from\0to\0type
173
+ edgesByFrom = /* @__PURE__ */ new Map();
174
+ edgesByTo = /* @__PURE__ */ new Map();
175
+ edgesByType = /* @__PURE__ */ new Map();
166
176
  // --- Node operations ---
167
177
  addNode(node) {
168
- const existing = this.nodes.by("id", node.id);
178
+ const existing = this.nodeMap.get(node.id);
169
179
  if (existing) {
170
180
  safeMerge(existing, node);
171
- this.nodes.update(existing);
172
181
  } else {
173
- this.nodes.insert({ ...node });
182
+ this.nodeMap.set(node.id, { ...node });
174
183
  }
175
184
  }
176
185
  batchAddNodes(nodes) {
@@ -179,44 +188,44 @@ var GraphStore = class {
179
188
  }
180
189
  }
181
190
  getNode(id) {
182
- const doc = this.nodes.by("id", id);
183
- if (!doc) return null;
184
- return this.stripLokiMeta(doc);
191
+ const node = this.nodeMap.get(id);
192
+ if (!node) return null;
193
+ return { ...node };
185
194
  }
186
195
  findNodes(query) {
187
- const lokiQuery = {};
188
- if (query.type !== void 0) lokiQuery["type"] = query.type;
189
- if (query.name !== void 0) lokiQuery["name"] = query.name;
190
- if (query.path !== void 0) lokiQuery["path"] = query.path;
191
- return this.nodes.find(lokiQuery).map((doc) => this.stripLokiMeta(doc));
196
+ const results = [];
197
+ for (const node of this.nodeMap.values()) {
198
+ if (query.type !== void 0 && node.type !== query.type) continue;
199
+ if (query.name !== void 0 && node.name !== query.name) continue;
200
+ if (query.path !== void 0 && node.path !== query.path) continue;
201
+ results.push({ ...node });
202
+ }
203
+ return results;
192
204
  }
193
205
  removeNode(id) {
194
- const doc = this.nodes.by("id", id);
195
- if (doc) {
196
- this.nodes.remove(doc);
197
- }
198
- const edgesToRemove = this.edges.find({
199
- $or: [{ from: id }, { to: id }]
200
- });
206
+ this.nodeMap.delete(id);
207
+ const fromEdges = this.edgesByFrom.get(id) ?? [];
208
+ const toEdges = this.edgesByTo.get(id) ?? [];
209
+ const edgesToRemove = /* @__PURE__ */ new Set([...fromEdges, ...toEdges]);
201
210
  for (const edge of edgesToRemove) {
202
- this.edges.remove(edge);
211
+ this.removeEdgeInternal(edge);
203
212
  }
204
213
  }
205
214
  // --- Edge operations ---
206
215
  addEdge(edge) {
207
- const existing = this.edges.findOne({
208
- from: edge.from,
209
- to: edge.to,
210
- type: edge.type
211
- });
216
+ const key = edgeKey(edge.from, edge.to, edge.type);
217
+ const existing = this.edgeMap.get(key);
212
218
  if (existing) {
213
219
  if (edge.metadata) {
214
220
  safeMerge(existing, edge);
215
- this.edges.update(existing);
216
221
  }
217
222
  return;
218
223
  }
219
- this.edges.insert({ ...edge });
224
+ const copy = { ...edge };
225
+ this.edgeMap.set(key, copy);
226
+ addToIndex(this.edgesByFrom, edge.from, copy);
227
+ addToIndex(this.edgesByTo, edge.to, copy);
228
+ addToIndex(this.edgesByType, edge.type, copy);
220
229
  }
221
230
  batchAddEdges(edges) {
222
231
  for (const edge of edges) {
@@ -224,22 +233,38 @@ var GraphStore = class {
224
233
  }
225
234
  }
226
235
  getEdges(query) {
227
- const lokiQuery = {};
228
- if (query.from !== void 0) lokiQuery["from"] = query.from;
229
- if (query.to !== void 0) lokiQuery["to"] = query.to;
230
- if (query.type !== void 0) lokiQuery["type"] = query.type;
231
- return this.edges.find(lokiQuery).map((doc) => this.stripLokiMeta(doc));
236
+ let candidates;
237
+ if (query.from !== void 0 && query.to !== void 0 && query.type !== void 0) {
238
+ const edge = this.edgeMap.get(edgeKey(query.from, query.to, query.type));
239
+ return edge ? [{ ...edge }] : [];
240
+ } else if (query.from !== void 0) {
241
+ candidates = this.edgesByFrom.get(query.from) ?? [];
242
+ } else if (query.to !== void 0) {
243
+ candidates = this.edgesByTo.get(query.to) ?? [];
244
+ } else if (query.type !== void 0) {
245
+ candidates = this.edgesByType.get(query.type) ?? [];
246
+ } else {
247
+ candidates = this.edgeMap.values();
248
+ }
249
+ const results = [];
250
+ for (const edge of candidates) {
251
+ if (query.from !== void 0 && edge.from !== query.from) continue;
252
+ if (query.to !== void 0 && edge.to !== query.to) continue;
253
+ if (query.type !== void 0 && edge.type !== query.type) continue;
254
+ results.push({ ...edge });
255
+ }
256
+ return results;
232
257
  }
233
258
  getNeighbors(nodeId, direction = "both") {
234
259
  const neighborIds = /* @__PURE__ */ new Set();
235
260
  if (direction === "outbound" || direction === "both") {
236
- const outEdges = this.edges.find({ from: nodeId });
261
+ const outEdges = this.edgesByFrom.get(nodeId) ?? [];
237
262
  for (const edge of outEdges) {
238
263
  neighborIds.add(edge.to);
239
264
  }
240
265
  }
241
266
  if (direction === "inbound" || direction === "both") {
242
- const inEdges = this.edges.find({ to: nodeId });
267
+ const inEdges = this.edgesByTo.get(nodeId) ?? [];
243
268
  for (const edge of inEdges) {
244
269
  neighborIds.add(edge.from);
245
270
  }
@@ -253,20 +278,23 @@ var GraphStore = class {
253
278
  }
254
279
  // --- Counts ---
255
280
  get nodeCount() {
256
- return this.nodes.count();
281
+ return this.nodeMap.size;
257
282
  }
258
283
  get edgeCount() {
259
- return this.edges.count();
284
+ return this.edgeMap.size;
260
285
  }
261
286
  // --- Clear ---
262
287
  clear() {
263
- this.nodes.clear();
264
- this.edges.clear();
288
+ this.nodeMap.clear();
289
+ this.edgeMap.clear();
290
+ this.edgesByFrom.clear();
291
+ this.edgesByTo.clear();
292
+ this.edgesByType.clear();
265
293
  }
266
294
  // --- Persistence ---
267
295
  async save(dirPath) {
268
- const allNodes = this.nodes.find().map((doc) => this.stripLokiMeta(doc));
269
- const allEdges = this.edges.find().map((doc) => this.stripLokiMeta(doc));
296
+ const allNodes = Array.from(this.nodeMap.values()).map((n) => ({ ...n }));
297
+ const allEdges = Array.from(this.edgeMap.values()).map((e) => ({ ...e }));
270
298
  await saveGraph(dirPath, allNodes, allEdges);
271
299
  }
272
300
  async load(dirPath) {
@@ -274,17 +302,25 @@ var GraphStore = class {
274
302
  if (!data) return false;
275
303
  this.clear();
276
304
  for (const node of data.nodes) {
277
- this.nodes.insert({ ...node });
305
+ this.nodeMap.set(node.id, { ...node });
278
306
  }
279
307
  for (const edge of data.edges) {
280
- this.edges.insert({ ...edge });
308
+ const copy = { ...edge };
309
+ const key = edgeKey(edge.from, edge.to, edge.type);
310
+ this.edgeMap.set(key, copy);
311
+ addToIndex(this.edgesByFrom, edge.from, copy);
312
+ addToIndex(this.edgesByTo, edge.to, copy);
313
+ addToIndex(this.edgesByType, edge.type, copy);
281
314
  }
282
315
  return true;
283
316
  }
284
317
  // --- Internal ---
285
- stripLokiMeta(doc) {
286
- const { $loki: _, meta: _meta, ...rest } = doc;
287
- return rest;
318
+ removeEdgeInternal(edge) {
319
+ const key = edgeKey(edge.from, edge.to, edge.type);
320
+ this.edgeMap.delete(key);
321
+ removeFromIndex(this.edgesByFrom, edge.from, edge);
322
+ removeFromIndex(this.edgesByTo, edge.to, edge);
323
+ removeFromIndex(this.edgesByType, edge.type, edge);
288
324
  }
289
325
  };
290
326
  function cosineSimilarity(a, b) {
@@ -361,11 +397,11 @@ var VectorStore = class _VectorStore {
361
397
  return store;
362
398
  }
363
399
  };
364
- function edgeKey(e) {
400
+ function edgeKey2(e) {
365
401
  return `${e.from}|${e.to}|${e.type}`;
366
402
  }
367
403
  function addEdge(state, edge) {
368
- const key = edgeKey(edge);
404
+ const key = edgeKey2(edge);
369
405
  if (!state.edgeSet.has(key)) {
370
406
  state.edgeSet.add(key);
371
407
  state.resultEdges.push(edge);
@@ -537,6 +573,7 @@ var CodeIngestor = class {
537
573
  constructor(store) {
538
574
  this.store = store;
539
575
  }
576
+ store;
540
577
  async ingest(rootDir) {
541
578
  const start = Date.now();
542
579
  const errors = [];
@@ -924,6 +961,8 @@ var GitIngestor = class {
924
961
  this.store = store;
925
962
  this.gitRunner = gitRunner;
926
963
  }
964
+ store;
965
+ gitRunner;
927
966
  async ingest(rootDir) {
928
967
  const start = Date.now();
929
968
  const errors = [];
@@ -1100,6 +1139,7 @@ var TopologicalLinker = class {
1100
1139
  constructor(store) {
1101
1140
  this.store = store;
1102
1141
  }
1142
+ store;
1103
1143
  link() {
1104
1144
  let edgesAdded = 0;
1105
1145
  const files = this.store.findNodes({ type: "file" });
@@ -1188,6 +1228,7 @@ var KnowledgeIngestor = class {
1188
1228
  constructor(store) {
1189
1229
  this.store = store;
1190
1230
  }
1231
+ store;
1191
1232
  async ingestADRs(adrDir) {
1192
1233
  const start = Date.now();
1193
1234
  const errors = [];
@@ -1430,6 +1471,7 @@ var SyncManager = class {
1430
1471
  this.store = store;
1431
1472
  this.metadataPath = path4.join(graphDir, "sync-metadata.json");
1432
1473
  }
1474
+ store;
1433
1475
  registrations = /* @__PURE__ */ new Map();
1434
1476
  metadataPath;
1435
1477
  registerConnector(connector, config) {
@@ -2012,6 +2054,7 @@ var GraphEntropyAdapter = class {
2012
2054
  constructor(store) {
2013
2055
  this.store = store;
2014
2056
  }
2057
+ store;
2015
2058
  /**
2016
2059
  * Find all `documents` edges and classify them as stale or missing-target.
2017
2060
  *
@@ -2150,6 +2193,7 @@ var GraphComplexityAdapter = class {
2150
2193
  constructor(store) {
2151
2194
  this.store = store;
2152
2195
  }
2196
+ store;
2153
2197
  /**
2154
2198
  * Compute complexity hotspots by combining cyclomatic complexity with change frequency.
2155
2199
  *
@@ -2235,6 +2279,7 @@ var GraphCouplingAdapter = class {
2235
2279
  constructor(store) {
2236
2280
  this.store = store;
2237
2281
  }
2282
+ store;
2238
2283
  /**
2239
2284
  * Compute coupling data for all file nodes in the graph.
2240
2285
  *
@@ -2302,6 +2347,7 @@ var GraphAnomalyAdapter = class {
2302
2347
  constructor(store) {
2303
2348
  this.store = store;
2304
2349
  }
2350
+ store;
2305
2351
  detect(options) {
2306
2352
  const threshold = options?.threshold != null && options.threshold > 0 ? options.threshold : DEFAULT_THRESHOLD;
2307
2353
  const requestedMetrics = options?.metrics ?? [...DEFAULT_METRICS];
@@ -3444,6 +3490,7 @@ var GraphConstraintAdapter = class {
3444
3490
  constructor(store) {
3445
3491
  this.store = store;
3446
3492
  }
3493
+ store;
3447
3494
  computeDependencyGraph() {
3448
3495
  const fileNodes = this.store.findNodes({ type: "file" });
3449
3496
  const nodes = fileNodes.map((n) => n.path ?? n.id);
@@ -3584,6 +3631,7 @@ var DesignIngestor = class {
3584
3631
  constructor(store) {
3585
3632
  this.store = store;
3586
3633
  }
3634
+ store;
3587
3635
  async ingestTokens(tokensPath) {
3588
3636
  const start = Date.now();
3589
3637
  const content = await readFileOrNull(tokensPath);
@@ -3654,6 +3702,7 @@ var DesignConstraintAdapter = class {
3654
3702
  constructor(store) {
3655
3703
  this.store = store;
3656
3704
  }
3705
+ store;
3657
3706
  checkForHardcodedColors(source, file, strictness) {
3658
3707
  const severity = this.mapSeverity(strictness);
3659
3708
  const tokenNodes = this.store.findNodes({ type: "design_token" });
@@ -3735,6 +3784,7 @@ var GraphFeedbackAdapter = class {
3735
3784
  constructor(store) {
3736
3785
  this.store = store;
3737
3786
  }
3787
+ store;
3738
3788
  computeImpactData(changedFiles) {
3739
3789
  const affectedTests = [];
3740
3790
  const affectedDocs = [];
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  checkDocsDefinition,
3
3
  handleCheckDocs
4
- } from "./chunk-2BKLWLY6.js";
5
- import "./chunk-B2HKP423.js";
4
+ } from "./chunk-QSRRBNLY.js";
5
+ import "./chunk-ZA2I7S3E.js";
6
6
  import "./chunk-IDZNPTYD.js";
7
7
  import "./chunk-W6Y7ZW3Y.js";
8
8
  import "./chunk-3WGJMBKH.js";
9
- import "./chunk-Z2OOPXJO.js";
9
+ import "./chunk-VF23UTNB.js";
10
10
  import "./chunk-ERS5EVUZ.js";
11
11
  export {
12
12
  checkDocsDefinition,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TemplateEngine
3
- } from "./chunk-7MJAPE3Z.js";
4
- import "./chunk-Z2OOPXJO.js";
3
+ } from "./chunk-YLN34N65.js";
4
+ import "./chunk-VF23UTNB.js";
5
5
  import "./chunk-ERS5EVUZ.js";
6
6
  export {
7
7
  TemplateEngine
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  detectEntropyDefinition,
3
3
  handleDetectEntropy
4
- } from "./chunk-VEPAJXBW.js";
4
+ } from "./chunk-APNPXLB2.js";
5
5
  import "./chunk-IDZNPTYD.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-Z2OOPXJO.js";
7
+ import "./chunk-VF23UTNB.js";
8
8
  import "./chunk-ERS5EVUZ.js";
9
9
  export {
10
10
  detectEntropyDefinition,
@@ -5,7 +5,7 @@ import {
5
5
  handleCreateSelfReview,
6
6
  handleRequestPeerReview,
7
7
  requestPeerReviewDefinition
8
- } from "./chunk-YLXFKVJE.js";
8
+ } from "./chunk-OHZVGIPE.js";
9
9
  import "./chunk-IDZNPTYD.js";
10
10
  import "./chunk-W6Y7ZW3Y.js";
11
11
  export {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createGenerateAgentDefinitionsCommand,
3
3
  generateAgentDefinitions
4
- } from "./chunk-RCWZBSK5.js";
4
+ } from "./chunk-6KWBH4EO.js";
5
5
  import "./chunk-YQ6KC6TE.js";
6
6
  import "./chunk-KET4QQZB.js";
7
- import "./chunk-ZOAWBDWU.js";
7
+ import "./chunk-CJDVBBPB.js";
8
8
  import "./chunk-N5G5QMS3.js";
9
9
  import "./chunk-3WGJMBKH.js";
10
- import "./chunk-Z2OOPXJO.js";
10
+ import "./chunk-VF23UTNB.js";
11
11
  import "./chunk-ERS5EVUZ.js";
12
12
  export {
13
13
  createGenerateAgentDefinitionsCommand,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clearGraphStoreCache,
3
3
  loadGraphStore
4
- } from "./chunk-FTMXDOR6.js";
4
+ } from "./chunk-CZZXE6BL.js";
5
5
  export {
6
6
  clearGraphStoreCache,
7
7
  loadGraphStore
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ interface Phase {
11
11
  required: boolean;
12
12
  }
13
13
  interface PreambleOptions {
14
- complexity?: 'light' | 'full';
14
+ complexity?: 'fast' | 'thorough';
15
15
  phases?: Phase[];
16
16
  principles?: string;
17
17
  phase?: string;
@@ -138,7 +138,7 @@ interface GeneratedFiles {
138
138
  }
139
139
  declare function generateSkillFiles(opts: CreateSkillOptions): GeneratedFiles;
140
140
 
141
- type Platform = 'claude-code' | 'gemini-cli';
141
+ type Platform = 'claude-code' | 'gemini-cli' | 'codex' | 'cursor';
142
142
  interface GenerateOptions {
143
143
  platforms: Platform[];
144
144
  global: boolean;
@@ -309,9 +309,6 @@ declare const logger: {
309
309
  raw: (data: unknown) => void;
310
310
  };
311
311
 
312
- /**
313
- * The main Harness configuration schema.
314
- */
315
312
  declare const HarnessConfigSchema: z.ZodObject<{
316
313
  /** Configuration schema version */
317
314
  version: z.ZodLiteral<1>;
@@ -696,6 +693,19 @@ declare const HarnessConfigSchema: z.ZodObject<{
696
693
  strong?: string | undefined;
697
694
  } | undefined;
698
695
  }>>;
696
+ /** MCP peer integration enablement and dismissal */
697
+ integrations: z.ZodOptional<z.ZodObject<{
698
+ /** Tier 1 integrations explicitly enabled by the user */
699
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
700
+ /** Integrations the user does not want doctor to suggest */
701
+ dismissed: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
702
+ }, "strip", z.ZodTypeAny, {
703
+ enabled: string[];
704
+ dismissed: string[];
705
+ }, {
706
+ enabled?: string[] | undefined;
707
+ dismissed?: string[] | undefined;
708
+ }>>;
699
709
  /** General architectural enforcement settings */
700
710
  architecture: z.ZodOptional<z.ZodObject<{
701
711
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -703,15 +713,15 @@ declare const HarnessConfigSchema: z.ZodObject<{
703
713
  thresholds: z.ZodDefault<z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>;
704
714
  modules: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>>;
705
715
  }, "strip", z.ZodTypeAny, {
716
+ thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
717
+ modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
706
718
  enabled: boolean;
707
719
  baselinePath: string;
708
- thresholds: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
709
- modules: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
710
720
  }, {
721
+ thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
722
+ modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
711
723
  enabled?: boolean | undefined;
712
724
  baselinePath?: string | undefined;
713
- thresholds?: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
714
- modules?: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
715
725
  }>>;
716
726
  /** Skill loading, suggestion, and tier override settings */
717
727
  skills: z.ZodOptional<z.ZodObject<{
@@ -730,6 +740,50 @@ declare const HarnessConfigSchema: z.ZodObject<{
730
740
  neverSuggest?: string[] | undefined;
731
741
  tierOverrides?: Record<string, number> | undefined;
732
742
  }>>;
743
+ /** Roadmap sync and tracker integration settings */
744
+ roadmap: z.ZodOptional<z.ZodObject<{
745
+ /** External tracker sync settings */
746
+ tracker: z.ZodOptional<z.ZodObject<{
747
+ /** Tracker kind — currently only 'github' is supported */
748
+ kind: z.ZodLiteral<"github">;
749
+ /** Repository in "owner/repo" format */
750
+ repo: z.ZodOptional<z.ZodString>;
751
+ /** Labels auto-applied to synced issues for filtering */
752
+ labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
753
+ /** Maps roadmap status -> external status */
754
+ statusMap: z.ZodRecord<z.ZodEnum<["backlog", "planned", "in-progress", "done", "blocked"]>, z.ZodString>;
755
+ /** Maps external status (optionally with label) -> roadmap status */
756
+ reverseStatusMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
757
+ }, "strip", z.ZodTypeAny, {
758
+ kind: "github";
759
+ statusMap: Partial<Record<"backlog" | "planned" | "in-progress" | "done" | "blocked", string>>;
760
+ repo?: string | undefined;
761
+ labels?: string[] | undefined;
762
+ reverseStatusMap?: Record<string, string> | undefined;
763
+ }, {
764
+ kind: "github";
765
+ statusMap: Partial<Record<"backlog" | "planned" | "in-progress" | "done" | "blocked", string>>;
766
+ repo?: string | undefined;
767
+ labels?: string[] | undefined;
768
+ reverseStatusMap?: Record<string, string> | undefined;
769
+ }>>;
770
+ }, "strip", z.ZodTypeAny, {
771
+ tracker?: {
772
+ kind: "github";
773
+ statusMap: Partial<Record<"backlog" | "planned" | "in-progress" | "done" | "blocked", string>>;
774
+ repo?: string | undefined;
775
+ labels?: string[] | undefined;
776
+ reverseStatusMap?: Record<string, string> | undefined;
777
+ } | undefined;
778
+ }, {
779
+ tracker?: {
780
+ kind: "github";
781
+ statusMap: Partial<Record<"backlog" | "planned" | "in-progress" | "done" | "blocked", string>>;
782
+ repo?: string | undefined;
783
+ labels?: string[] | undefined;
784
+ reverseStatusMap?: Record<string, string> | undefined;
785
+ } | undefined;
786
+ }>>;
733
787
  /** How often (in ms) to check for CLI updates */
734
788
  updateCheckInterval: z.ZodOptional<z.ZodNumber>;
735
789
  }, "strip", z.ZodTypeAny, {
@@ -841,11 +895,24 @@ declare const HarnessConfigSchema: z.ZodObject<{
841
895
  strong?: string | undefined;
842
896
  } | undefined;
843
897
  } | undefined;
898
+ integrations?: {
899
+ enabled: string[];
900
+ dismissed: string[];
901
+ } | undefined;
844
902
  architecture?: {
903
+ thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
904
+ modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
845
905
  enabled: boolean;
846
906
  baselinePath: string;
847
- thresholds: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
848
- modules: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
907
+ } | undefined;
908
+ roadmap?: {
909
+ tracker?: {
910
+ kind: "github";
911
+ statusMap: Partial<Record<"backlog" | "planned" | "in-progress" | "done" | "blocked", string>>;
912
+ repo?: string | undefined;
913
+ labels?: string[] | undefined;
914
+ reverseStatusMap?: Record<string, string> | undefined;
915
+ } | undefined;
849
916
  } | undefined;
850
917
  updateCheckInterval?: number | undefined;
851
918
  }, {
@@ -957,11 +1024,24 @@ declare const HarnessConfigSchema: z.ZodObject<{
957
1024
  strong?: string | undefined;
958
1025
  } | undefined;
959
1026
  } | undefined;
1027
+ integrations?: {
1028
+ enabled?: string[] | undefined;
1029
+ dismissed?: string[] | undefined;
1030
+ } | undefined;
960
1031
  architecture?: {
1032
+ thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
1033
+ modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
961
1034
  enabled?: boolean | undefined;
962
1035
  baselinePath?: string | undefined;
963
- thresholds?: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
964
- modules?: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
1036
+ } | undefined;
1037
+ roadmap?: {
1038
+ tracker?: {
1039
+ kind: "github";
1040
+ statusMap: Partial<Record<"backlog" | "planned" | "in-progress" | "done" | "blocked", string>>;
1041
+ repo?: string | undefined;
1042
+ labels?: string[] | undefined;
1043
+ reverseStatusMap?: Record<string, string> | undefined;
1044
+ } | undefined;
965
1045
  } | undefined;
966
1046
  updateCheckInterval?: number | undefined;
967
1047
  }>;
@@ -1426,8 +1506,8 @@ type ToolDefinition = {
1426
1506
  inputSchema: Record<string, unknown>;
1427
1507
  };
1428
1508
  declare function getToolDefinitions(): ToolDefinition[];
1429
- declare function createHarnessServer(projectRoot?: string): Server;
1430
- declare function startServer(): Promise<void>;
1509
+ declare function createHarnessServer(projectRoot?: string, toolFilter?: string[]): Server;
1510
+ declare function startServer(toolFilter?: string[]): Promise<void>;
1431
1511
 
1432
1512
  interface InstallOptions {
1433
1513
  version?: string;