@hivehub/rulebook 5.8.2 → 6.0.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 (512) hide show
  1. package/README.md +86 -216
  2. package/dist/cli/commands/claude.d.ts.map +1 -1
  3. package/dist/cli/commands/claude.js +10 -4
  4. package/dist/cli/commands/claude.js.map +1 -1
  5. package/dist/cli/commands/context-intelligence.d.ts.map +1 -1
  6. package/dist/cli/commands/context-intelligence.js.map +1 -1
  7. package/dist/cli/commands/index.d.ts +1 -2
  8. package/dist/cli/commands/index.d.ts.map +1 -1
  9. package/dist/cli/commands/index.js +1 -2
  10. package/dist/cli/commands/index.js.map +1 -1
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +16 -91
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/mcp.d.ts.map +1 -1
  15. package/dist/cli/commands/mcp.js.map +1 -1
  16. package/dist/cli/commands/misc.d.ts +0 -1
  17. package/dist/cli/commands/misc.d.ts.map +1 -1
  18. package/dist/cli/commands/misc.js +0 -76
  19. package/dist/cli/commands/misc.js.map +1 -1
  20. package/dist/cli/commands/plans.d.ts.map +1 -1
  21. package/dist/cli/commands/plans.js.map +1 -1
  22. package/dist/cli/commands/skills.d.ts.map +1 -1
  23. package/dist/cli/commands/skills.js +6 -2
  24. package/dist/cli/commands/skills.js.map +1 -1
  25. package/dist/cli/commands/task.d.ts.map +1 -1
  26. package/dist/cli/commands/task.js +3 -1
  27. package/dist/cli/commands/task.js.map +1 -1
  28. package/dist/cli/commands/update.d.ts +7 -0
  29. package/dist/cli/commands/update.d.ts.map +1 -1
  30. package/dist/cli/commands/update.js +61 -165
  31. package/dist/cli/commands/update.js.map +1 -1
  32. package/dist/cli/commands/workspace.d.ts.map +1 -1
  33. package/dist/cli/commands/workspace.js +4 -3
  34. package/dist/cli/commands/workspace.js.map +1 -1
  35. package/dist/cli/prompts.d.ts.map +1 -1
  36. package/dist/cli/prompts.js +0 -40
  37. package/dist/cli/prompts.js.map +1 -1
  38. package/dist/core/claude/claude-mcp.d.ts.map +1 -1
  39. package/dist/core/claude/claude-mcp.js +1 -1
  40. package/dist/core/claude/claude-mcp.js.map +1 -1
  41. package/dist/core/claude/claude-md-generator.d.ts.map +1 -1
  42. package/dist/core/claude/claude-md-generator.js.map +1 -1
  43. package/dist/core/claude/claude-settings-manager.d.ts.map +1 -1
  44. package/dist/core/claude/claude-settings-manager.js +9 -6
  45. package/dist/core/claude/claude-settings-manager.js.map +1 -1
  46. package/dist/core/custom-templates.d.ts.map +1 -1
  47. package/dist/core/custom-templates.js.map +1 -1
  48. package/dist/core/detect/detector.d.ts +0 -28
  49. package/dist/core/detect/detector.d.ts.map +1 -1
  50. package/dist/core/detect/detector.js +5 -84
  51. package/dist/core/detect/detector.js.map +1 -1
  52. package/dist/core/detect/library-registry.d.ts.map +1 -1
  53. package/dist/core/detect/library-registry.js.map +1 -1
  54. package/dist/core/docs/docs-generator.d.ts.map +1 -1
  55. package/dist/core/docs/docs-generator.js.map +1 -1
  56. package/dist/core/docs/mcp-reference-generator.d.ts.map +1 -1
  57. package/dist/core/docs/mcp-reference-generator.js.map +1 -1
  58. package/dist/core/generators/generator.d.ts.map +1 -1
  59. package/dist/core/generators/generator.js +0 -72
  60. package/dist/core/generators/generator.js.map +1 -1
  61. package/dist/core/generators/gitignore-generator.d.ts.map +1 -1
  62. package/dist/core/generators/gitignore-generator.js +12 -1
  63. package/dist/core/generators/gitignore-generator.js.map +1 -1
  64. package/dist/core/generators/minimal-scaffolder.d.ts.map +1 -1
  65. package/dist/core/generators/minimal-scaffolder.js.map +1 -1
  66. package/dist/core/generators/rules-generator.d.ts.map +1 -1
  67. package/dist/core/generators/rules-generator.js.map +1 -1
  68. package/dist/core/generators/workflow-generator.d.ts +0 -10
  69. package/dist/core/generators/workflow-generator.d.ts.map +1 -1
  70. package/dist/core/generators/workflow-generator.js +0 -307
  71. package/dist/core/generators/workflow-generator.js.map +1 -1
  72. package/dist/core/logger.d.ts.map +1 -1
  73. package/dist/core/logger.js.map +1 -1
  74. package/dist/core/merger.d.ts.map +1 -1
  75. package/dist/core/merger.js.map +1 -1
  76. package/dist/core/migrator.d.ts.map +1 -1
  77. package/dist/core/migrator.js +2 -1
  78. package/dist/core/migrator.js.map +1 -1
  79. package/dist/core/quality/coverage-checker.d.ts.map +1 -1
  80. package/dist/core/quality/coverage-checker.js.map +1 -1
  81. package/dist/core/quality/dependency-checker.d.ts.map +1 -1
  82. package/dist/core/quality/dependency-checker.js +3 -1
  83. package/dist/core/quality/dependency-checker.js.map +1 -1
  84. package/dist/core/quality/doctor.d.ts.map +1 -1
  85. package/dist/core/quality/doctor.js.map +1 -1
  86. package/dist/core/quality/validator.d.ts.map +1 -1
  87. package/dist/core/quality/validator.js.map +1 -1
  88. package/dist/core/rule-engine.d.ts +5 -21
  89. package/dist/core/rule-engine.d.ts.map +1 -1
  90. package/dist/core/rule-engine.js +9 -191
  91. package/dist/core/rule-engine.js.map +1 -1
  92. package/dist/core/skills/skills-manager.d.ts.map +1 -1
  93. package/dist/core/skills/skills-manager.js.map +1 -1
  94. package/dist/core/state/config-manager.d.ts.map +1 -1
  95. package/dist/core/state/config-manager.js +6 -50
  96. package/dist/core/state/config-manager.js.map +1 -1
  97. package/dist/core/state/override-manager.js.map +1 -1
  98. package/dist/core/state/state-writer.d.ts.map +1 -1
  99. package/dist/core/state/state-writer.js.map +1 -1
  100. package/dist/core/state/version-bumper.d.ts.map +1 -1
  101. package/dist/core/state/version-bumper.js.map +1 -1
  102. package/dist/core/tasks/decision-manager.d.ts.map +1 -1
  103. package/dist/core/tasks/decision-manager.js +6 -1
  104. package/dist/core/tasks/decision-manager.js.map +1 -1
  105. package/dist/core/tasks/knowledge-manager.d.ts.map +1 -1
  106. package/dist/core/tasks/knowledge-manager.js.map +1 -1
  107. package/dist/core/tasks/learn-manager.d.ts.map +1 -1
  108. package/dist/core/tasks/learn-manager.js.map +1 -1
  109. package/dist/core/tasks/plans-manager.d.ts.map +1 -1
  110. package/dist/core/tasks/plans-manager.js.map +1 -1
  111. package/dist/core/tasks/task-manager.d.ts.map +1 -1
  112. package/dist/core/tasks/task-manager.js.map +1 -1
  113. package/dist/core/workspace/legacy-migrator.d.ts.map +1 -1
  114. package/dist/core/workspace/legacy-migrator.js.map +1 -1
  115. package/dist/core/workspace/project-worker.d.ts +0 -4
  116. package/dist/core/workspace/project-worker.d.ts.map +1 -1
  117. package/dist/core/workspace/project-worker.js +0 -28
  118. package/dist/core/workspace/project-worker.js.map +1 -1
  119. package/dist/core/workspace/workspace-manager.d.ts +0 -11
  120. package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
  121. package/dist/core/workspace/workspace-manager.js +6 -30
  122. package/dist/core/workspace/workspace-manager.js.map +1 -1
  123. package/dist/core/workspace/workspace-types.d.ts +0 -1
  124. package/dist/core/workspace/workspace-types.d.ts.map +1 -1
  125. package/dist/hooks/safe-flag-io.js.map +1 -1
  126. package/dist/index.d.ts +1 -1
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +3 -82
  129. package/dist/index.js.map +1 -1
  130. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  131. package/dist/mcp/rulebook-server.js +55 -1634
  132. package/dist/mcp/rulebook-server.js.map +1 -1
  133. package/dist/mcp/tools/context.d.ts +23 -0
  134. package/dist/mcp/tools/context.d.ts.map +1 -0
  135. package/dist/mcp/tools/context.js +2 -0
  136. package/dist/mcp/tools/context.js.map +1 -0
  137. package/dist/mcp/tools/decision-tools.d.ts +5 -0
  138. package/dist/mcp/tools/decision-tools.d.ts.map +1 -0
  139. package/dist/mcp/tools/decision-tools.js +220 -0
  140. package/dist/mcp/tools/decision-tools.js.map +1 -0
  141. package/dist/mcp/tools/knowledge-tools.d.ts +5 -0
  142. package/dist/mcp/tools/knowledge-tools.d.ts.map +1 -0
  143. package/dist/mcp/tools/knowledge-tools.js +157 -0
  144. package/dist/mcp/tools/knowledge-tools.js.map +1 -0
  145. package/dist/mcp/tools/learn-tools.d.ts +5 -0
  146. package/dist/mcp/tools/learn-tools.d.ts.map +1 -0
  147. package/dist/mcp/tools/learn-tools.js +150 -0
  148. package/dist/mcp/tools/learn-tools.js.map +1 -0
  149. package/dist/mcp/tools/rules-tools.d.ts +4 -0
  150. package/dist/mcp/tools/rules-tools.d.ts.map +1 -0
  151. package/dist/mcp/tools/rules-tools.js +47 -0
  152. package/dist/mcp/tools/rules-tools.js.map +1 -0
  153. package/dist/mcp/tools/skill-tools.d.ts +5 -0
  154. package/dist/mcp/tools/skill-tools.d.ts.map +1 -0
  155. package/dist/mcp/tools/skill-tools.js +330 -0
  156. package/dist/mcp/tools/skill-tools.js.map +1 -0
  157. package/dist/mcp/tools/task-tools.d.ts +5 -0
  158. package/dist/mcp/tools/task-tools.d.ts.map +1 -0
  159. package/dist/mcp/tools/task-tools.js +185 -0
  160. package/dist/mcp/tools/task-tools.js.map +1 -0
  161. package/dist/mcp/tools/workspace-tools.d.ts +6 -0
  162. package/dist/mcp/tools/workspace-tools.d.ts.map +1 -0
  163. package/dist/mcp/tools/workspace-tools.js +118 -0
  164. package/dist/mcp/tools/workspace-tools.js.map +1 -0
  165. package/dist/types.d.ts +1 -46
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/utils/file-system.d.ts.map +1 -1
  168. package/dist/utils/file-system.js.map +1 -1
  169. package/dist/utils/git-hooks.d.ts.map +1 -1
  170. package/dist/utils/git-hooks.js.map +1 -1
  171. package/dist/utils/gitignore.d.ts.map +1 -1
  172. package/dist/utils/gitignore.js.map +1 -1
  173. package/dist/utils/rulesignore.d.ts.map +1 -1
  174. package/dist/utils/rulesignore.js.map +1 -1
  175. package/package.json +25 -27
  176. package/templates/agents/architect.md +51 -51
  177. package/templates/agents/build-engineer.md +36 -36
  178. package/templates/agents/code-reviewer.md +47 -47
  179. package/templates/agents/docs-writer.md +38 -38
  180. package/templates/agents/implementer.md +42 -42
  181. package/templates/agents/performance-engineer.md +49 -49
  182. package/templates/agents/researcher.md +38 -38
  183. package/templates/agents/security-reviewer.md +40 -40
  184. package/templates/agents/team-lead.md +37 -37
  185. package/templates/agents/tester.md +48 -48
  186. package/templates/ci/rulebook-review.yml +26 -26
  187. package/templates/cli/CLAUDE.md +102 -117
  188. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  189. package/templates/commands/rulebook-decision-create.md +55 -55
  190. package/templates/commands/rulebook-decision-list.md +15 -15
  191. package/templates/commands/rulebook-knowledge-add.md +41 -41
  192. package/templates/commands/rulebook-knowledge-list.md +15 -15
  193. package/templates/commands/rulebook-learn-capture.md +1 -2
  194. package/templates/commands/rulebook-task-apply.md +67 -67
  195. package/templates/commands/rulebook-task-archive.md +94 -94
  196. package/templates/commands/rulebook-task-create.md +93 -93
  197. package/templates/commands/rulebook-task-list.md +42 -42
  198. package/templates/commands/rulebook-task-show.md +52 -52
  199. package/templates/commands/rulebook-task-validate.md +53 -53
  200. package/templates/compact-context/_default.md +23 -23
  201. package/templates/compact-context/cpp.md +26 -26
  202. package/templates/compact-context/go.md +26 -26
  203. package/templates/compact-context/python.md +26 -26
  204. package/templates/compact-context/rust.md +28 -28
  205. package/templates/compact-context/typescript.md +29 -29
  206. package/templates/core/AGENTS_LEAN.md +4 -9
  207. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  208. package/templates/core/AGENT_AUTOMATION.md +273 -296
  209. package/templates/core/CLAUDE_MD_v2.md +85 -90
  210. package/templates/core/DAG.md +304 -304
  211. package/templates/core/DECISIONS.md +38 -38
  212. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  213. package/templates/core/KNOWLEDGE.md +49 -49
  214. package/templates/core/MULTI_AGENT.md +74 -74
  215. package/templates/core/PLANS.md +28 -28
  216. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  217. package/templates/core/RULEBOOK.md +1936 -1947
  218. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  219. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  220. package/templates/core/WORKSPACE.md +4 -8
  221. package/templates/git/CI_CD_PATTERNS.md +661 -661
  222. package/templates/git/GITHUB_ACTIONS.md +728 -728
  223. package/templates/git/GITLAB_CI.md +730 -730
  224. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  225. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  226. package/templates/hooks/COMMIT_MSG.md +530 -530
  227. package/templates/hooks/POST_CHECKOUT.md +546 -546
  228. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  229. package/templates/hooks/PRE_COMMIT.md +414 -414
  230. package/templates/hooks/PRE_PUSH.md +601 -601
  231. package/templates/hooks/enforce-pre-tool.sh +26 -9
  232. package/templates/hooks/update-check.ps1 +84 -84
  233. package/templates/hooks/update-check.sh +45 -21
  234. package/templates/languages/C.md +333 -333
  235. package/templates/languages/CPP.md +743 -743
  236. package/templates/languages/CSHARP.md +417 -417
  237. package/templates/languages/ELIXIR.md +454 -454
  238. package/templates/languages/ERLANG.md +361 -361
  239. package/templates/languages/GO.md +645 -645
  240. package/templates/languages/HASKELL.md +177 -177
  241. package/templates/languages/JAVA.md +607 -607
  242. package/templates/languages/JAVASCRIPT.md +631 -631
  243. package/templates/languages/JULIA.md +97 -97
  244. package/templates/languages/KOTLIN.md +511 -511
  245. package/templates/languages/LISP.md +100 -100
  246. package/templates/languages/LUA.md +74 -74
  247. package/templates/languages/OBJECTIVEC.md +90 -90
  248. package/templates/languages/PHP.md +416 -416
  249. package/templates/languages/PYTHON.md +682 -682
  250. package/templates/languages/RUBY.md +421 -421
  251. package/templates/languages/RUST.md +477 -477
  252. package/templates/languages/SAS.md +73 -73
  253. package/templates/languages/SCALA.md +348 -348
  254. package/templates/languages/SOLIDITY.md +580 -580
  255. package/templates/languages/SQL.md +137 -137
  256. package/templates/languages/SWIFT.md +466 -466
  257. package/templates/languages/TYPESCRIPT.md +591 -591
  258. package/templates/languages/ZIG.md +265 -265
  259. package/templates/modules/CONTEXT7.md +54 -54
  260. package/templates/modules/GITHUB_MCP.md +64 -64
  261. package/templates/modules/PLAYWRIGHT.md +90 -90
  262. package/templates/modules/RULEBOOK_MCP.md +208 -208
  263. package/templates/modules/SERENA.md +337 -337
  264. package/templates/modules/SUPABASE.md +223 -223
  265. package/templates/modules/SYNAP.md +69 -69
  266. package/templates/modules/VECTORIZER.md +63 -63
  267. package/templates/modules/sequential-thinking.md +42 -42
  268. package/templates/rules/consult-analysis-before-implementing.md +21 -23
  269. package/templates/rules/cpp.md +46 -46
  270. package/templates/rules/csharp.md +44 -44
  271. package/templates/rules/diagnostic-first.md +39 -39
  272. package/templates/rules/fail-twice-escalate.md +46 -46
  273. package/templates/rules/follow-task-sequence.md +36 -36
  274. package/templates/rules/git-safety.md +29 -29
  275. package/templates/rules/go.md +40 -40
  276. package/templates/rules/incremental-implementation.md +56 -56
  277. package/templates/rules/incremental-tests.md +29 -29
  278. package/templates/rules/java.md +43 -43
  279. package/templates/rules/javascript.md +39 -39
  280. package/templates/rules/knowledge-base-usage.md +41 -41
  281. package/templates/rules/multi-agent-teams.md +75 -75
  282. package/templates/rules/no-deferred.md +31 -31
  283. package/templates/rules/no-shortcuts.md +30 -30
  284. package/templates/rules/python.md +43 -43
  285. package/templates/rules/research-first.md +30 -30
  286. package/templates/rules/respect-handoff-trigger.md +41 -41
  287. package/templates/rules/rust.md +40 -40
  288. package/templates/rules/sequential-editing.md +21 -21
  289. package/templates/rules/session-workflow.md +24 -24
  290. package/templates/rules/task-decomposition.md +32 -32
  291. package/templates/rules/typescript.md +40 -40
  292. package/templates/skills/cli/claude/SKILL.md +42 -42
  293. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  294. package/templates/skills/core/dag/SKILL.md +314 -314
  295. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  296. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  297. package/templates/skills/core/rulebook/SKILL.md +176 -176
  298. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  299. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  300. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  301. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  302. package/templates/skills/dev/analysis/SKILL.md +19 -19
  303. package/templates/skills/dev/api-design/SKILL.md +15 -15
  304. package/templates/skills/dev/architect/SKILL.md +17 -17
  305. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  306. package/templates/skills/dev/db-design/SKILL.md +15 -15
  307. package/templates/skills/dev/debug/SKILL.md +16 -16
  308. package/templates/skills/dev/deploy/SKILL.md +17 -17
  309. package/templates/skills/dev/docs/SKILL.md +17 -17
  310. package/templates/skills/dev/handoff/SKILL.md +27 -27
  311. package/templates/skills/dev/migrate/SKILL.md +15 -15
  312. package/templates/skills/dev/perf/SKILL.md +17 -17
  313. package/templates/skills/dev/refactor/SKILL.md +17 -17
  314. package/templates/skills/dev/research/SKILL.md +14 -14
  315. package/templates/skills/dev/review/SKILL.md +18 -18
  316. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  317. package/templates/skills/languages/c/SKILL.md +343 -343
  318. package/templates/skills/languages/cpp/SKILL.md +753 -753
  319. package/templates/skills/languages/csharp/SKILL.md +427 -427
  320. package/templates/skills/languages/elixir/SKILL.md +464 -464
  321. package/templates/skills/languages/erlang/SKILL.md +371 -371
  322. package/templates/skills/languages/go/SKILL.md +655 -655
  323. package/templates/skills/languages/haskell/SKILL.md +187 -187
  324. package/templates/skills/languages/java/SKILL.md +617 -617
  325. package/templates/skills/languages/javascript/SKILL.md +641 -641
  326. package/templates/skills/languages/julia/SKILL.md +107 -107
  327. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  328. package/templates/skills/languages/lisp/SKILL.md +110 -110
  329. package/templates/skills/languages/lua/SKILL.md +84 -84
  330. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  331. package/templates/skills/languages/php/SKILL.md +426 -426
  332. package/templates/skills/languages/python/SKILL.md +692 -692
  333. package/templates/skills/languages/ruby/SKILL.md +431 -431
  334. package/templates/skills/languages/rust/SKILL.md +487 -487
  335. package/templates/skills/languages/sas/SKILL.md +83 -83
  336. package/templates/skills/languages/scala/SKILL.md +358 -358
  337. package/templates/skills/languages/solidity/SKILL.md +590 -590
  338. package/templates/skills/languages/sql/SKILL.md +147 -147
  339. package/templates/skills/languages/swift/SKILL.md +476 -476
  340. package/templates/skills/languages/typescript/SKILL.md +302 -302
  341. package/templates/skills/languages/zig/SKILL.md +275 -275
  342. package/templates/skills/modules/context7/SKILL.md +64 -64
  343. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  344. package/templates/skills/modules/playwright/SKILL.md +100 -100
  345. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  346. package/templates/skills/modules/serena/SKILL.md +347 -347
  347. package/templates/skills/modules/supabase/SKILL.md +233 -233
  348. package/templates/skills/modules/synap/SKILL.md +79 -79
  349. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  350. package/.claude/commands/analysis.md +0 -35
  351. package/.claude/commands/continue.md +0 -33
  352. package/.claude/commands/rulebook-decision-create.md +0 -55
  353. package/.claude/commands/rulebook-decision-list.md +0 -15
  354. package/.claude/commands/rulebook-knowledge-add.md +0 -41
  355. package/.claude/commands/rulebook-knowledge-list.md +0 -15
  356. package/.claude/commands/rulebook-learn-capture.md +0 -41
  357. package/.claude/commands/rulebook-learn-list.md +0 -13
  358. package/.claude/commands/rulebook-memory-save.md +0 -48
  359. package/.claude/commands/rulebook-memory-search.md +0 -47
  360. package/.claude/commands/rulebook-task-apply.md +0 -67
  361. package/.claude/commands/rulebook-task-archive.md +0 -94
  362. package/.claude/commands/rulebook-task-create.md +0 -93
  363. package/.claude/commands/rulebook-task-list.md +0 -42
  364. package/.claude/commands/rulebook-task-show.md +0 -52
  365. package/.claude/commands/rulebook-task-validate.md +0 -53
  366. package/.claude-plugin/marketplace.json +0 -28
  367. package/.claude-plugin/plugin.json +0 -8
  368. package/dist/agents/claude-code.d.ts +0 -69
  369. package/dist/agents/claude-code.d.ts.map +0 -1
  370. package/dist/agents/claude-code.js +0 -180
  371. package/dist/agents/claude-code.js.map +0 -1
  372. package/dist/agents/cursor-agent.d.ts +0 -184
  373. package/dist/agents/cursor-agent.d.ts.map +0 -1
  374. package/dist/agents/cursor-agent.js +0 -299
  375. package/dist/agents/cursor-agent.js.map +0 -1
  376. package/dist/agents/gemini-cli.d.ts +0 -69
  377. package/dist/agents/gemini-cli.d.ts.map +0 -1
  378. package/dist/agents/gemini-cli.js +0 -180
  379. package/dist/agents/gemini-cli.js.map +0 -1
  380. package/dist/cli/commands/memory.d.ts +0 -30
  381. package/dist/cli/commands/memory.d.ts.map +0 -1
  382. package/dist/cli/commands/memory.js +0 -259
  383. package/dist/cli/commands/memory.js.map +0 -1
  384. package/dist/core/console/cli-bridge.d.ts +0 -113
  385. package/dist/core/console/cli-bridge.d.ts.map +0 -1
  386. package/dist/core/console/cli-bridge.js +0 -1094
  387. package/dist/core/console/cli-bridge.js.map +0 -1
  388. package/dist/core/ide/multi-tool-generator.d.ts +0 -59
  389. package/dist/core/ide/multi-tool-generator.d.ts.map +0 -1
  390. package/dist/core/ide/multi-tool-generator.js +0 -157
  391. package/dist/core/ide/multi-tool-generator.js.map +0 -1
  392. package/dist/core/ide/opencode-generator.d.ts +0 -72
  393. package/dist/core/ide/opencode-generator.d.ts.map +0 -1
  394. package/dist/core/ide/opencode-generator.js +0 -450
  395. package/dist/core/ide/opencode-generator.js.map +0 -1
  396. package/dist/core/indexer/background-indexer.d.ts +0 -35
  397. package/dist/core/indexer/background-indexer.d.ts.map +0 -1
  398. package/dist/core/indexer/background-indexer.js +0 -267
  399. package/dist/core/indexer/background-indexer.js.map +0 -1
  400. package/dist/core/indexer/file-parser.d.ts +0 -28
  401. package/dist/core/indexer/file-parser.d.ts.map +0 -1
  402. package/dist/core/indexer/file-parser.js +0 -171
  403. package/dist/core/indexer/file-parser.js.map +0 -1
  404. package/dist/core/indexer/indexer-types.d.ts +0 -37
  405. package/dist/core/indexer/indexer-types.d.ts.map +0 -1
  406. package/dist/core/indexer/indexer-types.js +0 -8
  407. package/dist/core/indexer/indexer-types.js.map +0 -1
  408. package/dist/memory/file-search.d.ts +0 -43
  409. package/dist/memory/file-search.d.ts.map +0 -1
  410. package/dist/memory/file-search.js +0 -228
  411. package/dist/memory/file-search.js.map +0 -1
  412. package/dist/memory/file-store.d.ts +0 -99
  413. package/dist/memory/file-store.d.ts.map +0 -1
  414. package/dist/memory/file-store.js +0 -615
  415. package/dist/memory/file-store.js.map +0 -1
  416. package/dist/memory/legacy-migrator.d.ts +0 -27
  417. package/dist/memory/legacy-migrator.d.ts.map +0 -1
  418. package/dist/memory/legacy-migrator.js +0 -185
  419. package/dist/memory/legacy-migrator.js.map +0 -1
  420. package/dist/memory/memory-hooks.d.ts +0 -48
  421. package/dist/memory/memory-hooks.d.ts.map +0 -1
  422. package/dist/memory/memory-hooks.js +0 -248
  423. package/dist/memory/memory-hooks.js.map +0 -1
  424. package/dist/memory/memory-manager.d.ts +0 -65
  425. package/dist/memory/memory-manager.d.ts.map +0 -1
  426. package/dist/memory/memory-manager.js +0 -223
  427. package/dist/memory/memory-manager.js.map +0 -1
  428. package/dist/memory/memory-types.d.ts +0 -85
  429. package/dist/memory/memory-types.d.ts.map +0 -1
  430. package/dist/memory/memory-types.js +0 -7
  431. package/dist/memory/memory-types.js.map +0 -1
  432. package/templates/agents/accessibility-reviewer.md +0 -43
  433. package/templates/agents/api-designer.md +0 -42
  434. package/templates/agents/compiler/codegen-debugger.md +0 -34
  435. package/templates/agents/compiler/stdlib-engineer.md +0 -28
  436. package/templates/agents/compiler/test-coverage-guardian.md +0 -31
  437. package/templates/agents/context-intelligence.md +0 -50
  438. package/templates/agents/database-architect.md +0 -41
  439. package/templates/agents/devops-engineer.md +0 -42
  440. package/templates/agents/game-engine/cpp-core-expert.md +0 -35
  441. package/templates/agents/game-engine/render-engineer.md +0 -22
  442. package/templates/agents/game-engine/shader-engineer.md +0 -38
  443. package/templates/agents/game-engine/systems-integration.md +0 -43
  444. package/templates/agents/generic/code-reviewer.md +0 -41
  445. package/templates/agents/generic/docs-writer.md +0 -25
  446. package/templates/agents/generic/project-manager.md +0 -36
  447. package/templates/agents/generic/researcher.md +0 -34
  448. package/templates/agents/generic/test-engineer.md +0 -41
  449. package/templates/agents/i18n-engineer.md +0 -42
  450. package/templates/agents/migration-engineer.md +0 -42
  451. package/templates/agents/mobile/platform-specialist.md +0 -22
  452. package/templates/agents/mobile/ui-engineer.md +0 -22
  453. package/templates/agents/project-manager.md +0 -217
  454. package/templates/agents/refactoring-agent.md +0 -41
  455. package/templates/agents/ux-reviewer.md +0 -43
  456. package/templates/agents/web-app/api-designer.md +0 -22
  457. package/templates/agents/web-app/backend-engineer.md +0 -30
  458. package/templates/agents/web-app/database-engineer.md +0 -22
  459. package/templates/agents/web-app/frontend-engineer.md +0 -29
  460. package/templates/agents/web-app/security-reviewer.md +0 -32
  461. package/templates/cli/AIDER.md +0 -49
  462. package/templates/cli/AMAZON_Q.md +0 -25
  463. package/templates/cli/AUGGIE.md +0 -32
  464. package/templates/cli/CLINE.md +0 -99
  465. package/templates/cli/CODEBUDDY.md +0 -20
  466. package/templates/cli/CODEIUM.md +0 -20
  467. package/templates/cli/CODEX.md +0 -21
  468. package/templates/cli/CONTINUE.md +0 -34
  469. package/templates/cli/CURSOR_CLI.md +0 -62
  470. package/templates/cli/FACTORY.md +0 -18
  471. package/templates/cli/GEMINI.md +0 -35
  472. package/templates/cli/KILOCODE.md +0 -18
  473. package/templates/cli/OPENCODE.md +0 -85
  474. package/templates/cli/gemini-extension.json +0 -77
  475. package/templates/commands/rulebook-memory-save.md +0 -48
  476. package/templates/commands/rulebook-memory-search.md +0 -47
  477. package/templates/ides/CONTINUE_RULES.md +0 -16
  478. package/templates/ides/COPILOT_INSTRUCTIONS.md +0 -23
  479. package/templates/ides/GEMINI_RULES.md +0 -17
  480. package/templates/ides/OPENCODE.md +0 -63
  481. package/templates/ides/WINDSURF_RULES.md +0 -14
  482. package/templates/modules/ATLASSIAN.md +0 -255
  483. package/templates/modules/FIGMA.md +0 -267
  484. package/templates/modules/GRAFANA.md +0 -328
  485. package/templates/modules/MEMORY.md +0 -126
  486. package/templates/modules/NOTION.md +0 -247
  487. package/templates/skills/cli/aider/SKILL.md +0 -59
  488. package/templates/skills/cli/amazon-q/SKILL.md +0 -35
  489. package/templates/skills/cli/auggie/SKILL.md +0 -42
  490. package/templates/skills/cli/cline/SKILL.md +0 -42
  491. package/templates/skills/cli/codebuddy/SKILL.md +0 -30
  492. package/templates/skills/cli/codeium/SKILL.md +0 -30
  493. package/templates/skills/cli/codex/SKILL.md +0 -31
  494. package/templates/skills/cli/continue/SKILL.md +0 -44
  495. package/templates/skills/cli/cursor-cli/SKILL.md +0 -38
  496. package/templates/skills/cli/factory/SKILL.md +0 -28
  497. package/templates/skills/cli/gemini/SKILL.md +0 -45
  498. package/templates/skills/cli/kilocode/SKILL.md +0 -28
  499. package/templates/skills/cli/opencode/SKILL.md +0 -82
  500. package/templates/skills/ides/copilot/SKILL.md +0 -47
  501. package/templates/skills/ides/cursor/SKILL.md +0 -53
  502. package/templates/skills/ides/jetbrains-ai/SKILL.md +0 -45
  503. package/templates/skills/ides/replit/SKILL.md +0 -46
  504. package/templates/skills/ides/tabnine/SKILL.md +0 -39
  505. package/templates/skills/ides/vscode/SKILL.md +0 -50
  506. package/templates/skills/ides/windsurf/SKILL.md +0 -46
  507. package/templates/skills/ides/zed/SKILL.md +0 -42
  508. package/templates/skills/modules/atlassian/SKILL.md +0 -265
  509. package/templates/skills/modules/figma/SKILL.md +0 -277
  510. package/templates/skills/modules/grafana/SKILL.md +0 -338
  511. package/templates/skills/modules/memory/SKILL.md +0 -73
  512. package/templates/skills/modules/notion/SKILL.md +0 -257
