@hivehub/rulebook 5.7.0 → 5.8.1

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 (600) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/rulebook-decision-create.md +55 -55
  4. package/.claude/commands/rulebook-decision-list.md +15 -15
  5. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  6. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  7. package/.claude/commands/rulebook-memory-save.md +48 -48
  8. package/.claude/commands/rulebook-memory-search.md +47 -47
  9. package/.claude/commands/rulebook-task-apply.md +67 -67
  10. package/.claude/commands/rulebook-task-archive.md +94 -94
  11. package/.claude/commands/rulebook-task-create.md +93 -93
  12. package/.claude/commands/rulebook-task-list.md +42 -42
  13. package/.claude/commands/rulebook-task-show.md +52 -52
  14. package/.claude/commands/rulebook-task-validate.md +53 -53
  15. package/.claude-plugin/marketplace.json +28 -28
  16. package/.claude-plugin/plugin.json +8 -8
  17. package/README.md +86 -0
  18. package/dist/cli/commands/claude.d.ts +17 -0
  19. package/dist/cli/commands/claude.d.ts.map +1 -0
  20. package/dist/cli/commands/claude.js +56 -0
  21. package/dist/cli/commands/claude.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +18 -2
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/update.d.ts.map +1 -1
  26. package/dist/cli/commands/update.js +6 -1
  27. package/dist/cli/commands/update.js.map +1 -1
  28. package/dist/cli/prompts.d.ts +13 -0
  29. package/dist/cli/prompts.d.ts.map +1 -1
  30. package/dist/cli/prompts.js +106 -0
  31. package/dist/cli/prompts.js.map +1 -1
  32. package/dist/core/claude/claude-mcp.d.ts +10 -1
  33. package/dist/core/claude/claude-mcp.d.ts.map +1 -1
  34. package/dist/core/claude/claude-mcp.js +48 -2
  35. package/dist/core/claude/claude-mcp.js.map +1 -1
  36. package/dist/core/claude/claude-settings-manager.d.ts +12 -0
  37. package/dist/core/claude/claude-settings-manager.d.ts.map +1 -1
  38. package/dist/core/claude/claude-settings-manager.js +59 -3
  39. package/dist/core/claude/claude-settings-manager.js.map +1 -1
  40. package/dist/core/detect/detector.d.ts +8 -1
  41. package/dist/core/detect/detector.d.ts.map +1 -1
  42. package/dist/core/detect/detector.js +225 -0
  43. package/dist/core/detect/detector.js.map +1 -1
  44. package/dist/core/detect/library-registry.d.ts +40 -0
  45. package/dist/core/detect/library-registry.d.ts.map +1 -0
  46. package/dist/core/detect/library-registry.js +239 -0
  47. package/dist/core/detect/library-registry.js.map +1 -0
  48. package/dist/core/generators/generator.d.ts +2 -1
  49. package/dist/core/generators/generator.d.ts.map +1 -1
  50. package/dist/core/generators/generator.js +38 -1
  51. package/dist/core/generators/generator.js.map +1 -1
  52. package/dist/core/generators/rules-generator.d.ts +1 -5
  53. package/dist/core/generators/rules-generator.d.ts.map +1 -1
  54. package/dist/core/generators/rules-generator.js +40 -1
  55. package/dist/core/generators/rules-generator.js.map +1 -1
  56. package/dist/index.js +12 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/mcp/rulebook-server.js +0 -0
  59. package/dist/types.d.ts +13 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +23 -22
  62. package/templates/agents/accessibility-reviewer.md +43 -43
  63. package/templates/agents/api-designer.md +42 -42
  64. package/templates/agents/architect.md +51 -51
  65. package/templates/agents/build-engineer.md +36 -36
  66. package/templates/agents/code-reviewer.md +47 -47
  67. package/templates/agents/compiler/codegen-debugger.md +34 -34
  68. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  69. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  70. package/templates/agents/database-architect.md +41 -41
  71. package/templates/agents/devops-engineer.md +42 -42
  72. package/templates/agents/docs-writer.md +38 -38
  73. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  74. package/templates/agents/game-engine/render-engineer.md +22 -22
  75. package/templates/agents/game-engine/shader-engineer.md +38 -38
  76. package/templates/agents/game-engine/systems-integration.md +43 -43
  77. package/templates/agents/generic/code-reviewer.md +41 -41
  78. package/templates/agents/generic/docs-writer.md +25 -25
  79. package/templates/agents/generic/project-manager.md +36 -36
  80. package/templates/agents/generic/researcher.md +34 -34
  81. package/templates/agents/generic/test-engineer.md +41 -41
  82. package/templates/agents/i18n-engineer.md +42 -42
  83. package/templates/agents/implementer.md +42 -42
  84. package/templates/agents/migration-engineer.md +42 -42
  85. package/templates/agents/mobile/platform-specialist.md +22 -22
  86. package/templates/agents/mobile/ui-engineer.md +22 -22
  87. package/templates/agents/performance-engineer.md +49 -49
  88. package/templates/agents/project-manager.md +217 -0
  89. package/templates/agents/quality-gatekeeper.md +208 -0
  90. package/templates/agents/refactoring-agent.md +41 -41
  91. package/templates/agents/researcher.md +38 -38
  92. package/templates/agents/security-reviewer.md +40 -40
  93. package/templates/agents/team-lead.md +37 -37
  94. package/templates/agents/tester.md +48 -48
  95. package/templates/agents/ux-reviewer.md +43 -43
  96. package/templates/agents/web-app/api-designer.md +22 -22
  97. package/templates/agents/web-app/backend-engineer.md +30 -30
  98. package/templates/agents/web-app/database-engineer.md +22 -22
  99. package/templates/agents/web-app/frontend-engineer.md +29 -29
  100. package/templates/agents/web-app/security-reviewer.md +32 -32
  101. package/templates/ci/rulebook-review.yml +26 -26
  102. package/templates/claude-workflows/bugfix.js +94 -0
  103. package/templates/claude-workflows/feature-pipeline.js +88 -0
  104. package/templates/claude-workflows/release-gate.js +64 -0
  105. package/templates/claude-workflows/review-fanout.js +125 -0
  106. package/templates/claude-workflows/rulebook-driver.js +382 -0
  107. package/templates/claude-workflows/spec-author.js +133 -0
  108. package/templates/cli/AIDER.md +49 -49
  109. package/templates/cli/AMAZON_Q.md +25 -25
  110. package/templates/cli/AUGGIE.md +32 -32
  111. package/templates/cli/CLAUDE.md +117 -117
  112. package/templates/cli/CLINE.md +99 -99
  113. package/templates/cli/CODEBUDDY.md +20 -20
  114. package/templates/cli/CODEIUM.md +20 -20
  115. package/templates/cli/CODEX.md +21 -21
  116. package/templates/cli/CONTINUE.md +34 -34
  117. package/templates/cli/CURSOR_CLI.md +62 -62
  118. package/templates/cli/FACTORY.md +18 -18
  119. package/templates/cli/GEMINI.md +35 -35
  120. package/templates/cli/KILOCODE.md +18 -18
  121. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  122. package/templates/commands/rulebook-decision-create.md +55 -55
  123. package/templates/commands/rulebook-decision-list.md +15 -15
  124. package/templates/commands/rulebook-knowledge-add.md +41 -41
  125. package/templates/commands/rulebook-knowledge-list.md +15 -15
  126. package/templates/commands/rulebook-memory-save.md +48 -48
  127. package/templates/commands/rulebook-memory-search.md +47 -47
  128. package/templates/commands/rulebook-task-apply.md +67 -67
  129. package/templates/commands/rulebook-task-archive.md +94 -94
  130. package/templates/commands/rulebook-task-create.md +93 -93
  131. package/templates/commands/rulebook-task-list.md +42 -42
  132. package/templates/commands/rulebook-task-show.md +52 -52
  133. package/templates/commands/rulebook-task-validate.md +53 -53
  134. package/templates/compact-context/_default.md +23 -23
  135. package/templates/compact-context/cpp.md +26 -26
  136. package/templates/compact-context/go.md +26 -26
  137. package/templates/compact-context/python.md +26 -26
  138. package/templates/compact-context/rust.md +28 -28
  139. package/templates/compact-context/typescript.md +29 -29
  140. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  141. package/templates/core/AGENT_AUTOMATION.md +296 -296
  142. package/templates/core/CLAUDE_MD_v2.md +90 -90
  143. package/templates/core/DAG.md +304 -304
  144. package/templates/core/DECISIONS.md +38 -38
  145. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  146. package/templates/core/KNOWLEDGE.md +49 -49
  147. package/templates/core/MULTI_AGENT.md +74 -74
  148. package/templates/core/PLANS.md +28 -28
  149. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  150. package/templates/core/RULEBOOK.md +1947 -1947
  151. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  152. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  153. package/templates/git/CI_CD_PATTERNS.md +661 -661
  154. package/templates/git/GITHUB_ACTIONS.md +728 -728
  155. package/templates/git/GITLAB_CI.md +730 -730
  156. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  157. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  158. package/templates/hooks/COMMIT_MSG.md +530 -530
  159. package/templates/hooks/POST_CHECKOUT.md +546 -546
  160. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  161. package/templates/hooks/PRE_COMMIT.md +414 -414
  162. package/templates/hooks/PRE_PUSH.md +601 -601
  163. package/templates/hooks/check-context-and-handoff.sh +16 -6
  164. package/templates/hooks/update-check.ps1 +84 -0
  165. package/templates/hooks/update-check.sh +103 -0
  166. package/templates/ides/CONTINUE_RULES.md +16 -16
  167. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  168. package/templates/ides/GEMINI_RULES.md +17 -17
  169. package/templates/ides/WINDSURF_RULES.md +14 -14
  170. package/templates/languages/C.md +333 -333
  171. package/templates/languages/CPP.md +743 -743
  172. package/templates/languages/CSHARP.md +417 -417
  173. package/templates/languages/ELIXIR.md +454 -454
  174. package/templates/languages/ERLANG.md +361 -361
  175. package/templates/languages/GO.md +645 -645
  176. package/templates/languages/HASKELL.md +177 -177
  177. package/templates/languages/JAVA.md +607 -607
  178. package/templates/languages/JAVASCRIPT.md +631 -631
  179. package/templates/languages/JULIA.md +97 -97
  180. package/templates/languages/KOTLIN.md +511 -511
  181. package/templates/languages/LISP.md +100 -100
  182. package/templates/languages/LUA.md +74 -74
  183. package/templates/languages/OBJECTIVEC.md +90 -90
  184. package/templates/languages/PHP.md +416 -416
  185. package/templates/languages/PYTHON.md +682 -682
  186. package/templates/languages/RUBY.md +421 -421
  187. package/templates/languages/RUST.md +477 -477
  188. package/templates/languages/SAS.md +73 -73
  189. package/templates/languages/SCALA.md +348 -348
  190. package/templates/languages/SOLIDITY.md +580 -580
  191. package/templates/languages/SQL.md +137 -137
  192. package/templates/languages/SWIFT.md +466 -466
  193. package/templates/languages/TYPESCRIPT.md +591 -591
  194. package/templates/languages/ZIG.md +265 -265
  195. package/templates/libraries/go/ECHO.md +18 -0
  196. package/templates/libraries/go/GIN.md +18 -0
  197. package/templates/libraries/go/GORM.md +18 -0
  198. package/templates/libraries/python/DJANGO.md +18 -0
  199. package/templates/libraries/python/FASTAPI.md +18 -0
  200. package/templates/libraries/python/FLASK.md +17 -0
  201. package/templates/libraries/python/PYDANTIC.md +17 -0
  202. package/templates/libraries/python/PYTEST.md +17 -0
  203. package/templates/libraries/python/SQLALCHEMY.md +17 -0
  204. package/templates/libraries/rust/ACTIX.md +17 -0
  205. package/templates/libraries/rust/AXUM.md +18 -0
  206. package/templates/libraries/rust/SERDE.md +16 -0
  207. package/templates/libraries/rust/SQLX.md +17 -0
  208. package/templates/libraries/rust/TOKIO.md +16 -0
  209. package/templates/libraries/typescript/ANGULAR.md +17 -0
  210. package/templates/libraries/typescript/DRIZZLE.md +16 -0
  211. package/templates/libraries/typescript/EXPRESS.md +17 -0
  212. package/templates/libraries/typescript/HEROUI.md +16 -0
  213. package/templates/libraries/typescript/JEST.md +17 -0
  214. package/templates/libraries/typescript/NESTJS.md +17 -0
  215. package/templates/libraries/typescript/NEXT.md +18 -0
  216. package/templates/libraries/typescript/PRISMA.md +16 -0
  217. package/templates/libraries/typescript/RADIX.md +16 -0
  218. package/templates/libraries/typescript/REACT.md +18 -0
  219. package/templates/libraries/typescript/SHADCN.md +16 -0
  220. package/templates/libraries/typescript/SVELTE.md +16 -0
  221. package/templates/libraries/typescript/TAILWIND.md +16 -0
  222. package/templates/libraries/typescript/TRPC.md +16 -0
  223. package/templates/libraries/typescript/VITEST.md +17 -0
  224. package/templates/libraries/typescript/VUE.md +17 -0
  225. package/templates/libraries/typescript/ZOD.md +17 -0
  226. package/templates/modules/ATLASSIAN.md +255 -255
  227. package/templates/modules/CONTEXT7.md +54 -54
  228. package/templates/modules/FIGMA.md +267 -267
  229. package/templates/modules/GITHUB_MCP.md +64 -64
  230. package/templates/modules/GRAFANA.md +328 -328
  231. package/templates/modules/MEMORY.md +126 -126
  232. package/templates/modules/NOTION.md +247 -247
  233. package/templates/modules/PLAYWRIGHT.md +90 -90
  234. package/templates/modules/RULEBOOK_MCP.md +208 -208
  235. package/templates/modules/SERENA.md +337 -337
  236. package/templates/modules/SUPABASE.md +223 -223
  237. package/templates/modules/SYNAP.md +69 -69
  238. package/templates/modules/VECTORIZER.md +63 -63
  239. package/templates/modules/sequential-thinking.md +42 -42
  240. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  241. package/templates/rules/cpp.md +46 -46
  242. package/templates/rules/csharp.md +44 -44
  243. package/templates/rules/diagnostic-first.md +39 -39
  244. package/templates/rules/fail-twice-escalate.md +46 -46
  245. package/templates/rules/follow-task-sequence.md +36 -36
  246. package/templates/rules/git-safety.md +29 -29
  247. package/templates/rules/go.md +40 -40
  248. package/templates/rules/incremental-implementation.md +56 -56
  249. package/templates/rules/incremental-tests.md +29 -29
  250. package/templates/rules/java.md +43 -43
  251. package/templates/rules/javascript.md +39 -39
  252. package/templates/rules/knowledge-base-usage.md +41 -41
  253. package/templates/rules/multi-agent-teams.md +75 -75
  254. package/templates/rules/no-deferred.md +31 -31
  255. package/templates/rules/no-shortcuts.md +30 -30
  256. package/templates/rules/python.md +43 -43
  257. package/templates/rules/research-first.md +30 -30
  258. package/templates/rules/respect-handoff-trigger.md +41 -41
  259. package/templates/rules/rust.md +40 -40
  260. package/templates/rules/sequential-editing.md +21 -21
  261. package/templates/rules/session-workflow.md +24 -24
  262. package/templates/rules/task-decomposition.md +32 -32
  263. package/templates/rules/typescript.md +40 -40
  264. package/templates/skills/cli/aider/SKILL.md +59 -59
  265. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  266. package/templates/skills/cli/auggie/SKILL.md +42 -42
  267. package/templates/skills/cli/claude/SKILL.md +42 -42
  268. package/templates/skills/cli/cline/SKILL.md +42 -42
  269. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  270. package/templates/skills/cli/codeium/SKILL.md +30 -30
  271. package/templates/skills/cli/codex/SKILL.md +31 -31
  272. package/templates/skills/cli/continue/SKILL.md +44 -44
  273. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  274. package/templates/skills/cli/factory/SKILL.md +28 -28
  275. package/templates/skills/cli/gemini/SKILL.md +45 -45
  276. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  277. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  278. package/templates/skills/core/dag/SKILL.md +314 -314
  279. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  280. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  281. package/templates/skills/core/rulebook/SKILL.md +176 -176
  282. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  283. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  284. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  285. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  286. package/templates/skills/dev/analysis/SKILL.md +19 -19
  287. package/templates/skills/dev/api-design/SKILL.md +15 -15
  288. package/templates/skills/dev/architect/SKILL.md +17 -17
  289. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  290. package/templates/skills/dev/db-design/SKILL.md +15 -15
  291. package/templates/skills/dev/debug/SKILL.md +16 -16
  292. package/templates/skills/dev/deploy/SKILL.md +17 -17
  293. package/templates/skills/dev/docs/SKILL.md +17 -17
  294. package/templates/skills/dev/handoff/SKILL.md +27 -27
  295. package/templates/skills/dev/migrate/SKILL.md +15 -15
  296. package/templates/skills/dev/perf/SKILL.md +17 -17
  297. package/templates/skills/dev/refactor/SKILL.md +17 -17
  298. package/templates/skills/dev/research/SKILL.md +14 -14
  299. package/templates/skills/dev/review/SKILL.md +18 -18
  300. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  301. package/templates/skills/dev/spec/SKILL.md +65 -0
  302. package/templates/skills/ides/copilot/SKILL.md +47 -47
  303. package/templates/skills/ides/cursor/SKILL.md +53 -53
  304. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  305. package/templates/skills/ides/replit/SKILL.md +46 -46
  306. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  307. package/templates/skills/ides/vscode/SKILL.md +50 -50
  308. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  309. package/templates/skills/ides/zed/SKILL.md +42 -42
  310. package/templates/skills/languages/c/SKILL.md +343 -343
  311. package/templates/skills/languages/cpp/SKILL.md +753 -753
  312. package/templates/skills/languages/csharp/SKILL.md +427 -427
  313. package/templates/skills/languages/elixir/SKILL.md +464 -464
  314. package/templates/skills/languages/erlang/SKILL.md +371 -371
  315. package/templates/skills/languages/go/SKILL.md +655 -655
  316. package/templates/skills/languages/haskell/SKILL.md +187 -187
  317. package/templates/skills/languages/java/SKILL.md +617 -617
  318. package/templates/skills/languages/javascript/SKILL.md +641 -641
  319. package/templates/skills/languages/julia/SKILL.md +107 -107
  320. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  321. package/templates/skills/languages/lisp/SKILL.md +110 -110
  322. package/templates/skills/languages/lua/SKILL.md +84 -84
  323. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  324. package/templates/skills/languages/php/SKILL.md +426 -426
  325. package/templates/skills/languages/python/SKILL.md +692 -692
  326. package/templates/skills/languages/ruby/SKILL.md +431 -431
  327. package/templates/skills/languages/rust/SKILL.md +487 -487
  328. package/templates/skills/languages/sas/SKILL.md +83 -83
  329. package/templates/skills/languages/scala/SKILL.md +358 -358
  330. package/templates/skills/languages/solidity/SKILL.md +590 -590
  331. package/templates/skills/languages/sql/SKILL.md +147 -147
  332. package/templates/skills/languages/swift/SKILL.md +476 -476
  333. package/templates/skills/languages/typescript/SKILL.md +302 -302
  334. package/templates/skills/languages/zig/SKILL.md +275 -275
  335. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  336. package/templates/skills/modules/context7/SKILL.md +64 -64
  337. package/templates/skills/modules/figma/SKILL.md +277 -277
  338. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  339. package/templates/skills/modules/grafana/SKILL.md +338 -338
  340. package/templates/skills/modules/memory/SKILL.md +73 -73
  341. package/templates/skills/modules/notion/SKILL.md +257 -257
  342. package/templates/skills/modules/playwright/SKILL.md +100 -100
  343. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  344. package/templates/skills/modules/serena/SKILL.md +347 -347
  345. package/templates/skills/modules/supabase/SKILL.md +233 -233
  346. package/templates/skills/modules/synap/SKILL.md +79 -79
  347. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  348. package/templates/workflows/typescript-test.yml +9 -3
  349. package/dist/agents/ralph-parser.d.ts +0 -91
  350. package/dist/agents/ralph-parser.d.ts.map +0 -1
  351. package/dist/agents/ralph-parser.js +0 -415
  352. package/dist/agents/ralph-parser.js.map +0 -1
  353. package/dist/cli/commands/analysis.d.ts +0 -8
  354. package/dist/cli/commands/analysis.d.ts.map +0 -1
  355. package/dist/cli/commands/analysis.js +0 -78
  356. package/dist/cli/commands/analysis.js.map +0 -1
  357. package/dist/cli/commands/compress.d.ts +0 -18
  358. package/dist/cli/commands/compress.d.ts.map +0 -1
  359. package/dist/cli/commands/compress.js +0 -100
  360. package/dist/cli/commands/compress.js.map +0 -1
  361. package/dist/cli/commands/ralph.d.ts +0 -45
  362. package/dist/cli/commands/ralph.d.ts.map +0 -1
  363. package/dist/cli/commands/ralph.js +0 -694
  364. package/dist/cli/commands/ralph.js.map +0 -1
  365. package/dist/cli/docs-prompts.d.ts +0 -3
  366. package/dist/cli/docs-prompts.d.ts.map +0 -1
  367. package/dist/cli/docs-prompts.js +0 -45
  368. package/dist/cli/docs-prompts.js.map +0 -1
  369. package/dist/core/agent-manager.d.ts +0 -69
  370. package/dist/core/agent-manager.d.ts.map +0 -1
  371. package/dist/core/agent-manager.js +0 -476
  372. package/dist/core/agent-manager.js.map +0 -1
  373. package/dist/core/agent-template-engine.d.ts +0 -51
  374. package/dist/core/agent-template-engine.d.ts.map +0 -1
  375. package/dist/core/agent-template-engine.js +0 -291
  376. package/dist/core/agent-template-engine.js.map +0 -1
  377. package/dist/core/analysis-manager.d.ts +0 -56
  378. package/dist/core/analysis-manager.d.ts.map +0 -1
  379. package/dist/core/analysis-manager.js +0 -218
  380. package/dist/core/analysis-manager.js.map +0 -1
  381. package/dist/core/auto-fixer.d.ts +0 -14
  382. package/dist/core/auto-fixer.d.ts.map +0 -1
  383. package/dist/core/auto-fixer.js +0 -207
  384. package/dist/core/auto-fixer.js.map +0 -1
  385. package/dist/core/changelog-generator.d.ts +0 -44
  386. package/dist/core/changelog-generator.d.ts.map +0 -1
  387. package/dist/core/changelog-generator.js +0 -222
  388. package/dist/core/changelog-generator.js.map +0 -1
  389. package/dist/core/claude-mcp.d.ts +0 -59
  390. package/dist/core/claude-mcp.d.ts.map +0 -1
  391. package/dist/core/claude-mcp.js +0 -220
  392. package/dist/core/claude-mcp.js.map +0 -1
  393. package/dist/core/claude-md-generator.d.ts +0 -52
  394. package/dist/core/claude-md-generator.d.ts.map +0 -1
  395. package/dist/core/claude-md-generator.js +0 -104
  396. package/dist/core/claude-md-generator.js.map +0 -1
  397. package/dist/core/claude-settings-manager.d.ts +0 -44
  398. package/dist/core/claude-settings-manager.d.ts.map +0 -1
  399. package/dist/core/claude-settings-manager.js +0 -191
  400. package/dist/core/claude-settings-manager.js.map +0 -1
  401. package/dist/core/cli-bridge.d.ts +0 -113
  402. package/dist/core/cli-bridge.d.ts.map +0 -1
  403. package/dist/core/cli-bridge.js +0 -1094
  404. package/dist/core/cli-bridge.js.map +0 -1
  405. package/dist/core/compact-context-manager.d.ts +0 -34
  406. package/dist/core/compact-context-manager.d.ts.map +0 -1
  407. package/dist/core/compact-context-manager.js +0 -60
  408. package/dist/core/compact-context-manager.js.map +0 -1
  409. package/dist/core/complexity-detector.d.ts +0 -36
  410. package/dist/core/complexity-detector.d.ts.map +0 -1
  411. package/dist/core/complexity-detector.js +0 -334
  412. package/dist/core/complexity-detector.js.map +0 -1
  413. package/dist/core/compress/compressor.d.ts +0 -60
  414. package/dist/core/compress/compressor.d.ts.map +0 -1
  415. package/dist/core/compress/compressor.js +0 -232
  416. package/dist/core/compress/compressor.js.map +0 -1
  417. package/dist/core/compress/discover.d.ts +0 -19
  418. package/dist/core/compress/discover.d.ts.map +0 -1
  419. package/dist/core/compress/discover.js +0 -100
  420. package/dist/core/compress/discover.js.map +0 -1
  421. package/dist/core/compress/validator.d.ts +0 -47
  422. package/dist/core/compress/validator.d.ts.map +0 -1
  423. package/dist/core/compress/validator.js +0 -131
  424. package/dist/core/compress/validator.js.map +0 -1
  425. package/dist/core/config-manager.d.ts +0 -86
  426. package/dist/core/config-manager.d.ts.map +0 -1
  427. package/dist/core/config-manager.js +0 -621
  428. package/dist/core/config-manager.js.map +0 -1
  429. package/dist/core/coverage-checker.d.ts +0 -14
  430. package/dist/core/coverage-checker.d.ts.map +0 -1
  431. package/dist/core/coverage-checker.js +0 -176
  432. package/dist/core/coverage-checker.js.map +0 -1
  433. package/dist/core/cursor-mdc-generator.d.ts +0 -30
  434. package/dist/core/cursor-mdc-generator.d.ts.map +0 -1
  435. package/dist/core/cursor-mdc-generator.js +0 -98
  436. package/dist/core/cursor-mdc-generator.js.map +0 -1
  437. package/dist/core/decision-manager.d.ts +0 -25
  438. package/dist/core/decision-manager.d.ts.map +0 -1
  439. package/dist/core/decision-manager.js +0 -183
  440. package/dist/core/decision-manager.js.map +0 -1
  441. package/dist/core/dependency-checker.d.ts +0 -21
  442. package/dist/core/dependency-checker.d.ts.map +0 -1
  443. package/dist/core/dependency-checker.js +0 -247
  444. package/dist/core/dependency-checker.js.map +0 -1
  445. package/dist/core/detector.d.ts +0 -27
  446. package/dist/core/detector.d.ts.map +0 -1
  447. package/dist/core/detector.js +0 -1763
  448. package/dist/core/detector.js.map +0 -1
  449. package/dist/core/docs-generator.d.ts +0 -9
  450. package/dist/core/docs-generator.d.ts.map +0 -1
  451. package/dist/core/docs-generator.js +0 -531
  452. package/dist/core/docs-generator.js.map +0 -1
  453. package/dist/core/doctor.d.ts +0 -19
  454. package/dist/core/doctor.d.ts.map +0 -1
  455. package/dist/core/doctor.js +0 -229
  456. package/dist/core/doctor.js.map +0 -1
  457. package/dist/core/generator.d.ts +0 -56
  458. package/dist/core/generator.d.ts.map +0 -1
  459. package/dist/core/generator.js +0 -1193
  460. package/dist/core/generator.js.map +0 -1
  461. package/dist/core/github-issues-importer.d.ts +0 -82
  462. package/dist/core/github-issues-importer.d.ts.map +0 -1
  463. package/dist/core/github-issues-importer.js +0 -161
  464. package/dist/core/github-issues-importer.js.map +0 -1
  465. package/dist/core/gitignore-generator.d.ts +0 -13
  466. package/dist/core/gitignore-generator.d.ts.map +0 -1
  467. package/dist/core/gitignore-generator.js +0 -307
  468. package/dist/core/gitignore-generator.js.map +0 -1
  469. package/dist/core/health-scorer.d.ts +0 -61
  470. package/dist/core/health-scorer.d.ts.map +0 -1
  471. package/dist/core/health-scorer.js +0 -638
  472. package/dist/core/health-scorer.js.map +0 -1
  473. package/dist/core/iteration-tracker.d.ts +0 -85
  474. package/dist/core/iteration-tracker.d.ts.map +0 -1
  475. package/dist/core/iteration-tracker.js +0 -295
  476. package/dist/core/iteration-tracker.js.map +0 -1
  477. package/dist/core/knowledge-manager.d.ts +0 -24
  478. package/dist/core/knowledge-manager.d.ts.map +0 -1
  479. package/dist/core/knowledge-manager.js +0 -173
  480. package/dist/core/knowledge-manager.js.map +0 -1
  481. package/dist/core/learn-manager.d.ts +0 -29
  482. package/dist/core/learn-manager.d.ts.map +0 -1
  483. package/dist/core/learn-manager.js +0 -159
  484. package/dist/core/learn-manager.js.map +0 -1
  485. package/dist/core/mcp-reference-generator.d.ts +0 -13
  486. package/dist/core/mcp-reference-generator.d.ts.map +0 -1
  487. package/dist/core/mcp-reference-generator.js +0 -66
  488. package/dist/core/mcp-reference-generator.js.map +0 -1
  489. package/dist/core/minimal-scaffolder.d.ts +0 -8
  490. package/dist/core/minimal-scaffolder.d.ts.map +0 -1
  491. package/dist/core/minimal-scaffolder.js +0 -51
  492. package/dist/core/minimal-scaffolder.js.map +0 -1
  493. package/dist/core/modern-console.d.ts +0 -98
  494. package/dist/core/modern-console.d.ts.map +0 -1
  495. package/dist/core/modern-console.js +0 -556
  496. package/dist/core/modern-console.js.map +0 -1
  497. package/dist/core/multi-tool-generator.d.ts +0 -59
  498. package/dist/core/multi-tool-generator.d.ts.map +0 -1
  499. package/dist/core/multi-tool-generator.js +0 -157
  500. package/dist/core/multi-tool-generator.js.map +0 -1
  501. package/dist/core/override-manager.d.ts +0 -23
  502. package/dist/core/override-manager.d.ts.map +0 -1
  503. package/dist/core/override-manager.js +0 -82
  504. package/dist/core/override-manager.js.map +0 -1
  505. package/dist/core/plans-manager.d.ts +0 -46
  506. package/dist/core/plans-manager.d.ts.map +0 -1
  507. package/dist/core/plans-manager.js +0 -158
  508. package/dist/core/plans-manager.js.map +0 -1
  509. package/dist/core/prd-generator.d.ts +0 -48
  510. package/dist/core/prd-generator.d.ts.map +0 -1
  511. package/dist/core/prd-generator.js +0 -233
  512. package/dist/core/prd-generator.js.map +0 -1
  513. package/dist/core/ralph-manager.d.ts +0 -163
  514. package/dist/core/ralph-manager.d.ts.map +0 -1
  515. package/dist/core/ralph-manager.js +0 -555
  516. package/dist/core/ralph-manager.js.map +0 -1
  517. package/dist/core/ralph-parallel.d.ts +0 -55
  518. package/dist/core/ralph-parallel.d.ts.map +0 -1
  519. package/dist/core/ralph-parallel.js +0 -201
  520. package/dist/core/ralph-parallel.js.map +0 -1
  521. package/dist/core/ralph-plan-checkpoint.d.ts +0 -58
  522. package/dist/core/ralph-plan-checkpoint.d.ts.map +0 -1
  523. package/dist/core/ralph-plan-checkpoint.js +0 -154
  524. package/dist/core/ralph-plan-checkpoint.js.map +0 -1
  525. package/dist/core/ralph-scripts.d.ts +0 -12
  526. package/dist/core/ralph-scripts.d.ts.map +0 -1
  527. package/dist/core/ralph-scripts.js +0 -50
  528. package/dist/core/ralph-scripts.js.map +0 -1
  529. package/dist/core/review-manager.d.ts +0 -74
  530. package/dist/core/review-manager.d.ts.map +0 -1
  531. package/dist/core/review-manager.js +0 -371
  532. package/dist/core/review-manager.js.map +0 -1
  533. package/dist/core/rules-generator.d.ts +0 -73
  534. package/dist/core/rules-generator.d.ts.map +0 -1
  535. package/dist/core/rules-generator.js +0 -202
  536. package/dist/core/rules-generator.js.map +0 -1
  537. package/dist/core/skills-manager.d.ts +0 -126
  538. package/dist/core/skills-manager.d.ts.map +0 -1
  539. package/dist/core/skills-manager.js +0 -654
  540. package/dist/core/skills-manager.js.map +0 -1
  541. package/dist/core/state-writer.d.ts +0 -35
  542. package/dist/core/state-writer.d.ts.map +0 -1
  543. package/dist/core/state-writer.js +0 -81
  544. package/dist/core/state-writer.js.map +0 -1
  545. package/dist/core/task-manager.d.ts +0 -127
  546. package/dist/core/task-manager.d.ts.map +0 -1
  547. package/dist/core/task-manager.js +0 -607
  548. package/dist/core/task-manager.js.map +0 -1
  549. package/dist/core/telemetry.d.ts +0 -29
  550. package/dist/core/telemetry.d.ts.map +0 -1
  551. package/dist/core/telemetry.js +0 -57
  552. package/dist/core/telemetry.js.map +0 -1
  553. package/dist/core/validator.d.ts +0 -21
  554. package/dist/core/validator.d.ts.map +0 -1
  555. package/dist/core/validator.js +0 -177
  556. package/dist/core/validator.js.map +0 -1
  557. package/dist/core/version-bumper.d.ts +0 -19
  558. package/dist/core/version-bumper.d.ts.map +0 -1
  559. package/dist/core/version-bumper.js +0 -180
  560. package/dist/core/version-bumper.js.map +0 -1
  561. package/dist/core/watcher.d.ts +0 -9
  562. package/dist/core/watcher.d.ts.map +0 -1
  563. package/dist/core/watcher.js +0 -22
  564. package/dist/core/watcher.js.map +0 -1
  565. package/dist/core/workflow-generator.d.ts +0 -15
  566. package/dist/core/workflow-generator.d.ts.map +0 -1
  567. package/dist/core/workflow-generator.js +0 -391
  568. package/dist/core/workflow-generator.js.map +0 -1
  569. package/dist/hooks/terse-activate.d.ts +0 -59
  570. package/dist/hooks/terse-activate.d.ts.map +0 -1
  571. package/dist/hooks/terse-activate.js +0 -149
  572. package/dist/hooks/terse-activate.js.map +0 -1
  573. package/dist/hooks/terse-config.d.ts +0 -51
  574. package/dist/hooks/terse-config.d.ts.map +0 -1
  575. package/dist/hooks/terse-config.js +0 -130
  576. package/dist/hooks/terse-config.js.map +0 -1
  577. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  578. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  579. package/dist/hooks/terse-mode-tracker.js +0 -213
  580. package/dist/hooks/terse-mode-tracker.js.map +0 -1
  581. package/dist/memory/hnsw-index.d.ts +0 -68
  582. package/dist/memory/hnsw-index.d.ts.map +0 -1
  583. package/dist/memory/hnsw-index.js +0 -544
  584. package/dist/memory/hnsw-index.js.map +0 -1
  585. package/dist/memory/memory-cache.d.ts +0 -33
  586. package/dist/memory/memory-cache.d.ts.map +0 -1
  587. package/dist/memory/memory-cache.js +0 -85
  588. package/dist/memory/memory-cache.js.map +0 -1
  589. package/dist/memory/memory-search.d.ts +0 -42
  590. package/dist/memory/memory-search.d.ts.map +0 -1
  591. package/dist/memory/memory-search.js +0 -180
  592. package/dist/memory/memory-search.js.map +0 -1
  593. package/dist/memory/memory-store.d.ts +0 -84
  594. package/dist/memory/memory-store.d.ts.map +0 -1
  595. package/dist/memory/memory-store.js +0 -566
  596. package/dist/memory/memory-store.js.map +0 -1
  597. package/dist/memory/memory-vectorizer.d.ts +0 -29
  598. package/dist/memory/memory-vectorizer.d.ts.map +0 -1
  599. package/dist/memory/memory-vectorizer.js +0 -199
  600. package/dist/memory/memory-vectorizer.js.map +0 -1
