@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,232 +0,0 @@
1
- /**
2
- * Deterministic prose compressor for `rulebook compress`.
3
- *
4
- * Applies only SAFE transformations — filler-word removal, pleasantry
5
- * stripping, and redundant-phrase replacement. Never restructures
6
- * sentences, never touches code, URLs, paths, commands, dates, or
7
- * version numbers. That conservative scope is what makes the
8
- * validator in `validator.ts` a sufficient safety net.
9
- *
10
- * When richer compression is wanted (useMemo → stabilize, "implement
11
- * a solution for" → "fix"), the user can layer Claude-powered
12
- * rewriting on top of this module. The validator contract is
13
- * orthogonal to the rewriter — any future LLM-backed compressor gets
14
- * graded against the same invariants.
15
- *
16
- * Grounded in `.rulebook/specs/RULEBOOK_TERSE.md` §Compression
17
- * companion.
18
- */
19
- import { extractors, validate } from './validator.js';
20
- // ── Transformation rules — order matters (phrase replacements first) ──
21
- /** Redundant phrases → shorter synonym. Applied to prose only. */
22
- const PHRASE_REPLACEMENTS = [
23
- [/\bin order to\b/gi, 'to'],
24
- [/\bmake sure to\b/gi, 'ensure'],
25
- [/\bmake sure that\b/gi, 'ensure'],
26
- [/\bthe reason is because\b/gi, 'because'],
27
- [/\bthe reason why\b/gi, 'why'],
28
- [/\bat this point in time\b/gi, 'now'],
29
- [/\bwith regard to\b/gi, 'on'],
30
- [/\bwith respect to\b/gi, 'on'],
31
- [/\bdue to the fact that\b/gi, 'because'],
32
- [/\ba number of\b/gi, 'several'],
33
- [/\bfor the purpose of\b/gi, 'to'],
34
- [/\bit is important to note that\b/gi, ''],
35
- [/\bit should be noted that\b/gi, ''],
36
- ];
37
- /** Leading pleasantries to strip from prose segments. */
38
- const PLEASANTRY_PREFIXES = [
39
- /^\s*(sure|certainly|of course)[,!.]?\s+/i,
40
- /^\s*(happy to help|great question|good point)[,!.]?\s+/i,
41
- /^\s*(i'd|i would) be happy to[^.]*\.\s+/i,
42
- /^\s*(let me)[^.]*\.\s+/i,
43
- ];
44
- /** Filler words removed when they appear between word-boundaries. */
45
- const FILLER_WORDS = [
46
- 'just',
47
- 'really',
48
- 'basically',
49
- 'actually',
50
- 'simply',
51
- 'essentially',
52
- 'generally',
53
- 'frankly',
54
- 'honestly',
55
- 'literally',
56
- 'very',
57
- 'quite',
58
- 'perhaps',
59
- 'maybe',
60
- ];
61
- /** Hedging phrases to remove. */
62
- const HEDGING_PATTERNS = [
63
- /\bit might be worth\b/gi,
64
- /\byou could consider\b/gi,
65
- /\byou (?:may|might) want to\b/gi,
66
- /\bi (?:think|believe|feel) that\b/gi,
67
- // Lookahead uses `\s*\w` to tolerate whitespace collapsed by earlier
68
- // substitutions (e.g. "I think consider" after a "you might want to"
69
- // strip leaves a double space before the next word).
70
- /\bi (?:think|believe|feel)\s+(?=\w)/gi,
71
- /\bin my opinion,?\s*/gi,
72
- ];
73
- /**
74
- * Split input into protected and prose segments.
75
- * Protected: fenced code blocks, inline code, URLs.
76
- * Everything else is prose.
77
- */
78
- function segment(input) {
79
- const segments = [];
80
- // Layered matches: fenced code, inline code, URLs. First we build a
81
- // mask of protected character ranges; prose is the complement.
82
- const mask = new Array(input.length).fill(false);
83
- const markRanges = (re) => {
84
- const matches = input.matchAll(re);
85
- for (const m of matches) {
86
- if (m.index === undefined)
87
- continue;
88
- for (let i = m.index; i < m.index + m[0].length; i++)
89
- mask[i] = true;
90
- }
91
- };
92
- // Capture fenced code FIRST so inline-code inside ``` blocks doesn't
93
- // get double-marked (it's already inside a fenced region).
94
- markRanges(extractors.FENCED_CODE_RE);
95
- // Inline code — recomputed on a version where fenced blocks are
96
- // masked out so we don't match inside them.
97
- const stripped = input
98
- .split('')
99
- .map((c, i) => (mask[i] ? ' ' : c))
100
- .join('');
101
- const inlineMatches = stripped.matchAll(extractors.INLINE_CODE_RE);
102
- for (const m of inlineMatches) {
103
- if (m.index === undefined)
104
- continue;
105
- for (let i = m.index; i < m.index + m[0].length; i++)
106
- mask[i] = true;
107
- }
108
- markRanges(extractors.URL_RE);
109
- markRanges(extractors.PATH_RE);
110
- markRanges(extractors.DATE_RE);
111
- markRanges(extractors.VERSION_RE);
112
- // Now scan the mask to build contiguous segments.
113
- let i = 0;
114
- while (i < input.length) {
115
- const isProtected = mask[i];
116
- let j = i;
117
- while (j < input.length && mask[j] === isProtected)
118
- j++;
119
- segments.push({ protected: isProtected, text: input.slice(i, j) });
120
- i = j;
121
- }
122
- return segments;
123
- }
124
- // ── Prose rewriter ────────────────────────────────────────────────────
125
- function stripFillerWord(text, word) {
126
- // Remove ", just," / " just " / " just." patterns but preserve
127
- // sentence boundaries. Matches word only when surrounded by word
128
- // boundaries and whitespace, not at the start of a capitalized
129
- // sentence (where removal changes meaning more aggressively).
130
- const pattern = new RegExp(`(?<=\\s|^)${word}\\s+(?=[a-zA-Z])`, 'gi');
131
- return text.replace(pattern, '');
132
- }
133
- function compressProse(prose) {
134
- let out = prose;
135
- // 1. Strip leading pleasantries.
136
- for (const re of PLEASANTRY_PREFIXES) {
137
- out = out.replace(re, '');
138
- }
139
- // 2. Remove hedging phrases.
140
- for (const re of HEDGING_PATTERNS) {
141
- out = out.replace(re, '');
142
- }
143
- // 3. Apply phrase replacements.
144
- for (const [re, repl] of PHRASE_REPLACEMENTS) {
145
- out = out.replace(re, repl);
146
- }
147
- // 4. Remove filler words (as standalone mid-sentence tokens).
148
- for (const word of FILLER_WORDS) {
149
- out = stripFillerWord(out, word);
150
- }
151
- // 5. Normalize whitespace artifacts introduced by deletions.
152
- out = out
153
- .replace(/\s+([,.;:!?])/g, '$1') // collapse space-before-punct
154
- .replace(/[ \t]{2,}/g, ' ') // collapse multiple spaces
155
- .replace(/\n[ \t]+\n/g, '\n\n'); // trim trailing whitespace on blank lines
156
- return out;
157
- }
158
- /**
159
- * Compress `input` using the deterministic rewriter. Returns the
160
- * compressed output along with the validation result and retry count.
161
- *
162
- * The retry loop is defensive: on this conservative algorithm we
163
- * should never produce a validation failure (we only touch prose
164
- * segments), so a failure means either (a) a prose segment
165
- * contained a protected pattern we missed, or (b) an unusual edge
166
- * case in the splitter. Retries progressively disable classes of
167
- * transformations to preserve as much safety as possible.
168
- */
169
- export function compress(input, options = {}) {
170
- const maxRetries = options.maxRetries ?? 2;
171
- let retries = 0;
172
- let output = applyCompression(input, {
173
- pleasantries: true,
174
- hedging: true,
175
- phraseReplacements: true,
176
- fillerWords: true,
177
- });
178
- let validation = validate(input, output);
179
- while (!validation.ok && retries < maxRetries) {
180
- retries++;
181
- // On retry 1 → disable filler words (most aggressive class).
182
- // On retry 2 → also disable hedging.
183
- // If still failing, fall through and return the failure state.
184
- output = applyCompression(input, {
185
- pleasantries: true,
186
- hedging: retries < 2,
187
- phraseReplacements: true,
188
- fillerWords: false,
189
- });
190
- validation = validate(input, output);
191
- }
192
- return { output, retries, validation };
193
- }
194
- function applyCompression(input, enabled) {
195
- const segs = segment(input);
196
- const pieces = [];
197
- for (const s of segs) {
198
- if (s.protected) {
199
- // Protected segments MUST pass through byte-identically.
200
- // No whitespace normalization, no substitutions.
201
- pieces.push(s.text);
202
- continue;
203
- }
204
- let rewritten = s.text;
205
- if (enabled.pleasantries) {
206
- for (const re of PLEASANTRY_PREFIXES)
207
- rewritten = rewritten.replace(re, '');
208
- }
209
- if (enabled.hedging) {
210
- for (const re of HEDGING_PATTERNS)
211
- rewritten = rewritten.replace(re, '');
212
- }
213
- if (enabled.phraseReplacements) {
214
- for (const [re, repl] of PHRASE_REPLACEMENTS)
215
- rewritten = rewritten.replace(re, repl);
216
- }
217
- if (enabled.fillerWords) {
218
- for (const word of FILLER_WORDS)
219
- rewritten = stripFillerWord(rewritten, word);
220
- }
221
- // Whitespace normalization INSIDE prose segments only. Keep
222
- // inter-paragraph blank lines (don't collapse \n\n → \n).
223
- rewritten = rewritten.replace(/ +([,.;:!?])/g, '$1').replace(/[ \t]{2,}/g, ' ');
224
- pieces.push(rewritten);
225
- }
226
- return pieces.join('');
227
- }
228
- /**
229
- * Exported for tests.
230
- */
231
- export const __test__ = { compressProse, segment };
232
- //# sourceMappingURL=compressor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../../src/core/compress/compressor.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Discover candidate markdown memory files in a project.
3
- *
4
- * Caveman-compress is advertised as a tool for the files the model
5
- * READS on every session, so this helper surfaces the same class of
6
- * files: project-root memory markdown (`CLAUDE.md`, `AGENTS.md`,
7
- * `AGENTS.override.md`) plus long-lived `.rulebook/` notes and
8
- * knowledge/learning entries.
9
- */
10
- export interface Candidate {
11
- relPath: string;
12
- absPath: string;
13
- bytes: number;
14
- hasBackup: boolean;
15
- backupBytes?: number;
16
- backupRatio?: number;
17
- }
18
- export declare function listCompressCandidates(projectRoot: string): Promise<Candidate[]>;
19
- //# sourceMappingURL=discover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/core/compress/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0CD,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAmDtF"}
@@ -1,100 +0,0 @@
1
- /**
2
- * Discover candidate markdown memory files in a project.
3
- *
4
- * Caveman-compress is advertised as a tool for the files the model
5
- * READS on every session, so this helper surfaces the same class of
6
- * files: project-root memory markdown (`CLAUDE.md`, `AGENTS.md`,
7
- * `AGENTS.override.md`) plus long-lived `.rulebook/` notes and
8
- * knowledge/learning entries.
9
- */
10
- import { readdir, stat } from 'node:fs/promises';
11
- import { join } from 'node:path';
12
- const ROOT_FILE_GLOB = ['CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', 'AGENTS.override.md'];
13
- const RULEBOOK_SUBPATHS = [
14
- '.rulebook/PLANS.md',
15
- '.rulebook/STATE.md',
16
- '.rulebook/knowledge',
17
- '.rulebook/learnings',
18
- ];
19
- async function safeStat(path) {
20
- try {
21
- const s = await stat(path);
22
- return { exists: true, size: s.size };
23
- }
24
- catch {
25
- return { exists: false, size: 0 };
26
- }
27
- }
28
- function backupPathFor(filePath) {
29
- return filePath.replace(/\.md$/i, '.original.md');
30
- }
31
- async function walkMarkdown(dir, out) {
32
- let entries;
33
- try {
34
- entries = await readdir(dir, { withFileTypes: true });
35
- }
36
- catch {
37
- return;
38
- }
39
- for (const e of entries) {
40
- if (e.name.startsWith('.'))
41
- continue;
42
- const full = join(dir, e.name);
43
- if (e.isDirectory()) {
44
- await walkMarkdown(full, out);
45
- }
46
- else if (e.name.endsWith('.md') && !e.name.endsWith('.original.md')) {
47
- out.push(full);
48
- }
49
- }
50
- }
51
- export async function listCompressCandidates(projectRoot) {
52
- const found = [];
53
- for (const name of ROOT_FILE_GLOB) {
54
- const p = join(projectRoot, name);
55
- if ((await safeStat(p)).exists)
56
- found.push(p);
57
- }
58
- for (const sub of RULEBOOK_SUBPATHS) {
59
- const p = join(projectRoot, sub);
60
- const s = await safeStat(p);
61
- if (!s.exists)
62
- continue;
63
- try {
64
- const statRes = await stat(p);
65
- if (statRes.isDirectory()) {
66
- await walkMarkdown(p, found);
67
- }
68
- else {
69
- found.push(p);
70
- }
71
- }
72
- catch {
73
- /* ignore */
74
- }
75
- }
76
- const candidates = [];
77
- for (const abs of found) {
78
- const fileStat = await safeStat(abs);
79
- const backupPath = backupPathFor(abs);
80
- const backupStat = await safeStat(backupPath);
81
- const relPath = abs.startsWith(projectRoot)
82
- ? abs.slice(projectRoot.length).replace(/^[\\/]/, '')
83
- : abs;
84
- const candidate = {
85
- relPath,
86
- absPath: abs,
87
- bytes: fileStat.size,
88
- hasBackup: backupStat.exists,
89
- };
90
- if (backupStat.exists && backupStat.size > 0) {
91
- candidate.backupBytes = backupStat.size;
92
- candidate.backupRatio = fileStat.size / backupStat.size;
93
- }
94
- candidates.push(candidate);
95
- }
96
- // Sort by largest first so the caller sees the biggest win targets.
97
- candidates.sort((a, b) => b.bytes - a.bytes);
98
- return candidates;
99
- }
100
- //# sourceMappingURL=discover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/core/compress/discover.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Validator for `rulebook compress`.
3
- *
4
- * The compressor may only rewrite prose. Everything that carries
5
- * technical substance MUST round-trip byte-identically between the
6
- * original file and the compressed output. This module defines the
7
- * protected-region extractors and the diff-checker that compares
8
- * them.
9
- *
10
- * Grounded in `.rulebook/specs/RULEBOOK_TERSE.md` §Compression
11
- * companion and `docs/analysis/caveman/02-skill-design.md`.
12
- */
13
- export type ViolationKind = 'heading-missing' | 'heading-text-changed' | 'fenced-code-changed' | 'inline-code-changed' | 'url-changed' | 'path-changed' | 'command-changed' | 'date-changed' | 'version-changed';
14
- export interface Violation {
15
- kind: ViolationKind;
16
- detail: string;
17
- }
18
- export interface ValidationResult {
19
- ok: boolean;
20
- violations: Violation[];
21
- stats: {
22
- originalBytes: number;
23
- compressedBytes: number;
24
- ratio: number;
25
- };
26
- }
27
- /** Extract atomic markdown heading entries as "level\ttext" strings. */
28
- declare function extractHeadings(source: string): string[];
29
- /** Extract inline-code bodies (the text inside backticks). */
30
- declare function extractInlineCode(source: string): string[];
31
- export declare function validate(original: string, compressed: string): ValidationResult;
32
- /**
33
- * Exposed for tests and the compressor's retry logic.
34
- */
35
- export declare const extractors: {
36
- FENCED_CODE_RE: RegExp;
37
- INLINE_CODE_RE: RegExp;
38
- URL_RE: RegExp;
39
- DATE_RE: RegExp;
40
- VERSION_RE: RegExp;
41
- HEADING_RE: RegExp;
42
- PATH_RE: RegExp;
43
- extractHeadings: typeof extractHeadings;
44
- extractInlineCode: typeof extractInlineCode;
45
- };
46
- export {};
47
- //# sourceMappingURL=validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/core/compress/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AA8BD,wEAAwE;AACxE,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAKjD;AAED,8DAA8D;AAC9D,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAOnD;AAsCD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAoD/E;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC"}
@@ -1,131 +0,0 @@
1
- /**
2
- * Validator for `rulebook compress`.
3
- *
4
- * The compressor may only rewrite prose. Everything that carries
5
- * technical substance MUST round-trip byte-identically between the
6
- * original file and the compressed output. This module defines the
7
- * protected-region extractors and the diff-checker that compares
8
- * them.
9
- *
10
- * Grounded in `.rulebook/specs/RULEBOOK_TERSE.md` §Compression
11
- * companion and `docs/analysis/caveman/02-skill-design.md`.
12
- */
13
- // ── Regex patterns — all non-greedy, multiline where needed ───────────
14
- const FENCED_CODE_RE = /```[\s\S]*?```/g;
15
- const INLINE_CODE_RE = /(?<!`)`([^`\n]+)`(?!`)/g;
16
- // URL must not consume trailing sentence-ending punctuation (. , ; : ! ?).
17
- const URL_RE = /\bhttps?:\/\/[^\s)>\]"'`]*[^\s)>\]"'`.,;:!?]/g;
18
- const DATE_RE = /\b\d{4}-\d{2}-\d{2}\b/g;
19
- // Version numbers: optional `v`, then X.Y or X.Y.Z(-suffix).
20
- const VERSION_RE = /\bv?\d+\.\d+(?:\.\d+)?(?:-[\w.]+)?\b/g;
21
- // ATX-style markdown headings.
22
- const HEADING_RE = /^(#{1,6})\s+(.+?)\s*$/gm;
23
- // File paths. Three alternatives:
24
- // relative: `./foo/bar` or `../baz`
25
- // Windows : `C:\Users\...`
26
- // absolute Unix: `/usr/local/bin/node` — requires start-of-line or whitespace/paren prefix.
27
- const PATH_RE = /(?:\.{1,2}\/[\w./\\-]+|[A-Za-z]:\\[\w./\\-]+|(?<=^|[\s(])\/[a-zA-Z][\w./\\-]+)/gm;
28
- function normalize(arr) {
29
- return arr.slice().sort();
30
- }
31
- function extract(source, re) {
32
- const out = [];
33
- const matches = source.matchAll(re);
34
- for (const m of matches)
35
- out.push(m[0]);
36
- return out;
37
- }
38
- /** Extract atomic markdown heading entries as "level\ttext" strings. */
39
- function extractHeadings(source) {
40
- const out = [];
41
- const matches = source.matchAll(HEADING_RE);
42
- for (const m of matches)
43
- out.push(`${m[1].length}\t${m[2]}`);
44
- return out;
45
- }
46
- /** Extract inline-code bodies (the text inside backticks). */
47
- function extractInlineCode(source) {
48
- const out = [];
49
- // Strip fenced blocks first so we don't double-count code inside ```.
50
- const scrubbed = source.replace(FENCED_CODE_RE, '');
51
- const matches = scrubbed.matchAll(INLINE_CODE_RE);
52
- for (const m of matches)
53
- out.push(m[1]);
54
- return out;
55
- }
56
- function diff(label, original, compressed) {
57
- const violations = [];
58
- const normalOrig = normalize(original);
59
- const normalComp = normalize(compressed);
60
- // Everything in original must appear in compressed, same count.
61
- const compCount = new Map();
62
- for (const v of normalComp)
63
- compCount.set(v, (compCount.get(v) ?? 0) + 1);
64
- for (const v of normalOrig) {
65
- const n = compCount.get(v) ?? 0;
66
- if (n === 0) {
67
- violations.push({
68
- kind: label,
69
- detail: `missing from compressed output: ${JSON.stringify(v).slice(0, 120)}`,
70
- });
71
- }
72
- else {
73
- compCount.set(v, n - 1);
74
- }
75
- }
76
- // Anything LEFT in compCount that came from compressed but wasn't in
77
- // original means the compressor introduced a new protected item (for
78
- // example by mistranscribing a URL). That is also a violation.
79
- for (const [v, n] of compCount) {
80
- if (n > 0) {
81
- violations.push({
82
- kind: label,
83
- detail: `introduced in compressed output: ${JSON.stringify(v).slice(0, 120)}`,
84
- });
85
- }
86
- }
87
- return violations;
88
- }
89
- export function validate(original, compressed) {
90
- const violations = [];
91
- // Heading structure (level + text) must match exactly.
92
- violations.push(...diff('heading-missing', extractHeadings(original), extractHeadings(compressed)));
93
- // Fenced code blocks — byte-for-byte, ordered.
94
- violations.push(...diff('fenced-code-changed', extract(original, FENCED_CODE_RE), extract(compressed, FENCED_CODE_RE)));
95
- // Inline code bodies.
96
- violations.push(...diff('inline-code-changed', extractInlineCode(original), extractInlineCode(compressed)));
97
- // URLs.
98
- violations.push(...diff('url-changed', extract(original, URL_RE), extract(compressed, URL_RE)));
99
- // File paths.
100
- violations.push(...diff('path-changed', extract(original, PATH_RE), extract(compressed, PATH_RE)));
101
- // Dates.
102
- violations.push(...diff('date-changed', extract(original, DATE_RE), extract(compressed, DATE_RE)));
103
- // Version numbers.
104
- violations.push(...diff('version-changed', extract(original, VERSION_RE), extract(compressed, VERSION_RE)));
105
- const originalBytes = Buffer.byteLength(original, 'utf8');
106
- const compressedBytes = Buffer.byteLength(compressed, 'utf8');
107
- return {
108
- ok: violations.length === 0,
109
- violations,
110
- stats: {
111
- originalBytes,
112
- compressedBytes,
113
- ratio: originalBytes > 0 ? compressedBytes / originalBytes : 1,
114
- },
115
- };
116
- }
117
- /**
118
- * Exposed for tests and the compressor's retry logic.
119
- */
120
- export const extractors = {
121
- FENCED_CODE_RE,
122
- INLINE_CODE_RE,
123
- URL_RE,
124
- DATE_RE,
125
- VERSION_RE,
126
- HEADING_RE,
127
- PATH_RE,
128
- extractHeadings,
129
- extractInlineCode,
130
- };
131
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/core/compress/validator.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import type { RulebookConfig } from '../types.js';
2
- export declare class ConfigManager {
3
- private configPath;
4
- private configDir;
5
- private projectRoot;
6
- private config;
7
- constructor(projectRoot: string);
8
- /**
9
- * Load configuration from .rulebook/rulebook.json file
10
- */
11
- loadConfig(): Promise<RulebookConfig>;
12
- /**
13
- * Save configuration to .rulebook/rulebook.json file
14
- */
15
- saveConfig(config: RulebookConfig): Promise<void>;
16
- /**
17
- * Migrate old .rulebook file to new .rulebook/rulebook.json structure
18
- */
19
- private migrateOldRulebookFile;
20
- /**
21
- * Initialize new configuration with defaults
22
- */
23
- initializeConfig(): Promise<RulebookConfig>;
24
- /**
25
- * Migrate configuration from older versions
26
- */
27
- migrateConfig(config: RulebookConfig): Promise<RulebookConfig>;
28
- /**
29
- * Update specific configuration values
30
- */
31
- updateConfig(updates: Partial<RulebookConfig>): Promise<RulebookConfig>;
32
- /**
33
- * Enable or disable a feature
34
- */
35
- toggleFeature(feature: keyof RulebookConfig['features'], enabled: boolean): Promise<RulebookConfig>;
36
- /**
37
- * Detect available CLI tools
38
- */
39
- detectCLITools(): Promise<string[]>;
40
- /**
41
- * Update detected CLI tools in config
42
- */
43
- updateCLITools(): Promise<RulebookConfig>;
44
- /**
45
- * Get configuration value
46
- */
47
- getConfigValue<K extends keyof RulebookConfig>(key: K): Promise<RulebookConfig[K]>;
48
- /**
49
- * Check if feature is enabled
50
- */
51
- isFeatureEnabled(feature: keyof RulebookConfig['features']): Promise<boolean>;
52
- /**
53
- * Get configuration summary
54
- */
55
- getConfigSummary(): Promise<{
56
- version: string;
57
- projectId: string;
58
- enabledFeatures: string[];
59
- coverageThreshold: number;
60
- cliTools: string[];
61
- }>;
62
- /**
63
- * Migrate old rulebook/ directory into .rulebook/
64
- * Moves rulebook/specs/ → .rulebook/specs/ and rulebook/tasks/ → .rulebook/tasks/
65
- * Then removes the now-empty rulebook/ directory
66
- */
67
- migrateRulebookDirectory(): Promise<void>;
68
- /**
69
- * Migrate old directory structure to new consolidated structure
70
- * Moves .rulebook-memory/ to .rulebook/memory/ and .rulebook-ralph/ to .rulebook/ralph/
71
- */
72
- migrateDirectoryStructure(projectRoot: string): Promise<void>;
73
- /**
74
- * Ensure .gitignore has .rulebook entries with specs/ and tasks/ exceptions
75
- */
76
- ensureGitignore(): Promise<void>;
77
- }
78
- /**
79
- * Create a new ConfigManager instance
80
- */
81
- export declare function createConfigManager(projectRoot: string): ConfigManager;
82
- /**
83
- * Get default configuration
84
- */
85
- export declare function getDefaultConfig(): RulebookConfig;
86
- //# sourceMappingURL=config-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAmBlD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,WAAW,EAAE,MAAM;IAM/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IA8B3C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD;;OAEG;YACW,sBAAsB;IAiCpC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAgFjD;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAoGpE;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7E;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC,EACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC;IAc1B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBzC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAK/C;;OAEG;IACG,cAAc,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKxF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAgBF;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD/C;;;OAGG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFnE;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CA6DvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAwCjD"}