@hivehub/rulebook 5.8.1 → 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 (514) 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/claude-workflows/review-fanout.js +2 -2
  188. package/templates/claude-workflows/rulebook-driver.js +16 -4
  189. package/templates/cli/CLAUDE.md +102 -117
  190. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  191. package/templates/commands/rulebook-decision-create.md +55 -55
  192. package/templates/commands/rulebook-decision-list.md +15 -15
  193. package/templates/commands/rulebook-knowledge-add.md +41 -41
  194. package/templates/commands/rulebook-knowledge-list.md +15 -15
  195. package/templates/commands/rulebook-learn-capture.md +1 -2
  196. package/templates/commands/rulebook-task-apply.md +67 -67
  197. package/templates/commands/rulebook-task-archive.md +94 -94
  198. package/templates/commands/rulebook-task-create.md +93 -93
  199. package/templates/commands/rulebook-task-list.md +42 -42
  200. package/templates/commands/rulebook-task-show.md +52 -52
  201. package/templates/commands/rulebook-task-validate.md +53 -53
  202. package/templates/compact-context/_default.md +23 -23
  203. package/templates/compact-context/cpp.md +26 -26
  204. package/templates/compact-context/go.md +26 -26
  205. package/templates/compact-context/python.md +26 -26
  206. package/templates/compact-context/rust.md +28 -28
  207. package/templates/compact-context/typescript.md +29 -29
  208. package/templates/core/AGENTS_LEAN.md +4 -9
  209. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  210. package/templates/core/AGENT_AUTOMATION.md +273 -296
  211. package/templates/core/CLAUDE_MD_v2.md +85 -90
  212. package/templates/core/DAG.md +304 -304
  213. package/templates/core/DECISIONS.md +38 -38
  214. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  215. package/templates/core/KNOWLEDGE.md +49 -49
  216. package/templates/core/MULTI_AGENT.md +74 -74
  217. package/templates/core/PLANS.md +28 -28
  218. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  219. package/templates/core/RULEBOOK.md +1936 -1947
  220. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  221. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  222. package/templates/core/WORKSPACE.md +4 -8
  223. package/templates/git/CI_CD_PATTERNS.md +661 -661
  224. package/templates/git/GITHUB_ACTIONS.md +728 -728
  225. package/templates/git/GITLAB_CI.md +730 -730
  226. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  227. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  228. package/templates/hooks/COMMIT_MSG.md +530 -530
  229. package/templates/hooks/POST_CHECKOUT.md +546 -546
  230. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  231. package/templates/hooks/PRE_COMMIT.md +414 -414
  232. package/templates/hooks/PRE_PUSH.md +601 -601
  233. package/templates/hooks/enforce-pre-tool.sh +26 -9
  234. package/templates/hooks/update-check.ps1 +84 -84
  235. package/templates/hooks/update-check.sh +45 -21
  236. package/templates/languages/C.md +333 -333
  237. package/templates/languages/CPP.md +743 -743
  238. package/templates/languages/CSHARP.md +417 -417
  239. package/templates/languages/ELIXIR.md +454 -454
  240. package/templates/languages/ERLANG.md +361 -361
  241. package/templates/languages/GO.md +645 -645
  242. package/templates/languages/HASKELL.md +177 -177
  243. package/templates/languages/JAVA.md +607 -607
  244. package/templates/languages/JAVASCRIPT.md +631 -631
  245. package/templates/languages/JULIA.md +97 -97
  246. package/templates/languages/KOTLIN.md +511 -511
  247. package/templates/languages/LISP.md +100 -100
  248. package/templates/languages/LUA.md +74 -74
  249. package/templates/languages/OBJECTIVEC.md +90 -90
  250. package/templates/languages/PHP.md +416 -416
  251. package/templates/languages/PYTHON.md +682 -682
  252. package/templates/languages/RUBY.md +421 -421
  253. package/templates/languages/RUST.md +477 -477
  254. package/templates/languages/SAS.md +73 -73
  255. package/templates/languages/SCALA.md +348 -348
  256. package/templates/languages/SOLIDITY.md +580 -580
  257. package/templates/languages/SQL.md +137 -137
  258. package/templates/languages/SWIFT.md +466 -466
  259. package/templates/languages/TYPESCRIPT.md +591 -591
  260. package/templates/languages/ZIG.md +265 -265
  261. package/templates/modules/CONTEXT7.md +54 -54
  262. package/templates/modules/GITHUB_MCP.md +64 -64
  263. package/templates/modules/PLAYWRIGHT.md +90 -90
  264. package/templates/modules/RULEBOOK_MCP.md +208 -208
  265. package/templates/modules/SERENA.md +337 -337
  266. package/templates/modules/SUPABASE.md +223 -223
  267. package/templates/modules/SYNAP.md +69 -69
  268. package/templates/modules/VECTORIZER.md +63 -63
  269. package/templates/modules/sequential-thinking.md +42 -42
  270. package/templates/rules/consult-analysis-before-implementing.md +21 -23
  271. package/templates/rules/cpp.md +46 -46
  272. package/templates/rules/csharp.md +44 -44
  273. package/templates/rules/diagnostic-first.md +39 -39
  274. package/templates/rules/fail-twice-escalate.md +46 -46
  275. package/templates/rules/follow-task-sequence.md +36 -36
  276. package/templates/rules/git-safety.md +29 -29
  277. package/templates/rules/go.md +40 -40
  278. package/templates/rules/incremental-implementation.md +56 -56
  279. package/templates/rules/incremental-tests.md +29 -29
  280. package/templates/rules/java.md +43 -43
  281. package/templates/rules/javascript.md +39 -39
  282. package/templates/rules/knowledge-base-usage.md +41 -41
  283. package/templates/rules/multi-agent-teams.md +75 -75
  284. package/templates/rules/no-deferred.md +31 -31
  285. package/templates/rules/no-shortcuts.md +30 -30
  286. package/templates/rules/python.md +43 -43
  287. package/templates/rules/research-first.md +30 -30
  288. package/templates/rules/respect-handoff-trigger.md +41 -41
  289. package/templates/rules/rust.md +40 -40
  290. package/templates/rules/sequential-editing.md +21 -21
  291. package/templates/rules/session-workflow.md +24 -24
  292. package/templates/rules/task-decomposition.md +32 -32
  293. package/templates/rules/typescript.md +40 -40
  294. package/templates/skills/cli/claude/SKILL.md +42 -42
  295. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  296. package/templates/skills/core/dag/SKILL.md +314 -314
  297. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  298. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  299. package/templates/skills/core/rulebook/SKILL.md +176 -176
  300. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  301. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  302. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  303. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  304. package/templates/skills/dev/analysis/SKILL.md +19 -19
  305. package/templates/skills/dev/api-design/SKILL.md +15 -15
  306. package/templates/skills/dev/architect/SKILL.md +17 -17
  307. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  308. package/templates/skills/dev/db-design/SKILL.md +15 -15
  309. package/templates/skills/dev/debug/SKILL.md +16 -16
  310. package/templates/skills/dev/deploy/SKILL.md +17 -17
  311. package/templates/skills/dev/docs/SKILL.md +17 -17
  312. package/templates/skills/dev/handoff/SKILL.md +27 -27
  313. package/templates/skills/dev/migrate/SKILL.md +15 -15
  314. package/templates/skills/dev/perf/SKILL.md +17 -17
  315. package/templates/skills/dev/refactor/SKILL.md +17 -17
  316. package/templates/skills/dev/research/SKILL.md +14 -14
  317. package/templates/skills/dev/review/SKILL.md +18 -18
  318. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  319. package/templates/skills/languages/c/SKILL.md +343 -343
  320. package/templates/skills/languages/cpp/SKILL.md +753 -753
  321. package/templates/skills/languages/csharp/SKILL.md +427 -427
  322. package/templates/skills/languages/elixir/SKILL.md +464 -464
  323. package/templates/skills/languages/erlang/SKILL.md +371 -371
  324. package/templates/skills/languages/go/SKILL.md +655 -655
  325. package/templates/skills/languages/haskell/SKILL.md +187 -187
  326. package/templates/skills/languages/java/SKILL.md +617 -617
  327. package/templates/skills/languages/javascript/SKILL.md +641 -641
  328. package/templates/skills/languages/julia/SKILL.md +107 -107
  329. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  330. package/templates/skills/languages/lisp/SKILL.md +110 -110
  331. package/templates/skills/languages/lua/SKILL.md +84 -84
  332. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  333. package/templates/skills/languages/php/SKILL.md +426 -426
  334. package/templates/skills/languages/python/SKILL.md +692 -692
  335. package/templates/skills/languages/ruby/SKILL.md +431 -431
  336. package/templates/skills/languages/rust/SKILL.md +487 -487
  337. package/templates/skills/languages/sas/SKILL.md +83 -83
  338. package/templates/skills/languages/scala/SKILL.md +358 -358
  339. package/templates/skills/languages/solidity/SKILL.md +590 -590
  340. package/templates/skills/languages/sql/SKILL.md +147 -147
  341. package/templates/skills/languages/swift/SKILL.md +476 -476
  342. package/templates/skills/languages/typescript/SKILL.md +302 -302
  343. package/templates/skills/languages/zig/SKILL.md +275 -275
  344. package/templates/skills/modules/context7/SKILL.md +64 -64
  345. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  346. package/templates/skills/modules/playwright/SKILL.md +100 -100
  347. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  348. package/templates/skills/modules/serena/SKILL.md +347 -347
  349. package/templates/skills/modules/supabase/SKILL.md +233 -233
  350. package/templates/skills/modules/synap/SKILL.md +79 -79
  351. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  352. package/.claude/commands/analysis.md +0 -35
  353. package/.claude/commands/continue.md +0 -33
  354. package/.claude/commands/rulebook-decision-create.md +0 -55
  355. package/.claude/commands/rulebook-decision-list.md +0 -15
  356. package/.claude/commands/rulebook-knowledge-add.md +0 -41
  357. package/.claude/commands/rulebook-knowledge-list.md +0 -15
  358. package/.claude/commands/rulebook-learn-capture.md +0 -41
  359. package/.claude/commands/rulebook-learn-list.md +0 -13
  360. package/.claude/commands/rulebook-memory-save.md +0 -48
  361. package/.claude/commands/rulebook-memory-search.md +0 -47
  362. package/.claude/commands/rulebook-task-apply.md +0 -67
  363. package/.claude/commands/rulebook-task-archive.md +0 -94
  364. package/.claude/commands/rulebook-task-create.md +0 -93
  365. package/.claude/commands/rulebook-task-list.md +0 -42
  366. package/.claude/commands/rulebook-task-show.md +0 -52
  367. package/.claude/commands/rulebook-task-validate.md +0 -53
  368. package/.claude-plugin/marketplace.json +0 -28
  369. package/.claude-plugin/plugin.json +0 -8
  370. package/dist/agents/claude-code.d.ts +0 -69
  371. package/dist/agents/claude-code.d.ts.map +0 -1
  372. package/dist/agents/claude-code.js +0 -180
  373. package/dist/agents/claude-code.js.map +0 -1
  374. package/dist/agents/cursor-agent.d.ts +0 -184
  375. package/dist/agents/cursor-agent.d.ts.map +0 -1
  376. package/dist/agents/cursor-agent.js +0 -299
  377. package/dist/agents/cursor-agent.js.map +0 -1
  378. package/dist/agents/gemini-cli.d.ts +0 -69
  379. package/dist/agents/gemini-cli.d.ts.map +0 -1
  380. package/dist/agents/gemini-cli.js +0 -180
  381. package/dist/agents/gemini-cli.js.map +0 -1
  382. package/dist/cli/commands/memory.d.ts +0 -30
  383. package/dist/cli/commands/memory.d.ts.map +0 -1
  384. package/dist/cli/commands/memory.js +0 -259
  385. package/dist/cli/commands/memory.js.map +0 -1
  386. package/dist/core/console/cli-bridge.d.ts +0 -113
  387. package/dist/core/console/cli-bridge.d.ts.map +0 -1
  388. package/dist/core/console/cli-bridge.js +0 -1094
  389. package/dist/core/console/cli-bridge.js.map +0 -1
  390. package/dist/core/ide/multi-tool-generator.d.ts +0 -59
  391. package/dist/core/ide/multi-tool-generator.d.ts.map +0 -1
  392. package/dist/core/ide/multi-tool-generator.js +0 -157
  393. package/dist/core/ide/multi-tool-generator.js.map +0 -1
  394. package/dist/core/ide/opencode-generator.d.ts +0 -72
  395. package/dist/core/ide/opencode-generator.d.ts.map +0 -1
  396. package/dist/core/ide/opencode-generator.js +0 -450
  397. package/dist/core/ide/opencode-generator.js.map +0 -1
  398. package/dist/core/indexer/background-indexer.d.ts +0 -35
  399. package/dist/core/indexer/background-indexer.d.ts.map +0 -1
  400. package/dist/core/indexer/background-indexer.js +0 -267
  401. package/dist/core/indexer/background-indexer.js.map +0 -1
  402. package/dist/core/indexer/file-parser.d.ts +0 -28
  403. package/dist/core/indexer/file-parser.d.ts.map +0 -1
  404. package/dist/core/indexer/file-parser.js +0 -171
  405. package/dist/core/indexer/file-parser.js.map +0 -1
  406. package/dist/core/indexer/indexer-types.d.ts +0 -37
  407. package/dist/core/indexer/indexer-types.d.ts.map +0 -1
  408. package/dist/core/indexer/indexer-types.js +0 -8
  409. package/dist/core/indexer/indexer-types.js.map +0 -1
  410. package/dist/memory/file-search.d.ts +0 -43
  411. package/dist/memory/file-search.d.ts.map +0 -1
  412. package/dist/memory/file-search.js +0 -228
  413. package/dist/memory/file-search.js.map +0 -1
  414. package/dist/memory/file-store.d.ts +0 -99
  415. package/dist/memory/file-store.d.ts.map +0 -1
  416. package/dist/memory/file-store.js +0 -615
  417. package/dist/memory/file-store.js.map +0 -1
  418. package/dist/memory/legacy-migrator.d.ts +0 -27
  419. package/dist/memory/legacy-migrator.d.ts.map +0 -1
  420. package/dist/memory/legacy-migrator.js +0 -185
  421. package/dist/memory/legacy-migrator.js.map +0 -1
  422. package/dist/memory/memory-hooks.d.ts +0 -48
  423. package/dist/memory/memory-hooks.d.ts.map +0 -1
  424. package/dist/memory/memory-hooks.js +0 -248
  425. package/dist/memory/memory-hooks.js.map +0 -1
  426. package/dist/memory/memory-manager.d.ts +0 -65
  427. package/dist/memory/memory-manager.d.ts.map +0 -1
  428. package/dist/memory/memory-manager.js +0 -223
  429. package/dist/memory/memory-manager.js.map +0 -1
  430. package/dist/memory/memory-types.d.ts +0 -85
  431. package/dist/memory/memory-types.d.ts.map +0 -1
  432. package/dist/memory/memory-types.js +0 -7
  433. package/dist/memory/memory-types.js.map +0 -1
  434. package/templates/agents/accessibility-reviewer.md +0 -43
  435. package/templates/agents/api-designer.md +0 -42
  436. package/templates/agents/compiler/codegen-debugger.md +0 -34
  437. package/templates/agents/compiler/stdlib-engineer.md +0 -28
  438. package/templates/agents/compiler/test-coverage-guardian.md +0 -31
  439. package/templates/agents/context-intelligence.md +0 -50
  440. package/templates/agents/database-architect.md +0 -41
  441. package/templates/agents/devops-engineer.md +0 -42
  442. package/templates/agents/game-engine/cpp-core-expert.md +0 -35
  443. package/templates/agents/game-engine/render-engineer.md +0 -22
  444. package/templates/agents/game-engine/shader-engineer.md +0 -38
  445. package/templates/agents/game-engine/systems-integration.md +0 -43
  446. package/templates/agents/generic/code-reviewer.md +0 -41
  447. package/templates/agents/generic/docs-writer.md +0 -25
  448. package/templates/agents/generic/project-manager.md +0 -36
  449. package/templates/agents/generic/researcher.md +0 -34
  450. package/templates/agents/generic/test-engineer.md +0 -41
  451. package/templates/agents/i18n-engineer.md +0 -42
  452. package/templates/agents/migration-engineer.md +0 -42
  453. package/templates/agents/mobile/platform-specialist.md +0 -22
  454. package/templates/agents/mobile/ui-engineer.md +0 -22
  455. package/templates/agents/project-manager.md +0 -217
  456. package/templates/agents/refactoring-agent.md +0 -41
  457. package/templates/agents/ux-reviewer.md +0 -43
  458. package/templates/agents/web-app/api-designer.md +0 -22
  459. package/templates/agents/web-app/backend-engineer.md +0 -30
  460. package/templates/agents/web-app/database-engineer.md +0 -22
  461. package/templates/agents/web-app/frontend-engineer.md +0 -29
  462. package/templates/agents/web-app/security-reviewer.md +0 -32
  463. package/templates/cli/AIDER.md +0 -49
  464. package/templates/cli/AMAZON_Q.md +0 -25
  465. package/templates/cli/AUGGIE.md +0 -32
  466. package/templates/cli/CLINE.md +0 -99
  467. package/templates/cli/CODEBUDDY.md +0 -20
  468. package/templates/cli/CODEIUM.md +0 -20
  469. package/templates/cli/CODEX.md +0 -21
  470. package/templates/cli/CONTINUE.md +0 -34
  471. package/templates/cli/CURSOR_CLI.md +0 -62
  472. package/templates/cli/FACTORY.md +0 -18
  473. package/templates/cli/GEMINI.md +0 -35
  474. package/templates/cli/KILOCODE.md +0 -18
  475. package/templates/cli/OPENCODE.md +0 -85
  476. package/templates/cli/gemini-extension.json +0 -77
  477. package/templates/commands/rulebook-memory-save.md +0 -48
  478. package/templates/commands/rulebook-memory-search.md +0 -47
  479. package/templates/ides/CONTINUE_RULES.md +0 -16
  480. package/templates/ides/COPILOT_INSTRUCTIONS.md +0 -23
  481. package/templates/ides/GEMINI_RULES.md +0 -17
  482. package/templates/ides/OPENCODE.md +0 -63
  483. package/templates/ides/WINDSURF_RULES.md +0 -14
  484. package/templates/modules/ATLASSIAN.md +0 -255
  485. package/templates/modules/FIGMA.md +0 -267
  486. package/templates/modules/GRAFANA.md +0 -328
  487. package/templates/modules/MEMORY.md +0 -126
  488. package/templates/modules/NOTION.md +0 -247
  489. package/templates/skills/cli/aider/SKILL.md +0 -59
  490. package/templates/skills/cli/amazon-q/SKILL.md +0 -35
  491. package/templates/skills/cli/auggie/SKILL.md +0 -42
  492. package/templates/skills/cli/cline/SKILL.md +0 -42
  493. package/templates/skills/cli/codebuddy/SKILL.md +0 -30
  494. package/templates/skills/cli/codeium/SKILL.md +0 -30
  495. package/templates/skills/cli/codex/SKILL.md +0 -31
  496. package/templates/skills/cli/continue/SKILL.md +0 -44
  497. package/templates/skills/cli/cursor-cli/SKILL.md +0 -38
  498. package/templates/skills/cli/factory/SKILL.md +0 -28
  499. package/templates/skills/cli/gemini/SKILL.md +0 -45
  500. package/templates/skills/cli/kilocode/SKILL.md +0 -28
  501. package/templates/skills/cli/opencode/SKILL.md +0 -82
  502. package/templates/skills/ides/copilot/SKILL.md +0 -47
  503. package/templates/skills/ides/cursor/SKILL.md +0 -53
  504. package/templates/skills/ides/jetbrains-ai/SKILL.md +0 -45
  505. package/templates/skills/ides/replit/SKILL.md +0 -46
  506. package/templates/skills/ides/tabnine/SKILL.md +0 -39
  507. package/templates/skills/ides/vscode/SKILL.md +0 -50
  508. package/templates/skills/ides/windsurf/SKILL.md +0 -46
  509. package/templates/skills/ides/zed/SKILL.md +0 -42
  510. package/templates/skills/modules/atlassian/SKILL.md +0 -265
  511. package/templates/skills/modules/figma/SKILL.md +0 -277
  512. package/templates/skills/modules/grafana/SKILL.md +0 -338
  513. package/templates/skills/modules/memory/SKILL.md +0 -73
  514. 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"}