@@ -1,391 +0,0 @@
1
- import path from 'path';
2
- import { readFile, writeFile, ensureDir, fileExists } from '../utils/file-system.js';
3
- import { fileURLToPath } from 'url';
4
- import { dirname } from 'path';
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
- function getTemplatesDir() {
8
- return path.join(__dirname, '..', '..', 'templates');
9
- }
10
- export async function generateWorkflows(config, targetDir = process.cwd(), options = {}) {
11
- const generatedFiles = [];
12
- const workflowsDir = path.join(targetDir, '.github', 'workflows');
13
- await ensureDir(workflowsDir);
14
- const templatesDir = path.join(getTemplatesDir(), 'workflows');
15
- const mode = options.mode ?? 'full';
16
- // Generate language-specific workflows
17
- for (const language of config.languages) {
18
- if (language === 'rust') {
19
- // Copy Rust workflows
20
- const rustTest = await copyWorkflow(templatesDir, 'rust-test.yml', workflowsDir);
21
- generatedFiles.push(rustTest);
22
- if (mode === 'full') {
23
- const rustLint = await copyWorkflow(templatesDir, 'rust-lint.yml', workflowsDir);
24
- generatedFiles.push(rustLint);
25
- }
26
- }
27
- else if (language === 'typescript') {
28
- // Copy TypeScript workflows
29
- const tsTest = await copyWorkflow(templatesDir, 'typescript-test.yml', workflowsDir);
30
- generatedFiles.push(tsTest);
31
- if (mode === 'full') {
32
- const tsLint = await copyWorkflow(templatesDir, 'typescript-lint.yml', workflowsDir);
33
- generatedFiles.push(tsLint);
34
- }
35
- }
36
- else if (language === 'python') {
37
- // Copy Python workflows
38
- const pyTest = await copyWorkflow(templatesDir, 'python-test.yml', workflowsDir);
39
- generatedFiles.push(pyTest);
40
- if (mode === 'full') {
41
- const pyLint = await copyWorkflow(templatesDir, 'python-lint.yml', workflowsDir);
42
- generatedFiles.push(pyLint);
43
- }
44
- }
45
- else if (language === 'go') {
46
- // Copy Go workflows
47
- const goTest = await copyWorkflow(templatesDir, 'go-test.yml', workflowsDir);
48
- generatedFiles.push(goTest);
49
- if (mode === 'full') {
50
- const goLint = await copyWorkflow(templatesDir, 'go-lint.yml', workflowsDir);
51
- generatedFiles.push(goLint);
52
- }
53
- }
54
- else if (language === 'java') {
55
- // Copy Java workflows
56
- const javaTest = await copyWorkflow(templatesDir, 'java-test.yml', workflowsDir);
57
- generatedFiles.push(javaTest);
58
- if (mode === 'full') {
59
- const javaLint = await copyWorkflow(templatesDir, 'java-lint.yml', workflowsDir);
60
- generatedFiles.push(javaLint);
61
- }
62
- }
63
- }
64
- if (mode === 'full') {
65
- // Always add codespell in full mode
66
- const codespell = await copyWorkflow(templatesDir, 'codespell.yml', workflowsDir);
67
- generatedFiles.push(codespell);
68
- }
69
- return generatedFiles;
70
- }
71
- async function copyWorkflow(templatesDir, workflowFile, targetDir) {
72
- const sourcePath = path.join(templatesDir, workflowFile);
73
- const targetPath = path.join(targetDir, workflowFile);
74
- // Check if workflow already exists
75
- if (await fileExists(targetPath)) {
76
- // Skip if exists, don't overwrite
77
- return targetPath;
78
- }
79
- const content = await readFile(sourcePath);
80
- await writeFile(targetPath, content);
81
- return targetPath;
82
- }
83
- export async function generateIDEFiles(config, targetDir = process.cwd()) {
84
- const generatedFiles = [];
85
- for (const ide of config.ides) {
86
- if (ide === 'cursor') {
87
- const cursorRulesPath = await generateCursorRules(config, targetDir);
88
- if (cursorRulesPath)
89
- generatedFiles.push(cursorRulesPath);
90
- // Generate Cursor commands
91
- const cursorCommands = await generateCursorCommands(targetDir);
92
- generatedFiles.push(...cursorCommands);
93
- }
94
- else if (ide === 'windsurf') {
95
- const windsurfRulesPath = await generateWindsurfRules(config, targetDir);
96
- if (windsurfRulesPath)
97
- generatedFiles.push(windsurfRulesPath);
98
- }
99
- else if (ide === 'vscode') {
100
- const vscodeFiles = await generateVSCodeConfig(config, targetDir);
101
- generatedFiles.push(...vscodeFiles);
102
- }
103
- else if (ide === 'copilot') {
104
- const copilotPath = await generateCopilotInstructions(config, targetDir);
105
- if (copilotPath)
106
- generatedFiles.push(copilotPath);
107
- }
108
- }
109
- return generatedFiles;
110
- }
111
- async function generateCursorRules(config, targetDir) {
112
- const targetPath = path.join(targetDir, '.cursorrules');
113
- // Don't overwrite if exists
114
- if (await fileExists(targetPath)) {
115
- return null;
116
- }
117
- const content = `This project uses @hivellm/rulebook standards.
118
-
119
- CRITICAL RULES:
120
- 1. Always reference @AGENTS.md before coding
121
- 2. Write tests first (${config.coverageThreshold}%+ coverage required)
122
- 3. Run quality checks before committing:
123
- - Type check / Compiler check
124
- - Linter (no warnings allowed)
125
- - All tests (100% pass rate)
126
- - Coverage check
127
- 4. Update docs/ when implementing features
128
- 5. Follow strict documentation structure
129
-
130
- Language-specific rules are in @AGENTS.md.
131
- Module-specific patterns are in @AGENTS.md.
132
-
133
- When in doubt, ask to review @AGENTS.md first.
134
- `;
135
- await writeFile(targetPath, content);
136
- return targetPath;
137
- }
138
- async function generateWindsurfRules(config, targetDir) {
139
- const targetPath = path.join(targetDir, '.windsurfrules');
140
- if (await fileExists(targetPath)) {
141
- return null;
142
- }
143
- const content = `# Project Standards
144
-
145
- This project uses @hivellm/rulebook for standardization.
146
-
147
- ## Critical Rules
148
-
149
- 1. **Always check @AGENTS.md** before generating code
150
- 2. **Tests first**: Minimum ${config.coverageThreshold}% coverage required
151
- 3. **Quality gates**: All must pass before commit
152
- - Type checking
153
- - Linting (zero warnings)
154
- - All tests (100% pass)
155
- - Coverage verification
156
- 4. **Documentation**: Update /docs/ with all changes
157
- 5. **Structure**: Follow strict documentation layout
158
-
159
- ## Language Rules
160
-
161
- See @AGENTS.md for:
162
- ${config.languages.map((lang) => `- ${lang.charAt(0).toUpperCase() + lang.slice(1)}: Language-specific standards`).join('\n')}
163
-
164
- ## Module Patterns
165
-
166
- ${config.modules.length > 0 ? `See @AGENTS.md for:\n${config.modules.map((mod) => `- ${mod.charAt(0).toUpperCase() + mod.slice(1)}: Module-specific patterns`).join('\n')}` : 'No modules configured'}
167
- `;
168
- await writeFile(targetPath, content);
169
- return targetPath;
170
- }
171
- async function generateVSCodeConfig(config, targetDir) {
172
- const vscodeDir = path.join(targetDir, '.vscode');
173
- await ensureDir(vscodeDir);
174
- const generatedFiles = [];
175
- // Generate settings.json
176
- const settingsPath = path.join(vscodeDir, 'settings.json');
177
- if (!(await fileExists(settingsPath))) {
178
- const settings = {
179
- 'editor.formatOnSave': true,
180
- 'editor.codeActionsOnSave': {
181
- 'source.fixAll.eslint': true,
182
- 'source.organizeImports': true,
183
- },
184
- 'editor.rulers': [100],
185
- 'files.eol': '\n',
186
- 'github.copilot.enable': {
187
- '*': true,
188
- },
189
- };
190
- await writeFile(settingsPath, JSON.stringify(settings, null, 2));
191
- generatedFiles.push(settingsPath);
192
- }
193
- // Generate copilot-instructions.md
194
- const copilotPath = path.join(vscodeDir, 'copilot-instructions.md');
195
- if (!(await fileExists(copilotPath))) {
196
- const instructions = `# GitHub Copilot Instructions
197
-
198
- This project follows @hivellm/rulebook standards defined in AGENTS.md.
199
-
200
- Read and follow AGENTS.md for all code generation.
201
-
202
- Minimum test coverage: ${config.coverageThreshold}%
203
- `;
204
- await writeFile(copilotPath, instructions);
205
- generatedFiles.push(copilotPath);
206
- }
207
- return generatedFiles;
208
- }
209
- async function generateCopilotInstructions(config, targetDir) {
210
- const githubDir = path.join(targetDir, '.github');
211
- await ensureDir(githubDir);
212
- const targetPath = path.join(githubDir, 'copilot-instructions.md');
213
- if (await fileExists(targetPath)) {
214
- return null;
215
- }
216
- const content = `# GitHub Copilot Instructions
217
-
218
- This project follows @hivellm/rulebook standards defined in AGENTS.md.
219
-
220
- ## Code Generation Rules
221
-
222
- 1. **Always follow AGENTS.md** for all code generation
223
- 2. **Tests required**: Minimum ${config.coverageThreshold}% coverage for all new code
224
- 3. **Quality checks**: Code must pass all checks before commit:
225
- - Type checking / Compilation
226
- - Linting (zero warnings)
227
- - All tests passing
228
- - Coverage threshold met
229
- 4. **Documentation**: Update /docs/ with all changes
230
- 5. **Structure**: Follow project structure from AGENTS.md
231
-
232
- ## Language-Specific Standards
233
-
234
- ${config.languages.map((lang) => `### ${lang.charAt(0).toUpperCase() + lang.slice(1)}\nSee AGENTS.md for ${lang} standards`).join('\n\n')}
235
-
236
- ## Testing Patterns
237
-
238
- - Tests in /tests directory
239
- - Test-driven development
240
- - Edge cases and error paths
241
- - Integration tests where appropriate
242
- `;
243
- await writeFile(targetPath, content);
244
- return targetPath;
245
- }
246
- /**
247
- * Generate Cursor commands from templates
248
- */
249
- export async function generateCursorCommands(targetDir) {
250
- const commandsDir = path.join(targetDir, '.cursor', 'commands');
251
- await ensureDir(commandsDir);
252
- const templatesDir = path.join(getTemplatesDir(), 'commands');
253
- const generatedFiles = [];
254
- // List of command templates to copy
255
- const commandTemplates = [
256
- 'rulebook-task-create.md',
257
- 'rulebook-task-list.md',
258
- 'rulebook-task-show.md',
259
- 'rulebook-task-validate.md',
260
- 'rulebook-task-archive.md',
261
- 'rulebook-task-apply.md',
262
- ];
263
- for (const template of commandTemplates) {
264
- const sourcePath = path.join(templatesDir, template);
265
- const targetPath = path.join(commandsDir, template);
266
- // Skip if already exists (don't overwrite user customizations)
267
- if (await fileExists(targetPath)) {
268
- continue;
269
- }
270
- // Check if template exists
271
- if (await fileExists(sourcePath)) {
272
- const content = await readFile(sourcePath);
273
- await writeFile(targetPath, content);
274
- generatedFiles.push(targetPath);
275
- }
276
- }
277
- return generatedFiles;
278
- }
279
- /**
280
- * Generate AI CLI configuration files (CLAUDE.md, CODEX.md, GEMINI.md, gemini-extension.json)
281
- * These files help AI CLI tools understand project standards
282
- */
283
- export async function generateAICLIFiles(config, targetDir = process.cwd()) {
284
- const generatedFiles = [];
285
- // CLAUDE.md is generated by `src/core/claude-md-generator.ts` (v5.3.0
286
- // @import format) — no longer produced here.
287
- // Generate CODEX.md for Codex CLI
288
- const codexPath = path.join(targetDir, 'CODEX.md');
289
- if (!(await fileExists(codexPath))) {
290
- const codexContent = generateCodexMdContent(config);
291
- await writeFile(codexPath, codexContent);
292
- generatedFiles.push(codexPath);
293
- }
294
- // Generate GEMINI.md for Gemini CLI
295
- const geminiPath = path.join(targetDir, 'GEMINI.md');
296
- if (!(await fileExists(geminiPath))) {
297
- const geminiContent = generateGeminiMdContent(config);
298
- await writeFile(geminiPath, geminiContent);
299
- generatedFiles.push(geminiPath);
300
- }
301
- // Generate gemini-extension.json for Gemini CLI extension
302
- const geminiExtPath = path.join(targetDir, 'gemini-extension.json');
303
- if (!(await fileExists(geminiExtPath))) {
304
- const geminiExtContent = generateGeminiExtensionContent(config, targetDir);
305
- await writeFile(geminiExtPath, JSON.stringify(geminiExtContent, null, 2));
306
- generatedFiles.push(geminiExtPath);
307
- }
308
- return generatedFiles;
309
- }
310
- function generateCodexMdContent(config) {
311
- const languages = config.languages.map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join(', ');
312
- return `# CODEX.md
313
-
314
- Instructions for OpenAI Codex and compatible tools.
315
-
316
- ## Project Standards
317
-
318
- This project uses @hivehub/rulebook. Follow AGENTS.md for all code generation.
319
-
320
- **Languages**: ${languages || 'Not specified'}
321
- **Test Coverage**: ${config.coverageThreshold}%+
322
-
323
- ## Rules
324
-
325
- 1. Read AGENTS.md before generating code
326
- 2. Write tests first (TDD approach)
327
- 3. Maintain ${config.coverageThreshold}%+ test coverage
328
- 4. Run quality checks before committing
329
- 5. Follow language-specific patterns from AGENTS.md
330
-
331
- ## Quick Reference
332
-
333
- - Standards: See AGENTS.md
334
- - Modular rules: See /rulebook/ directory
335
- - Documentation: See /docs/ directory
336
- - Tests: See /tests/ directory
337
-
338
- Always reference AGENTS.md for consistent code generation.
339
- `;
340
- }
341
- function generateGeminiMdContent(config) {
342
- const languages = config.languages.map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join(', ');
343
- return `# GEMINI.md
344
-
345
- Instructions for Google Gemini CLI and API.
346
-
347
- ## Project Configuration
348
-
349
- This project uses @hivehub/rulebook standards defined in AGENTS.md.
350
-
351
- **Languages**: ${languages || 'Not specified'}
352
- **Coverage Requirement**: ${config.coverageThreshold}%
353
-
354
- ## Development Guidelines
355
-
356
- 1. **Check AGENTS.md first** - Contains all project standards
357
- 2. **Test-driven development** - Write tests before implementation
358
- 3. **Quality gates** - All code must pass:
359
- - Type checking
360
- - Linting (zero warnings)
361
- - Tests (100% pass rate)
362
- - Coverage (${config.coverageThreshold}%+)
363
- 4. **Documentation** - Update /docs/ for all features
364
-
365
- ## Project Structure
366
-
367
- - \`AGENTS.md\` - AI agent directives and standards
368
- - \`/rulebook/\` - Modular rule definitions
369
- - \`/docs/\` - Documentation
370
- - \`/tests/\` - Test files
371
-
372
- For detailed standards, see AGENTS.md.
373
- `;
374
- }
375
- function generateGeminiExtensionContent(config, targetDir) {
376
- return {
377
- name: path.basename(targetDir),
378
- version: '1.0.0',
379
- description: 'Gemini CLI extension for project standards',
380
- main: 'GEMINI.md',
381
- includes: ['AGENTS.md', '.rulebook/**/*.md', 'docs/**/*.md'],
382
- excludes: ['node_modules/**', 'dist/**', '.git/**'],
383
- settings: {
384
- coverageThreshold: config.coverageThreshold,
385
- languages: config.languages,
386
- frameworks: config.frameworks || [],
387
- strictMode: true,
388
- },
389
- };
390
- }
391
- //# sourceMappingURL=workflow-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-generator.js","sourceRoot":"","sources":["../../src/core/workflow-generator.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Claude Code SessionStart hook for rulebook-terse.
3
- *
4
- * Runs once per session. Responsibilities:
5
- *
6
- * 1. Resolve the active intensity mode (env → project config →
7
- * user-global config → tier default → `brief`).
8
- * 2. Write the mode to `<project>/.rulebook/.terse-mode` using
9
- * `safeWriteFlag`.
10
- * 3. Read the invocable `rulebook-terse` SKILL.md, filter the
11
- * intensity table + examples down to only the active level's
12
- * rows, and emit the filtered body to stdout.
13
- *
14
- * Claude Code treats SessionStart stdout as hidden `additionalContext`
15
- * — the user never sees the injection in their transcript, but the
16
- * model's system context now carries the compression rules.
17
- *
18
- * Silent-fails on every filesystem error. A broken hook must NEVER
19
- * prevent session start.
20
- */
21
- import { type TerseMode } from './safe-flag-io.js';
22
- /**
23
- * Strip YAML frontmatter from a SKILL.md body. Returns the body as-is
24
- * if no frontmatter is present.
25
- */
26
- export declare function stripFrontmatter(content: string): string;
27
- /**
28
- * Filter the intensity table + worked-example rows to keep only the
29
- * active level's row. The SKILL.md has six intensity-level rows but
30
- * the model only needs the one it will use this session; keeping all
31
- * six wastes context and invites cross-level confusion.
32
- *
33
- * Rows start with `| **<level>** |` for the table and `- **<level>**:`
34
- * for the examples. The table header + separator rows pass through
35
- * unchanged because they don't match the level-row pattern.
36
- */
37
- export declare function filterSkillForLevel(body: string, level: TerseMode): string;
38
- /**
39
- * Build the full SessionStart stdout payload.
40
- */
41
- export declare function buildSessionStartOutput(args: {
42
- mode: TerseMode;
43
- skillBody: string | null;
44
- }): string;
45
- /**
46
- * Read the installed `rulebook-terse` SKILL.md. Returns the raw content
47
- * on success, or null if no candidate path resolves.
48
- */
49
- export declare function loadSkillBody(projectRoot: string): string | null;
50
- /**
51
- * CLI entry for the SessionStart hook. Always exits 0 — any failure
52
- * silently falls back to a no-op so session start is never blocked.
53
- */
54
- export declare function main(options?: {
55
- projectRoot?: string;
56
- env?: NodeJS.ProcessEnv;
57
- stdout?: NodeJS.WriteStream;
58
- }): void;
59
- //# sourceMappingURL=terse-activate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terse-activate.d.ts","sourceRoot":"","sources":["../../src/hooks/terse-activate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAyBlE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAoB1E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,CAOT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAehE;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAClB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CACxB,GACL,IAAI,CA0BN"}
@@ -1,149 +0,0 @@
1
- /**
2
- * Claude Code SessionStart hook for rulebook-terse.
3
- *
4
- * Runs once per session. Responsibilities:
5
- *
6
- * 1. Resolve the active intensity mode (env → project config →
7
- * user-global config → tier default → `brief`).
8
- * 2. Write the mode to `<project>/.rulebook/.terse-mode` using
9
- * `safeWriteFlag`.
10
- * 3. Read the invocable `rulebook-terse` SKILL.md, filter the
11
- * intensity table + examples down to only the active level's
12
- * rows, and emit the filtered body to stdout.
13
- *
14
- * Claude Code treats SessionStart stdout as hidden `additionalContext`
15
- * — the user never sees the injection in their transcript, but the
16
- * model's system context now carries the compression rules.
17
- *
18
- * Silent-fails on every filesystem error. A broken hook must NEVER
19
- * prevent session start.
20
- */
21
- import { existsSync, readFileSync, unlinkSync } from 'node:fs';
22
- import { join } from 'node:path';
23
- import { fileURLToPath } from 'node:url';
24
- import { safeWriteFlag } from './safe-flag-io.js';
25
- import { getDefaultMode, getFlagPath, } from './terse-config.js';
26
- /**
27
- * Minimal fallback ruleset emitted when SKILL.md cannot be found on
28
- * disk — e.g. a standalone installer that did not copy the templates
29
- * directory. Matches the Caveman precedent (see analysis report 06).
30
- */
31
- const FALLBACK_RULES = `Respond tersely. All technical substance stays. Only fluff dies.
32
-
33
- ## Persistence
34
- ACTIVE EVERY RESPONSE once set. Off only via "/rulebook-terse off", "normal mode", or session end.
35
-
36
- ## Rules
37
- Drop filler (just, really, basically), pleasantries, hedging. Keep technical terms exact. Code blocks byte-for-byte unchanged.
38
-
39
- ## Auto-Clarity
40
- Full prose for: security warnings, destructive-op confirmations, quality-gate failures, multi-step sequences, user confusion.
41
-
42
- ## Boundaries
43
- Code/tests/commits/specs: unchanged.`;
44
- /**
45
- * Strip YAML frontmatter from a SKILL.md body. Returns the body as-is
46
- * if no frontmatter is present.
47
- */
48
- export function stripFrontmatter(content) {
49
- const match = content.match(/^---\s*\n[\s\S]*?\n---\s*\n([\s\S]*)$/);
50
- return match ? match[1] : content;
51
- }
52
- /**
53
- * Filter the intensity table + worked-example rows to keep only the
54
- * active level's row. The SKILL.md has six intensity-level rows but
55
- * the model only needs the one it will use this session; keeping all
56
- * six wastes context and invites cross-level confusion.
57
- *
58
- * Rows start with `| **<level>** |` for the table and `- **<level>**:`
59
- * for the examples. The table header + separator rows pass through
60
- * unchanged because they don't match the level-row pattern.
61
- */
62
- export function filterSkillForLevel(body, level) {
63
- const out = [];
64
- const tableRow = /^\|\s*\*\*(\S+?)\*\*\s*\|/;
65
- const exampleLine = /^-\s*\*\*(\S+?)\*\*\s*:/;
66
- for (const line of body.split('\n')) {
67
- const tMatch = line.match(tableRow);
68
- if (tMatch) {
69
- if (tMatch[1] === level)
70
- out.push(line);
71
- continue;
72
- }
73
- const eMatch = line.match(exampleLine);
74
- if (eMatch) {
75
- if (eMatch[1] === level)
76
- out.push(line);
77
- continue;
78
- }
79
- out.push(line);
80
- }
81
- return out.join('\n');
82
- }
83
- /**
84
- * Build the full SessionStart stdout payload.
85
- */
86
- export function buildSessionStartOutput(args) {
87
- const header = `RULEBOOK-TERSE MODE ACTIVE — level: ${args.mode}`;
88
- if (args.skillBody === null) {
89
- return `${header}\n\n${FALLBACK_RULES}`;
90
- }
91
- const filtered = filterSkillForLevel(args.skillBody, args.mode);
92
- return `${header}\n\n${filtered}`.trimEnd() + '\n';
93
- }
94
- /**
95
- * Read the installed `rulebook-terse` SKILL.md. Returns the raw content
96
- * on success, or null if no candidate path resolves.
97
- */
98
- export function loadSkillBody(projectRoot) {
99
- const candidates = [
100
- join(projectRoot, '.claude', 'skills', 'rulebook-terse', 'SKILL.md'),
101
- join(projectRoot, 'templates', 'skills', 'core', 'rulebook-terse', 'SKILL.md'),
102
- ];
103
- for (const path of candidates) {
104
- try {
105
- if (existsSync(path)) {
106
- return stripFrontmatter(readFileSync(path, 'utf8'));
107
- }
108
- }
109
- catch {
110
- /* try next candidate */
111
- }
112
- }
113
- return null;
114
- }
115
- /**
116
- * CLI entry for the SessionStart hook. Always exits 0 — any failure
117
- * silently falls back to a no-op so session start is never blocked.
118
- */
119
- export function main(options = {}) {
120
- try {
121
- const projectRoot = options.projectRoot ?? process.cwd();
122
- const env = options.env ?? process.env;
123
- const stdout = options.stdout ?? process.stdout;
124
- const mode = getDefaultMode({ env, projectRoot, tier: env.RULEBOOK_AGENT_TIER });
125
- const flagPath = getFlagPath(projectRoot);
126
- if (mode === 'off') {
127
- try {
128
- unlinkSync(flagPath);
129
- }
130
- catch {
131
- /* flag already absent — fine */
132
- }
133
- return;
134
- }
135
- safeWriteFlag(flagPath, mode);
136
- const skillBody = loadSkillBody(projectRoot);
137
- const output = buildSessionStartOutput({ mode, skillBody });
138
- stdout.write(output);
139
- }
140
- catch {
141
- /* silent fail — never block session start */
142
- }
143
- }
144
- // CLI guard — only auto-run when invoked as the entry script.
145
- const __filename = fileURLToPath(import.meta.url);
146
- if (process.argv[1] === __filename) {
147
- main();
148
- }
149
- //# sourceMappingURL=terse-activate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terse-activate.js","sourceRoot":"","sources":["../../src/hooks/terse-activate.ts"],"names":[],"mappings":"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"}