@@ -1,450 +0,0 @@
1
- /**
2
- * OpenCode Integration Generator
3
- *
4
- * Generates the OpenCode-specific surface area for a Rulebook-managed project:
5
- * - opencode.json with $schema, mcp.rulebook, and instructions
6
- * - .opencode/commands/<name>.md mirroring user-invocable Rulebook slash commands
7
- * - .opencode/agents/<role>.md mirroring Rulebook role agents
8
- * - .opencode/skills/<name>/SKILL.md normalized to OpenCode's frontmatter schema
9
- * - .opencode/.rulebook-managed.json listing managed keys for safe future updates
10
- *
11
- * Idempotency: every generator preserves user-owned files. A managed file is
12
- * identified by either the `<!-- RULEBOOK:START -->` marker (markdown) or by
13
- * the `_rulebook_managed: true` JSON key (managed-keys file).
14
- */
15
- import path, { dirname } from 'path';
16
- import { existsSync } from 'fs';
17
- import { readdir, readFile, writeFile, mkdir, rm, stat } from 'fs/promises';
18
- import { fileURLToPath } from 'url';
19
- const __filename = fileURLToPath(import.meta.url);
20
- const __dirname = dirname(__filename);
21
- const RULEBOOK_MARKER = '<!-- RULEBOOK:START -->';
22
- const RULEBOOK_END_MARKER = '<!-- RULEBOOK:END -->';
23
- const MANAGED_KEYS_FILE = '.rulebook-managed.json';
24
- const SCHEMA_URL = 'https://opencode.ai/config.json';
25
- const MANAGED_TOP_LEVEL_KEYS = ['$schema', 'instructions'];
26
- const MANAGED_MCP_KEY = 'rulebook';
27
- const MODEL_TIER_MAP = {
28
- haiku: 'anthropic/claude-haiku-4-5',
29
- sonnet: 'anthropic/claude-sonnet-4-6',
30
- opus: 'anthropic/claude-opus-4-7',
31
- };
32
- const READ_ONLY_AGENTS = new Set([
33
- 'researcher',
34
- 'code-reviewer',
35
- 'security-reviewer',
36
- 'accessibility-reviewer',
37
- 'ux-reviewer',
38
- 'performance-engineer',
39
- ]);
40
- /**
41
- * Find the templates/ root directory (relative to dist/ at runtime).
42
- */
43
- function getTemplatesDir() {
44
- return path.join(__dirname, '..', '..', '..', 'templates');
45
- }
46
- async function readJson(p) {
47
- if (!existsSync(p))
48
- return null;
49
- try {
50
- return JSON.parse(await readFile(p, 'utf-8'));
51
- }
52
- catch {
53
- return null;
54
- }
55
- }
56
- async function writeJson(p, data) {
57
- const dir = path.dirname(p);
58
- if (!existsSync(dir))
59
- await mkdir(dir, { recursive: true });
60
- await writeFile(p, JSON.stringify(data, null, 2) + '\n', 'utf-8');
61
- }
62
- /**
63
- * Discover rule files that should be appended to the OpenCode `instructions`
64
- * array. These are lazy-loaded by OpenCode when the model is consulted.
65
- */
66
- async function discoverInstructionPaths(projectRoot) {
67
- const instructions = [];
68
- for (const candidate of ['AGENTS.md', 'AGENTS.override.md', 'CLAUDE.md']) {
69
- if (existsSync(path.join(projectRoot, candidate))) {
70
- instructions.push(candidate);
71
- }
72
- }
73
- const specsDir = path.join(projectRoot, '.rulebook', 'specs');
74
- if (existsSync(specsDir)) {
75
- try {
76
- const files = await readdir(specsDir);
77
- for (const file of files.sort()) {
78
- if (file.endsWith('.md')) {
79
- instructions.push(`.rulebook/specs/${file}`);
80
- }
81
- }
82
- }
83
- catch {
84
- // ignore
85
- }
86
- }
87
- return instructions;
88
- }
89
- /**
90
- * Build the rulebook MCP server entry for opencode.json. Mirrors `.mcp.json`
91
- * if it declares a `rulebook` server; otherwise falls back to the published
92
- * npm command. The fallback uses `npx -y @hivellm/rulebook-mcp` per the
93
- * proposal — if that package name has not been published yet, projects can
94
- * override the entry by editing opencode.json directly.
95
- */
96
- async function buildMcpRulebookEntry(projectRoot) {
97
- const mcpJsonPath = path.join(projectRoot, '.mcp.json');
98
- const existing = await readJson(mcpJsonPath);
99
- const declared = existing?.mcpServers?.rulebook;
100
- if (declared && declared.command) {
101
- const cmd = [declared.command, ...(declared.args ?? [])];
102
- const entry = {
103
- type: 'local',
104
- command: cmd,
105
- enabled: true,
106
- };
107
- if (declared.env && Object.keys(declared.env).length > 0) {
108
- entry.environment = declared.env;
109
- }
110
- return entry;
111
- }
112
- // Fallback: published name is `@hivehub/rulebook` with `mcp-server` subcommand
113
- // (mirrors src/core/claude/claude-mcp.ts). The legacy `@hivellm/rulebook-mcp`
114
- // name in the original proposal is not published — using the real one.
115
- return {
116
- type: 'local',
117
- command: ['npx', '-y', '@hivehub/rulebook@latest', 'mcp-server'],
118
- enabled: true,
119
- };
120
- }
121
- /**
122
- * Generate or update opencode.json with $schema, mcp.rulebook, and
123
- * instructions. Preserves all unrelated user keys. Writes a sibling
124
- * .opencode/.rulebook-managed.json listing the managed keys so future runs
125
- * know what may be safely refreshed.
126
- */
127
- export async function generateOpencodeConfig(projectRoot, _detection) {
128
- const jsoncPath = path.join(projectRoot, 'opencode.jsonc');
129
- const jsonPath = path.join(projectRoot, 'opencode.json');
130
- const configPath = existsSync(jsoncPath) ? jsoncPath : jsonPath;
131
- const existing = (await readJson(configPath)) ?? {};
132
- existing.$schema = SCHEMA_URL;
133
- const mcpEntry = await buildMcpRulebookEntry(projectRoot);
134
- existing.mcp = { ...(existing.mcp ?? {}) };
135
- existing.mcp[MANAGED_MCP_KEY] = mcpEntry;
136
- const newInstructions = await discoverInstructionPaths(projectRoot);
137
- const existingInstructions = Array.isArray(existing.instructions)
138
- ? existing.instructions
139
- : [];
140
- const seen = new Set();
141
- const merged = [];
142
- for (const entry of [...existingInstructions, ...newInstructions]) {
143
- if (typeof entry !== 'string')
144
- continue;
145
- if (seen.has(entry))
146
- continue;
147
- seen.add(entry);
148
- merged.push(entry);
149
- }
150
- existing.instructions = merged;
151
- await writeJson(configPath, existing);
152
- const managedKeys = {
153
- _rulebook_managed: true,
154
- version: 1,
155
- topLevel: [...MANAGED_TOP_LEVEL_KEYS],
156
- mcpServers: [MANAGED_MCP_KEY],
157
- instructions: newInstructions,
158
- };
159
- const managedKeysPath = path.join(projectRoot, '.opencode', MANAGED_KEYS_FILE);
160
- await writeJson(managedKeysPath, managedKeys);
161
- return { configPath, managedKeysPath };
162
- }
163
- /**
164
- * Write a markdown file idempotently: only overwrite when the existing file
165
- * already carries the rulebook marker.
166
- *
167
- * @returns 'written' | 'preserved'
168
- */
169
- async function writeManagedMarkdown(destPath, body) {
170
- const content = body.includes(RULEBOOK_MARKER)
171
- ? body
172
- : `${RULEBOOK_MARKER}\n${body.trimEnd()}\n${RULEBOOK_END_MARKER}\n`;
173
- if (existsSync(destPath)) {
174
- const existing = await readFile(destPath, 'utf-8');
175
- if (!existing.includes(RULEBOOK_MARKER)) {
176
- return 'preserved';
177
- }
178
- }
179
- const parent = path.dirname(destPath);
180
- if (!existsSync(parent))
181
- await mkdir(parent, { recursive: true });
182
- await writeFile(destPath, content, 'utf-8');
183
- return 'written';
184
- }
185
- /**
186
- * Parse YAML-ish frontmatter at the top of a markdown file. The parser is
187
- * deliberately minimal: it handles the simple `key: value` and `key: [a, b]`
188
- * forms used by Rulebook templates, not arbitrary YAML.
189
- */
190
- function parseFrontmatter(text) {
191
- // Normalize line endings so CRLF-formatted templates (Windows) parse
192
- // identically to LF.
193
- const norm = text.replace(/\r\n/g, '\n');
194
- if (!norm.startsWith('---\n')) {
195
- return { meta: {}, body: norm };
196
- }
197
- const end = norm.indexOf('\n---', 4);
198
- if (end < 0) {
199
- return { meta: {}, body: norm };
200
- }
201
- const block = norm.slice(4, end);
202
- const body = norm.slice(end + 4).replace(/^\n/, '');
203
- const meta = {};
204
- for (const rawLine of block.split('\n')) {
205
- const line = rawLine.trim();
206
- if (!line || line.startsWith('#'))
207
- continue;
208
- const idx = line.indexOf(':');
209
- if (idx < 0)
210
- continue;
211
- const key = line.slice(0, idx).trim();
212
- let value = line.slice(idx + 1).trim();
213
- if ((value.startsWith('"') && value.endsWith('"')) ||
214
- (value.startsWith("'") && value.endsWith("'"))) {
215
- value = value.slice(1, -1);
216
- }
217
- meta[key] = value;
218
- }
219
- return { meta, body };
220
- }
221
- /**
222
- * Serialize a small key/value object back into YAML frontmatter.
223
- */
224
- function serializeFrontmatter(meta) {
225
- const lines = ['---'];
226
- for (const [k, v] of Object.entries(meta)) {
227
- if (Array.isArray(v)) {
228
- lines.push(`${k}: [${v.map((x) => `"${String(x).replace(/"/g, '\\"')}"`).join(', ')}]`);
229
- }
230
- else if (typeof v === 'object' && v !== null) {
231
- lines.push(`${k}:`);
232
- for (const [k2, v2] of Object.entries(v)) {
233
- lines.push(` ${k2}: ${typeof v2 === 'string' ? `"${v2}"` : String(v2)}`);
234
- }
235
- }
236
- else if (typeof v === 'string' && (v.includes(':') || v.includes('#'))) {
237
- lines.push(`${k}: "${v.replace(/"/g, '\\"')}"`);
238
- }
239
- else {
240
- lines.push(`${k}: ${v}`);
241
- }
242
- }
243
- lines.push('---');
244
- return lines.join('\n') + '\n';
245
- }
246
- /**
247
- * Generate .opencode/commands/<name>.md from each user-invocable Rulebook
248
- * slash-command template under templates/commands/.
249
- */
250
- export async function generateOpencodeCommands(projectRoot) {
251
- const sourceDir = path.join(getTemplatesDir(), 'commands');
252
- const targetDir = path.join(projectRoot, '.opencode', 'commands');
253
- const written = [];
254
- const preserved = [];
255
- if (!existsSync(sourceDir)) {
256
- return { written, preserved };
257
- }
258
- await mkdir(targetDir, { recursive: true });
259
- const entries = await readdir(sourceDir);
260
- for (const entry of entries) {
261
- if (!entry.endsWith('.md'))
262
- continue;
263
- const sourcePath = path.join(sourceDir, entry);
264
- const targetPath = path.join(targetDir, entry);
265
- const raw = await readFile(sourcePath, 'utf-8');
266
- const { meta, body } = parseFrontmatter(raw);
267
- const description = (meta.description || meta.id || entry.replace(/\.md$/, '')).slice(0, 1024);
268
- const opencodeFm = serializeFrontmatter({
269
- description,
270
- });
271
- const newBody = `${opencodeFm}${RULEBOOK_MARKER}\n${body.trimEnd()}\n${RULEBOOK_END_MARKER}\n`;
272
- const result = await writeManagedMarkdown(targetPath, newBody);
273
- if (result === 'written')
274
- written.push(targetPath);
275
- else
276
- preserved.push(targetPath);
277
- }
278
- return { written, preserved };
279
- }
280
- /**
281
- * Translate a Rulebook role-agent definition to the OpenCode agent schema.
282
- */
283
- function buildOpencodeAgentBody(meta, body, name) {
284
- const description = (meta.description || `${name} role agent`).slice(0, 1024);
285
- const tier = (meta.model || 'sonnet').toLowerCase();
286
- const model = MODEL_TIER_MAP[tier] || MODEL_TIER_MAP.sonnet;
287
- const isReadOnly = READ_ONLY_AGENTS.has(name);
288
- const mode = name === 'team-lead' ? 'primary' : 'subagent';
289
- const fm = [
290
- '---',
291
- `description: "${description.replace(/"/g, '\\"')}"`,
292
- `mode: ${mode}`,
293
- `model: ${model}`,
294
- 'permission:',
295
- ` edit: ${isReadOnly ? 'deny' : 'allow'}`,
296
- ` bash: ${isReadOnly ? 'ask' : 'allow'}`,
297
- ' webfetch: allow',
298
- '---',
299
- '',
300
- ].join('\n');
301
- return `${fm}${RULEBOOK_MARKER}\n${body.trimEnd()}\n${RULEBOOK_END_MARKER}\n`;
302
- }
303
- /**
304
- * Generate .opencode/agents/<role>.md from each Rulebook role agent.
305
- * Sources are templates/agents/<role>.md; we emit one OpenCode agent per
306
- * source role.
307
- */
308
- export async function generateOpencodeAgents(projectRoot) {
309
- const sourceDir = path.join(getTemplatesDir(), 'agents');
310
- const targetDir = path.join(projectRoot, '.opencode', 'agents');
311
- const written = [];
312
- const preserved = [];
313
- if (!existsSync(sourceDir)) {
314
- return { written, preserved };
315
- }
316
- await mkdir(targetDir, { recursive: true });
317
- const entries = await readdir(sourceDir);
318
- for (const entry of entries) {
319
- if (!entry.endsWith('.md'))
320
- continue;
321
- const name = entry.replace(/\.md$/, '');
322
- const sourcePath = path.join(sourceDir, entry);
323
- const sourceStat = await stat(sourcePath);
324
- if (!sourceStat.isFile())
325
- continue;
326
- const raw = await readFile(sourcePath, 'utf-8');
327
- const { meta, body } = parseFrontmatter(raw);
328
- const newContent = buildOpencodeAgentBody(meta, body, name);
329
- const targetPath = path.join(targetDir, entry);
330
- const result = await writeManagedMarkdown(targetPath, newContent);
331
- if (result === 'written')
332
- written.push(targetPath);
333
- else
334
- preserved.push(targetPath);
335
- }
336
- return { written, preserved };
337
- }
338
- /**
339
- * Normalize a skill name to OpenCode's regex `[a-z0-9](-[a-z0-9])*` with a
340
- * 64-char limit. Sequences of non-alphanumerics collapse into single hyphens
341
- * and any leading/trailing hyphens are stripped.
342
- */
343
- export function normalizeOpencodeSkillName(raw) {
344
- const lower = raw.toLowerCase();
345
- const collapsed = lower.replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
346
- const truncated = collapsed.slice(0, 64).replace(/-+$/g, '');
347
- return truncated || 'skill';
348
- }
349
- /**
350
- * Bound description to OpenCode's [1, 1024]-char range.
351
- */
352
- function clampDescription(raw, fallback) {
353
- const text = (raw && raw.trim()) || fallback;
354
- if (text.length <= 1024)
355
- return text;
356
- return text.slice(0, 1021).trimEnd() + '...';
357
- }
358
- /**
359
- * Generate .opencode/skills/<normalized-name>/SKILL.md for every dev skill
360
- * under templates/skills/dev/. Throws on a name collision so two source
361
- * skills never silently overwrite each other.
362
- */
363
- export async function generateOpencodeSkills(projectRoot) {
364
- const sourceDir = path.join(getTemplatesDir(), 'skills', 'dev');
365
- const targetDir = path.join(projectRoot, '.opencode', 'skills');
366
- const written = [];
367
- const preserved = [];
368
- const orphaned = [];
369
- if (!existsSync(sourceDir)) {
370
- return { written, preserved, orphaned };
371
- }
372
- await mkdir(targetDir, { recursive: true });
373
- const entries = await readdir(sourceDir, { withFileTypes: true });
374
- const collisions = new Map();
375
- const sourceNames = new Set();
376
- for (const entry of entries) {
377
- if (!entry.isDirectory())
378
- continue;
379
- const skillFile = path.join(sourceDir, entry.name, 'SKILL.md');
380
- if (!existsSync(skillFile))
381
- continue;
382
- const raw = await readFile(skillFile, 'utf-8');
383
- const { meta, body } = parseFrontmatter(raw);
384
- const sourceName = meta.name || entry.name;
385
- const normalized = normalizeOpencodeSkillName(sourceName);
386
- if (!collisions.has(normalized))
387
- collisions.set(normalized, []);
388
- collisions.get(normalized).push(entry.name);
389
- if (collisions.get(normalized).length > 1) {
390
- throw new Error(`OpenCode skill name collision: source skills [${collisions
391
- .get(normalized)
392
- .join(', ')}] all normalize to "${normalized}"`);
393
- }
394
- sourceNames.add(normalized);
395
- const description = clampDescription(meta.description, `${normalized} skill`);
396
- const fm = serializeFrontmatter({ name: normalized, description });
397
- const newBody = `${fm}${RULEBOOK_MARKER}\n${body.trimEnd()}\n${RULEBOOK_END_MARKER}\n`;
398
- const targetPath = path.join(targetDir, normalized, 'SKILL.md');
399
- const result = await writeManagedMarkdown(targetPath, newBody);
400
- if (result === 'written')
401
- written.push(targetPath);
402
- else
403
- preserved.push(targetPath);
404
- }
405
- // Cleanup: remove managed skill dirs whose source no longer exists.
406
- if (existsSync(targetDir)) {
407
- const existing = await readdir(targetDir, { withFileTypes: true });
408
- for (const dirent of existing) {
409
- if (!dirent.isDirectory())
410
- continue;
411
- if (sourceNames.has(dirent.name))
412
- continue;
413
- const skillPath = path.join(targetDir, dirent.name, 'SKILL.md');
414
- if (!existsSync(skillPath))
415
- continue;
416
- const content = await readFile(skillPath, 'utf-8');
417
- if (!content.includes(RULEBOOK_MARKER))
418
- continue;
419
- await rm(path.join(targetDir, dirent.name), { recursive: true, force: true });
420
- orphaned.push(path.join(targetDir, dirent.name));
421
- }
422
- }
423
- return { written, preserved, orphaned };
424
- }
425
- /**
426
- * Run all four OpenCode generators in sequence and aggregate the results.
427
- * This is the entry point used by `init` and `update`.
428
- */
429
- export async function generateOpencodeIntegration(projectRoot, detection) {
430
- const result = {
431
- commands: [],
432
- agents: [],
433
- skills: [],
434
- preserved: [],
435
- };
436
- const cfg = await generateOpencodeConfig(projectRoot, detection);
437
- result.configPath = cfg.configPath;
438
- result.managedKeysPath = cfg.managedKeysPath;
439
- const cmds = await generateOpencodeCommands(projectRoot);
440
- result.commands = cmds.written;
441
- result.preserved.push(...cmds.preserved);
442
- const agents = await generateOpencodeAgents(projectRoot);
443
- result.agents = agents.written;
444
- result.preserved.push(...agents.preserved);
445
- const skills = await generateOpencodeSkills(projectRoot);
446
- result.skills = skills.written;
447
- result.preserved.push(...skills.preserved);
448
- return result;
449
- }
450
- //# sourceMappingURL=opencode-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opencode-generator.js","sourceRoot":"","sources":["../../../src/core/ide/opencode-generator.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import type { MemoryManager } from '../../memory/memory-manager.js';
2
- import type { IndexerConfig } from './indexer-types.js';
3
- export declare class BackgroundIndexer {
4
- private memoryManager;
5
- private parser;
6
- private config;
7
- private projectRoot;
8
- private isProcessing;
9
- private processQueue;
10
- private debounceTimer;
11
- private watcher;
12
- private hasRetriedWithPolling;
13
- private processedCount;
14
- private errorCount;
15
- constructor(memoryManager: MemoryManager, projectRoot: string, config?: Partial<IndexerConfig>);
16
- start(): void;
17
- stop(): void;
18
- getStatus(): {
19
- queue: number;
20
- processed: number;
21
- errors: number;
22
- isProcessing: boolean;
23
- };
24
- private isCodeFile;
25
- private handleFileChange;
26
- private static readonly PER_FILE_TIMEOUT_MS;
27
- private static readonly MAX_BATCH_SIZE;
28
- private processNextBatch;
29
- /**
30
- * Process a single file with a timeout guard.
31
- * If processing takes longer than PER_FILE_TIMEOUT_MS, skip it.
32
- */
33
- private processFile;
34
- }
35
- //# sourceMappingURL=background-indexer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-indexer.d.ts","sourceRoot":"","sources":["../../../src/core/indexer/background-indexer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAwBxD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,qBAAqB,CAAS;IAGtC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAK;gBAGrB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAuB9B,KAAK,IAAI,IAAI;IAqEb,IAAI,IAAI,IAAI;IASZ,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE;IAS/F,OAAO,CAAC,UAAU;IA8ClB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAEnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAM;YAE9B,gBAAgB;IAiC9B;;;OAGG;IACH,OAAO,CAAC,WAAW;CA6CpB"}