@hivehub/rulebook 5.7.0 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) 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 +9 -0
  33. package/dist/core/claude/claude-mcp.d.ts.map +1 -1
  34. package/dist/core/claude/claude-mcp.js +30 -0
  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 +1 -0
  49. package/dist/core/generators/generator.d.ts.map +1 -1
  50. package/dist/core/generators/generator.js +37 -0
  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 +215 -0
  89. package/templates/agents/quality-gatekeeper.md +205 -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 +118 -0
  106. package/templates/claude-workflows/rulebook-driver.js +343 -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/dist/agents/ralph-parser.d.ts +0 -91
  349. package/dist/agents/ralph-parser.d.ts.map +0 -1
  350. package/dist/agents/ralph-parser.js +0 -415
  351. package/dist/agents/ralph-parser.js.map +0 -1
  352. package/dist/cli/commands/analysis.d.ts +0 -8
  353. package/dist/cli/commands/analysis.d.ts.map +0 -1
  354. package/dist/cli/commands/analysis.js +0 -78
  355. package/dist/cli/commands/analysis.js.map +0 -1
  356. package/dist/cli/commands/compress.d.ts +0 -18
  357. package/dist/cli/commands/compress.d.ts.map +0 -1
  358. package/dist/cli/commands/compress.js +0 -100
  359. package/dist/cli/commands/compress.js.map +0 -1
  360. package/dist/cli/commands/ralph.d.ts +0 -45
  361. package/dist/cli/commands/ralph.d.ts.map +0 -1
  362. package/dist/cli/commands/ralph.js +0 -694
  363. package/dist/cli/commands/ralph.js.map +0 -1
  364. package/dist/cli/docs-prompts.d.ts +0 -3
  365. package/dist/cli/docs-prompts.d.ts.map +0 -1
  366. package/dist/cli/docs-prompts.js +0 -45
  367. package/dist/cli/docs-prompts.js.map +0 -1
  368. package/dist/core/agent-manager.d.ts +0 -69
  369. package/dist/core/agent-manager.d.ts.map +0 -1
  370. package/dist/core/agent-manager.js +0 -476
  371. package/dist/core/agent-manager.js.map +0 -1
  372. package/dist/core/agent-template-engine.d.ts +0 -51
  373. package/dist/core/agent-template-engine.d.ts.map +0 -1
  374. package/dist/core/agent-template-engine.js +0 -291
  375. package/dist/core/agent-template-engine.js.map +0 -1
  376. package/dist/core/analysis-manager.d.ts +0 -56
  377. package/dist/core/analysis-manager.d.ts.map +0 -1
  378. package/dist/core/analysis-manager.js +0 -218
  379. package/dist/core/analysis-manager.js.map +0 -1
  380. package/dist/core/auto-fixer.d.ts +0 -14
  381. package/dist/core/auto-fixer.d.ts.map +0 -1
  382. package/dist/core/auto-fixer.js +0 -207
  383. package/dist/core/auto-fixer.js.map +0 -1
  384. package/dist/core/changelog-generator.d.ts +0 -44
  385. package/dist/core/changelog-generator.d.ts.map +0 -1
  386. package/dist/core/changelog-generator.js +0 -222
  387. package/dist/core/changelog-generator.js.map +0 -1
  388. package/dist/core/claude-mcp.d.ts +0 -59
  389. package/dist/core/claude-mcp.d.ts.map +0 -1
  390. package/dist/core/claude-mcp.js +0 -220
  391. package/dist/core/claude-mcp.js.map +0 -1
  392. package/dist/core/claude-md-generator.d.ts +0 -52
  393. package/dist/core/claude-md-generator.d.ts.map +0 -1
  394. package/dist/core/claude-md-generator.js +0 -104
  395. package/dist/core/claude-md-generator.js.map +0 -1
  396. package/dist/core/claude-settings-manager.d.ts +0 -44
  397. package/dist/core/claude-settings-manager.d.ts.map +0 -1
  398. package/dist/core/claude-settings-manager.js +0 -191
  399. package/dist/core/claude-settings-manager.js.map +0 -1
  400. package/dist/core/cli-bridge.d.ts +0 -113
  401. package/dist/core/cli-bridge.d.ts.map +0 -1
  402. package/dist/core/cli-bridge.js +0 -1094
  403. package/dist/core/cli-bridge.js.map +0 -1
  404. package/dist/core/compact-context-manager.d.ts +0 -34
  405. package/dist/core/compact-context-manager.d.ts.map +0 -1
  406. package/dist/core/compact-context-manager.js +0 -60
  407. package/dist/core/compact-context-manager.js.map +0 -1
  408. package/dist/core/complexity-detector.d.ts +0 -36
  409. package/dist/core/complexity-detector.d.ts.map +0 -1
  410. package/dist/core/complexity-detector.js +0 -334
  411. package/dist/core/complexity-detector.js.map +0 -1
  412. package/dist/core/compress/compressor.d.ts +0 -60
  413. package/dist/core/compress/compressor.d.ts.map +0 -1
  414. package/dist/core/compress/compressor.js +0 -232
  415. package/dist/core/compress/compressor.js.map +0 -1
  416. package/dist/core/compress/discover.d.ts +0 -19
  417. package/dist/core/compress/discover.d.ts.map +0 -1
  418. package/dist/core/compress/discover.js +0 -100
  419. package/dist/core/compress/discover.js.map +0 -1
  420. package/dist/core/compress/validator.d.ts +0 -47
  421. package/dist/core/compress/validator.d.ts.map +0 -1
  422. package/dist/core/compress/validator.js +0 -131
  423. package/dist/core/compress/validator.js.map +0 -1
  424. package/dist/core/config-manager.d.ts +0 -86
  425. package/dist/core/config-manager.d.ts.map +0 -1
  426. package/dist/core/config-manager.js +0 -621
  427. package/dist/core/config-manager.js.map +0 -1
  428. package/dist/core/coverage-checker.d.ts +0 -14
  429. package/dist/core/coverage-checker.d.ts.map +0 -1
  430. package/dist/core/coverage-checker.js +0 -176
  431. package/dist/core/coverage-checker.js.map +0 -1
  432. package/dist/core/cursor-mdc-generator.d.ts +0 -30
  433. package/dist/core/cursor-mdc-generator.d.ts.map +0 -1
  434. package/dist/core/cursor-mdc-generator.js +0 -98
  435. package/dist/core/cursor-mdc-generator.js.map +0 -1
  436. package/dist/core/decision-manager.d.ts +0 -25
  437. package/dist/core/decision-manager.d.ts.map +0 -1
  438. package/dist/core/decision-manager.js +0 -183
  439. package/dist/core/decision-manager.js.map +0 -1
  440. package/dist/core/dependency-checker.d.ts +0 -21
  441. package/dist/core/dependency-checker.d.ts.map +0 -1
  442. package/dist/core/dependency-checker.js +0 -247
  443. package/dist/core/dependency-checker.js.map +0 -1
  444. package/dist/core/detector.d.ts +0 -27
  445. package/dist/core/detector.d.ts.map +0 -1
  446. package/dist/core/detector.js +0 -1763
  447. package/dist/core/detector.js.map +0 -1
  448. package/dist/core/docs-generator.d.ts +0 -9
  449. package/dist/core/docs-generator.d.ts.map +0 -1
  450. package/dist/core/docs-generator.js +0 -531
  451. package/dist/core/docs-generator.js.map +0 -1
  452. package/dist/core/doctor.d.ts +0 -19
  453. package/dist/core/doctor.d.ts.map +0 -1
  454. package/dist/core/doctor.js +0 -229
  455. package/dist/core/doctor.js.map +0 -1
  456. package/dist/core/generator.d.ts +0 -56
  457. package/dist/core/generator.d.ts.map +0 -1
  458. package/dist/core/generator.js +0 -1193
  459. package/dist/core/generator.js.map +0 -1
  460. package/dist/core/github-issues-importer.d.ts +0 -82
  461. package/dist/core/github-issues-importer.d.ts.map +0 -1
  462. package/dist/core/github-issues-importer.js +0 -161
  463. package/dist/core/github-issues-importer.js.map +0 -1
  464. package/dist/core/gitignore-generator.d.ts +0 -13
  465. package/dist/core/gitignore-generator.d.ts.map +0 -1
  466. package/dist/core/gitignore-generator.js +0 -307
  467. package/dist/core/gitignore-generator.js.map +0 -1
  468. package/dist/core/health-scorer.d.ts +0 -61
  469. package/dist/core/health-scorer.d.ts.map +0 -1
  470. package/dist/core/health-scorer.js +0 -638
  471. package/dist/core/health-scorer.js.map +0 -1
  472. package/dist/core/iteration-tracker.d.ts +0 -85
  473. package/dist/core/iteration-tracker.d.ts.map +0 -1
  474. package/dist/core/iteration-tracker.js +0 -295
  475. package/dist/core/iteration-tracker.js.map +0 -1
  476. package/dist/core/knowledge-manager.d.ts +0 -24
  477. package/dist/core/knowledge-manager.d.ts.map +0 -1
  478. package/dist/core/knowledge-manager.js +0 -173
  479. package/dist/core/knowledge-manager.js.map +0 -1
  480. package/dist/core/learn-manager.d.ts +0 -29
  481. package/dist/core/learn-manager.d.ts.map +0 -1
  482. package/dist/core/learn-manager.js +0 -159
  483. package/dist/core/learn-manager.js.map +0 -1
  484. package/dist/core/mcp-reference-generator.d.ts +0 -13
  485. package/dist/core/mcp-reference-generator.d.ts.map +0 -1
  486. package/dist/core/mcp-reference-generator.js +0 -66
  487. package/dist/core/mcp-reference-generator.js.map +0 -1
  488. package/dist/core/minimal-scaffolder.d.ts +0 -8
  489. package/dist/core/minimal-scaffolder.d.ts.map +0 -1
  490. package/dist/core/minimal-scaffolder.js +0 -51
  491. package/dist/core/minimal-scaffolder.js.map +0 -1
  492. package/dist/core/modern-console.d.ts +0 -98
  493. package/dist/core/modern-console.d.ts.map +0 -1
  494. package/dist/core/modern-console.js +0 -556
  495. package/dist/core/modern-console.js.map +0 -1
  496. package/dist/core/multi-tool-generator.d.ts +0 -59
  497. package/dist/core/multi-tool-generator.d.ts.map +0 -1
  498. package/dist/core/multi-tool-generator.js +0 -157
  499. package/dist/core/multi-tool-generator.js.map +0 -1
  500. package/dist/core/override-manager.d.ts +0 -23
  501. package/dist/core/override-manager.d.ts.map +0 -1
  502. package/dist/core/override-manager.js +0 -82
  503. package/dist/core/override-manager.js.map +0 -1
  504. package/dist/core/plans-manager.d.ts +0 -46
  505. package/dist/core/plans-manager.d.ts.map +0 -1
  506. package/dist/core/plans-manager.js +0 -158
  507. package/dist/core/plans-manager.js.map +0 -1
  508. package/dist/core/prd-generator.d.ts +0 -48
  509. package/dist/core/prd-generator.d.ts.map +0 -1
  510. package/dist/core/prd-generator.js +0 -233
  511. package/dist/core/prd-generator.js.map +0 -1
  512. package/dist/core/ralph-manager.d.ts +0 -163
  513. package/dist/core/ralph-manager.d.ts.map +0 -1
  514. package/dist/core/ralph-manager.js +0 -555
  515. package/dist/core/ralph-manager.js.map +0 -1
  516. package/dist/core/ralph-parallel.d.ts +0 -55
  517. package/dist/core/ralph-parallel.d.ts.map +0 -1
  518. package/dist/core/ralph-parallel.js +0 -201
  519. package/dist/core/ralph-parallel.js.map +0 -1
  520. package/dist/core/ralph-plan-checkpoint.d.ts +0 -58
  521. package/dist/core/ralph-plan-checkpoint.d.ts.map +0 -1
  522. package/dist/core/ralph-plan-checkpoint.js +0 -154
  523. package/dist/core/ralph-plan-checkpoint.js.map +0 -1
  524. package/dist/core/ralph-scripts.d.ts +0 -12
  525. package/dist/core/ralph-scripts.d.ts.map +0 -1
  526. package/dist/core/ralph-scripts.js +0 -50
  527. package/dist/core/ralph-scripts.js.map +0 -1
  528. package/dist/core/review-manager.d.ts +0 -74
  529. package/dist/core/review-manager.d.ts.map +0 -1
  530. package/dist/core/review-manager.js +0 -371
  531. package/dist/core/review-manager.js.map +0 -1
  532. package/dist/core/rules-generator.d.ts +0 -73
  533. package/dist/core/rules-generator.d.ts.map +0 -1
  534. package/dist/core/rules-generator.js +0 -202
  535. package/dist/core/rules-generator.js.map +0 -1
  536. package/dist/core/skills-manager.d.ts +0 -126
  537. package/dist/core/skills-manager.d.ts.map +0 -1
  538. package/dist/core/skills-manager.js +0 -654
  539. package/dist/core/skills-manager.js.map +0 -1
  540. package/dist/core/state-writer.d.ts +0 -35
  541. package/dist/core/state-writer.d.ts.map +0 -1
  542. package/dist/core/state-writer.js +0 -81
  543. package/dist/core/state-writer.js.map +0 -1
  544. package/dist/core/task-manager.d.ts +0 -127
  545. package/dist/core/task-manager.d.ts.map +0 -1
  546. package/dist/core/task-manager.js +0 -607
  547. package/dist/core/task-manager.js.map +0 -1
  548. package/dist/core/telemetry.d.ts +0 -29
  549. package/dist/core/telemetry.d.ts.map +0 -1
  550. package/dist/core/telemetry.js +0 -57
  551. package/dist/core/telemetry.js.map +0 -1
  552. package/dist/core/validator.d.ts +0 -21
  553. package/dist/core/validator.d.ts.map +0 -1
  554. package/dist/core/validator.js +0 -177
  555. package/dist/core/validator.js.map +0 -1
  556. package/dist/core/version-bumper.d.ts +0 -19
  557. package/dist/core/version-bumper.d.ts.map +0 -1
  558. package/dist/core/version-bumper.js +0 -180
  559. package/dist/core/version-bumper.js.map +0 -1
  560. package/dist/core/watcher.d.ts +0 -9
  561. package/dist/core/watcher.d.ts.map +0 -1
  562. package/dist/core/watcher.js +0 -22
  563. package/dist/core/watcher.js.map +0 -1
  564. package/dist/core/workflow-generator.d.ts +0 -15
  565. package/dist/core/workflow-generator.d.ts.map +0 -1
  566. package/dist/core/workflow-generator.js +0 -391
  567. package/dist/core/workflow-generator.js.map +0 -1
  568. package/dist/hooks/terse-activate.d.ts +0 -59
  569. package/dist/hooks/terse-activate.d.ts.map +0 -1
  570. package/dist/hooks/terse-activate.js +0 -149
  571. package/dist/hooks/terse-activate.js.map +0 -1
  572. package/dist/hooks/terse-config.d.ts +0 -51
  573. package/dist/hooks/terse-config.d.ts.map +0 -1
  574. package/dist/hooks/terse-config.js +0 -130
  575. package/dist/hooks/terse-config.js.map +0 -1
  576. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  577. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  578. package/dist/hooks/terse-mode-tracker.js +0 -213
  579. package/dist/hooks/terse-mode-tracker.js.map +0 -1
  580. package/dist/memory/hnsw-index.d.ts +0 -68
  581. package/dist/memory/hnsw-index.d.ts.map +0 -1
  582. package/dist/memory/hnsw-index.js +0 -544
  583. package/dist/memory/hnsw-index.js.map +0 -1
  584. package/dist/memory/memory-cache.d.ts +0 -33
  585. package/dist/memory/memory-cache.d.ts.map +0 -1
  586. package/dist/memory/memory-cache.js +0 -85
  587. package/dist/memory/memory-cache.js.map +0 -1
  588. package/dist/memory/memory-search.d.ts +0 -42
  589. package/dist/memory/memory-search.d.ts.map +0 -1
  590. package/dist/memory/memory-search.js +0 -180
  591. package/dist/memory/memory-search.js.map +0 -1
  592. package/dist/memory/memory-store.d.ts +0 -84
  593. package/dist/memory/memory-store.d.ts.map +0 -1
  594. package/dist/memory/memory-store.js +0 -566
  595. package/dist/memory/memory-store.js.map +0 -1
  596. package/dist/memory/memory-vectorizer.d.ts +0 -29
  597. package/dist/memory/memory-vectorizer.d.ts.map +0 -1
  598. package/dist/memory/memory-vectorizer.js +0 -199
  599. package/dist/memory/memory-vectorizer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/cli/commands/ralph.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { DocsConfig } from '../core/docs-generator.js';
2
- export declare function promptDocsConfig(): Promise<DocsConfig>;
3
- //# sourceMappingURL=docs-prompts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs-prompts.d.ts","sourceRoot":"","sources":["../../src/cli/docs-prompts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0C5D"}
@@ -1,45 +0,0 @@
1
- import inquirer from 'inquirer';
2
- import path from 'path';
3
- export async function promptDocsConfig() {
4
- const answers = await inquirer.prompt([
5
- {
6
- type: 'input',
7
- name: 'projectName',
8
- message: 'Project name:',
9
- default: process.cwd().split(path.sep).pop() || 'my-project',
10
- validate: (value) => {
11
- if (!value.trim()) {
12
- return 'Project name is required';
13
- }
14
- return true;
15
- },
16
- },
17
- {
18
- type: 'input',
19
- name: 'description',
20
- message: 'Project description:',
21
- default: 'A modern software project',
22
- },
23
- {
24
- type: 'input',
25
- name: 'author',
26
- message: 'Author name:',
27
- default: 'Your Name',
28
- },
29
- {
30
- type: 'input',
31
- name: 'email',
32
- message: 'Contact email (optional):',
33
- default: '',
34
- },
35
- {
36
- type: 'list',
37
- name: 'license',
38
- message: 'License:',
39
- choices: ['MIT', 'Apache-2.0', 'GPL-3.0', 'BSD-3-Clause', 'ISC', 'Unlicense'],
40
- default: 'MIT',
41
- },
42
- ]);
43
- return answers;
44
- }
45
- //# sourceMappingURL=docs-prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs-prompts.js","sourceRoot":"","sources":["../../src/cli/docs-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY;YAC5D,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,OAAO,0BAA0B,CAAC;gBACpC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,2BAA2B;SACrC;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,WAAW;SACrB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,EAAE;SACZ;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,CAAC;YAC7E,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,OAAO,OAAqB,CAAC;AAC/B,CAAC"}
@@ -1,69 +0,0 @@
1
- export interface AgentTask {
2
- id: string;
3
- title: string;
4
- description: string;
5
- }
6
- export interface AgentOptions {
7
- dryRun?: boolean;
8
- tool?: string;
9
- maxIterations?: number;
10
- watchMode?: boolean;
11
- onLog?: (type: 'info' | 'success' | 'warning' | 'error' | 'tool', message: string) => void;
12
- onTaskStatusChange?: (taskId: string, status: string) => void;
13
- onTasksReloaded?: (tasks: AgentTask[]) => void;
14
- }
15
- export declare class AgentManager {
16
- private logger;
17
- private configManager;
18
- private cliBridge;
19
- private config;
20
- private isRunning;
21
- private currentTool?;
22
- private onLog?;
23
- private onTaskStatusChange?;
24
- private initializePromise?;
25
- private projectRoot;
26
- constructor(projectRoot: string);
27
- /**
28
- * Initialize agent manager (only once, thread-safe)
29
- */
30
- initialize(): Promise<void>;
31
- /**
32
- * Start autonomous agent workflow
33
- */
34
- startAgent(options?: AgentOptions): Promise<void>;
35
- /**
36
- * Detect and select CLI tool
37
- */
38
- selectCLITool(preferredTool?: string): Promise<string | null>;
39
- /**
40
- * Run main agent workflow loop
41
- */
42
- runAgentWorkflow(options: AgentOptions): Promise<void>;
43
- /**
44
- * Execute workflow for a single task
45
- */
46
- executeTaskWorkflow(task: AgentTask, options: AgentOptions): Promise<boolean>;
47
- private runQualityChecks;
48
- private runTests;
49
- private checkCoverage;
50
- /**
51
- * Run the security gate using npm audit (or other available tools).
52
- * Returns true if the gate passes, false if it fails.
53
- * If no tool is available, logs a warning and returns true (skip).
54
- */
55
- private runSecurityGate;
56
- private commitChanges;
57
- private startWatcherInBackground;
58
- private cleanup;
59
- stop(): Promise<void>;
60
- }
61
- /**
62
- * Create and start agent
63
- */
64
- export declare function startAgent(projectRoot: string, options?: AgentOptions): Promise<void>;
65
- /**
66
- * Create agent manager instance
67
- */
68
- export declare function createAgentManager(projectRoot: string): AgentManager;
69
- //# sourceMappingURL=agent-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/core/agent-manager.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAChD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAwB;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAqC;IAChE,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAO/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3D;;OAEG;IACG,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkDnE;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C5D;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YAiFrE,gBAAgB;YAkChB,QAAQ;YAWR,aAAa;IAqB3B;;;;OAIG;YACW,eAAe;YA8Hf,aAAa;IAS3B,OAAO,CAAC,wBAAwB;YAIlB,OAAO;IAUf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAEpE"}
@@ -1,476 +0,0 @@
1
- import chalk from 'chalk';
2
- import inquirer from 'inquirer';
3
- import { initializeLogger } from './logger.js';
4
- import { createConfigManager } from './config-manager.js';
5
- import { createCLIBridge } from './cli-bridge.js';
6
- import { RalphParser } from '../agents/ralph-parser.js';
7
- export class AgentManager {
8
- logger;
9
- configManager;
10
- cliBridge;
11
- config;
12
- isRunning = false;
13
- currentTool;
14
- onLog;
15
- onTaskStatusChange;
16
- initializePromise;
17
- projectRoot;
18
- constructor(projectRoot) {
19
- this.projectRoot = projectRoot;
20
- this.logger = initializeLogger(projectRoot);
21
- this.configManager = createConfigManager(projectRoot);
22
- this.config = {};
23
- }
24
- /**
25
- * Initialize agent manager (only once, thread-safe)
26
- */
27
- async initialize() {
28
- if (this.initializePromise) {
29
- if (this.cliBridge && this.onLog) {
30
- this.cliBridge.setLogCallback(this.onLog);
31
- }
32
- return this.initializePromise;
33
- }
34
- this.initializePromise = (async () => {
35
- try {
36
- this.config = await this.configManager.loadConfig();
37
- this.cliBridge = createCLIBridge(this.logger, this.config);
38
- if (this.onLog) {
39
- this.cliBridge.setLogCallback(this.onLog);
40
- }
41
- this.logger.info('Agent Manager initialized');
42
- }
43
- catch (error) {
44
- this.logger.error('Failed to initialize Agent Manager', { error: String(error) });
45
- this.initializePromise = undefined;
46
- throw error;
47
- }
48
- })();
49
- return this.initializePromise;
50
- }
51
- /**
52
- * Start autonomous agent workflow
53
- */
54
- async startAgent(options = {}) {
55
- try {
56
- this.onLog = options.onLog;
57
- this.onTaskStatusChange = options.onTaskStatusChange;
58
- await this.initialize();
59
- if (!this.onLog) {
60
- console.log(chalk.bold.blue('\n🤖 Rulebook Autonomous Agent\n'));
61
- }
62
- else {
63
- this.onLog('info', '🤖 Rulebook Autonomous Agent');
64
- }
65
- const selectedTool = await this.selectCLITool(options.tool);
66
- if (!selectedTool) {
67
- const msg = 'No CLI tool selected. Exiting.';
68
- if (this.onLog) {
69
- this.onLog('error', msg);
70
- }
71
- else {
72
- console.log(chalk.red(msg));
73
- }
74
- return;
75
- }
76
- this.currentTool = selectedTool;
77
- this.isRunning = true;
78
- if (options.watchMode) {
79
- this.startWatcherInBackground();
80
- }
81
- await this.runAgentWorkflow(options);
82
- }
83
- catch (error) {
84
- this.logger.error('Agent failed', { error: String(error) });
85
- const msg = `❌ Agent failed: ${error}`;
86
- if (this.onLog) {
87
- this.onLog('error', msg);
88
- }
89
- else {
90
- console.error(chalk.red('\n' + msg));
91
- }
92
- }
93
- finally {
94
- await this.cleanup();
95
- }
96
- }
97
- /**
98
- * Detect and select CLI tool
99
- */
100
- async selectCLITool(preferredTool) {
101
- const availableTools = await this.cliBridge.detectCLITools();
102
- if (availableTools.length === 0) {
103
- const msg = 'No CLI tools detected. Please install cursor-agent, claude-code, or gemini-cli.';
104
- if (this.onLog) {
105
- this.onLog('error', msg);
106
- }
107
- else {
108
- console.log(chalk.red(msg));
109
- }
110
- return null;
111
- }
112
- if (preferredTool && availableTools.some((tool) => tool.name === preferredTool)) {
113
- const msg = `Using preferred tool: ${preferredTool}`;
114
- if (this.onLog) {
115
- this.onLog('info', msg);
116
- }
117
- else {
118
- console.log(chalk.green(msg));
119
- }
120
- return preferredTool;
121
- }
122
- if (availableTools.length === 1) {
123
- const msg = `Using available tool: ${availableTools[0].name}`;
124
- if (this.onLog) {
125
- this.onLog('info', msg);
126
- }
127
- else {
128
- console.log(chalk.green(msg));
129
- }
130
- return availableTools[0].name;
131
- }
132
- const choices = availableTools.map((tool) => ({
133
- name: `${tool.name} ${tool.version ? `(${tool.version})` : ''}`,
134
- value: tool.name,
135
- }));
136
- const answer = await inquirer.prompt([
137
- {
138
- type: 'list',
139
- name: 'tool',
140
- message: 'Select CLI tool to use:',
141
- choices,
142
- },
143
- ]);
144
- return answer.tool;
145
- }
146
- /**
147
- * Run main agent workflow loop
148
- */
149
- async runAgentWorkflow(options) {
150
- const maxIterations = options.maxIterations || 10;
151
- let iteration = 0;
152
- this.logger.info('Starting agent workflow', { maxIterations });
153
- while (this.isRunning && iteration < maxIterations) {
154
- try {
155
- iteration++;
156
- this.logger.info(`Workflow iteration ${iteration}/${maxIterations}`);
157
- const msg = `🔄 Agent workflow iteration ${iteration}/${maxIterations} (use Ralph for task-driven automation)`;
158
- if (this.onLog) {
159
- this.onLog('info', msg);
160
- }
161
- else {
162
- console.log(chalk.gray(msg));
163
- }
164
- // Continue iterating — no unconditional break
165
- // Loop exits naturally when: isRunning=false, maxIterations reached
166
- }
167
- catch (error) {
168
- this.logger.error(`Workflow iteration ${iteration} failed`, { error: String(error) });
169
- const msg = `❌ Iteration ${iteration} failed: ${error}`;
170
- if (this.onLog) {
171
- this.onLog('error', msg);
172
- }
173
- else {
174
- console.error(chalk.red('\n' + msg));
175
- }
176
- if (iteration >= maxIterations) {
177
- break;
178
- }
179
- }
180
- }
181
- if (iteration >= maxIterations) {
182
- const msg = `⚠️ Reached maximum iterations (${maxIterations})`;
183
- if (this.onLog) {
184
- this.onLog('warning', msg);
185
- }
186
- else {
187
- console.log(chalk.yellow('\n' + msg));
188
- }
189
- }
190
- }
191
- /**
192
- * Execute workflow for a single task
193
- */
194
- async executeTaskWorkflow(task, options) {
195
- const startTime = Date.now();
196
- this.logger.taskStart(task.id, task.title);
197
- const msg = `📋 Executing task: ${task.title}`;
198
- if (this.onLog) {
199
- this.onLog('info', msg);
200
- }
201
- else {
202
- console.log(chalk.blue('\n' + msg));
203
- }
204
- try {
205
- if (this.onTaskStatusChange) {
206
- this.onTaskStatusChange(task.id, 'in-progress');
207
- }
208
- if (options.dryRun) {
209
- if (this.onLog) {
210
- this.onLog('warning', '🔍 DRY RUN MODE - No actual execution');
211
- this.onLog('info', `Would execute: ${task.title}`);
212
- }
213
- else {
214
- console.log(chalk.yellow('🔍 DRY RUN MODE - No actual execution'));
215
- console.log(chalk.gray(`Would execute: ${task.title}`));
216
- }
217
- return true;
218
- }
219
- if (this.onLog) {
220
- this.onLog('info', '📤 Sending task to CLI...');
221
- }
222
- else {
223
- console.log(chalk.gray('📤 Sending task to CLI...'));
224
- }
225
- const taskResponse = await this.cliBridge.sendTaskCommand(this.currentTool, task);
226
- if (!taskResponse.success) {
227
- throw new Error(`Task command failed: ${taskResponse.error}`);
228
- }
229
- await this.runQualityChecks();
230
- const testSuccess = await this.runTests();
231
- if (!testSuccess) {
232
- throw new Error('Tests failed');
233
- }
234
- const coverageSuccess = await this.checkCoverage();
235
- if (!coverageSuccess) {
236
- throw new Error('Coverage below threshold');
237
- }
238
- const securitySuccess = await this.runSecurityGate(this.projectRoot);
239
- if (!securitySuccess) {
240
- throw new Error('Security gate failed');
241
- }
242
- await this.commitChanges(task);
243
- const duration = Date.now() - startTime;
244
- this.logger.taskComplete(task.id, task.title, duration);
245
- const successMsg = `✅ Task completed successfully in ${Math.round(duration / 1000)}s`;
246
- if (this.onLog) {
247
- this.onLog('success', successMsg);
248
- }
249
- else {
250
- console.log(chalk.green(successMsg));
251
- }
252
- return true;
253
- }
254
- catch (error) {
255
- const duration = Date.now() - startTime;
256
- this.logger.taskFailed(task.id, task.title, String(error), duration);
257
- const errorMsg = `❌ Task failed: ${error}`;
258
- if (this.onLog) {
259
- this.onLog('error', errorMsg);
260
- }
261
- else {
262
- console.error(chalk.red(errorMsg));
263
- }
264
- return false;
265
- }
266
- }
267
- async runQualityChecks() {
268
- const lintResponse = await this.cliBridge.sendLintCommand(this.currentTool);
269
- this.logger.testExecution('lint', lintResponse.success ? 'passed' : 'failed', lintResponse.duration);
270
- if (!lintResponse.success) {
271
- const msg = '⚠️ Lint issues found, but continuing';
272
- if (this.onLog) {
273
- this.onLog('warning', msg);
274
- }
275
- else {
276
- console.log(chalk.yellow(msg));
277
- }
278
- }
279
- const formatResponse = await this.cliBridge.sendFormatCommand(this.currentTool);
280
- this.logger.testExecution('format', formatResponse.success ? 'passed' : 'failed', formatResponse.duration);
281
- if (!formatResponse.success) {
282
- const msg = '⚠️ Format issues found, but continuing';
283
- if (this.onLog) {
284
- this.onLog('warning', msg);
285
- }
286
- else {
287
- console.log(chalk.yellow(msg));
288
- }
289
- }
290
- }
291
- async runTests() {
292
- const testResponse = await this.cliBridge.sendTestCommand(this.currentTool);
293
- this.logger.testExecution('tests', testResponse.success ? 'passed' : 'failed', testResponse.duration);
294
- return testResponse.success;
295
- }
296
- async checkCoverage() {
297
- const threshold = this.config.coverageThreshold;
298
- // Run tests with coverage to get real output
299
- const coverageResponse = await this.cliBridge.sendTestCommand(this.currentTool);
300
- const output = coverageResponse.output ?? '';
301
- const coverage = RalphParser.parseCoveragePercentage(output);
302
- if (coverage === null) {
303
- // Coverage output not parseable — warn but don't fail the gate
304
- process.stderr.write('[rulebook] Coverage output could not be parsed; skipping coverage gate\n');
305
- return true;
306
- }
307
- this.logger.coverageCheck(coverage, threshold);
308
- return coverage >= threshold;
309
- }
310
- /**
311
- * Run the security gate using npm audit (or other available tools).
312
- * Returns true if the gate passes, false if it fails.
313
- * If no tool is available, logs a warning and returns true (skip).
314
- */
315
- async runSecurityGate(projectRoot) {
316
- const secConfig = this.config.ralph?.securityGate;
317
- const enabled = secConfig?.enabled !== false; // default: true
318
- if (!enabled) {
319
- return true;
320
- }
321
- const failOn = (secConfig?.failOn ?? 'high');
322
- try {
323
- const { execSync } = await import('child_process');
324
- // Detect available tool
325
- let tool = secConfig?.tool ?? 'auto';
326
- if (tool === 'auto') {
327
- // Auto-detect: trivy > semgrep > npm audit
328
- try {
329
- execSync('trivy --version', { stdio: 'ignore', timeout: 5000 });
330
- tool = 'trivy';
331
- }
332
- catch {
333
- try {
334
- execSync('semgrep --version', { stdio: 'ignore', timeout: 5000 });
335
- tool = 'semgrep';
336
- }
337
- catch {
338
- try {
339
- execSync('npm audit --version', { cwd: projectRoot, stdio: 'ignore', timeout: 5000 });
340
- tool = 'npm-audit';
341
- }
342
- catch {
343
- // no tool available
344
- }
345
- }
346
- }
347
- }
348
- if (tool === 'trivy') {
349
- try {
350
- const output = execSync(`trivy fs --exit-code 0 --format json ${projectRoot}`, {
351
- encoding: 'utf-8',
352
- stdio: ['ignore', 'pipe', 'ignore'],
353
- timeout: 60000,
354
- });
355
- const severity = RalphParser.parseTrivySeverity(output);
356
- const passes = RalphParser.securityGatePasses(severity, failOn);
357
- if (!passes) {
358
- const msg = `🔒 Security gate (trivy) failed: ${severity} vulnerabilities found (failOn: ${failOn})`;
359
- if (this.onLog)
360
- this.onLog('warning', msg);
361
- else
362
- console.log(chalk.yellow(msg));
363
- }
364
- return passes;
365
- }
366
- catch (err) {
367
- const execError = err;
368
- if (execError.stdout) {
369
- const severity = RalphParser.parseTrivySeverity(execError.stdout);
370
- return RalphParser.securityGatePasses(severity, failOn);
371
- }
372
- }
373
- }
374
- if (tool === 'semgrep') {
375
- try {
376
- const output = execSync(`semgrep --config auto --json ${projectRoot}`, {
377
- encoding: 'utf-8',
378
- stdio: ['ignore', 'pipe', 'ignore'],
379
- timeout: 60000,
380
- });
381
- const severity = RalphParser.parseSemgrepSeverity(output);
382
- const passes = RalphParser.securityGatePasses(severity, failOn);
383
- if (!passes) {
384
- const msg = `🔒 Security gate (semgrep) failed: ${severity} issues found (failOn: ${failOn})`;
385
- if (this.onLog)
386
- this.onLog('warning', msg);
387
- else
388
- console.log(chalk.yellow(msg));
389
- }
390
- return passes;
391
- }
392
- catch (err) {
393
- const execError = err;
394
- if (execError.stdout) {
395
- const severity = RalphParser.parseSemgrepSeverity(execError.stdout);
396
- return RalphParser.securityGatePasses(severity, failOn);
397
- }
398
- }
399
- }
400
- if (tool === 'npm-audit') {
401
- try {
402
- const output = execSync('npm audit --json', {
403
- cwd: projectRoot,
404
- encoding: 'utf-8',
405
- stdio: ['ignore', 'pipe', 'ignore'],
406
- timeout: 30000,
407
- });
408
- const severity = RalphParser.parseNpmAuditSeverity(output);
409
- const passes = RalphParser.securityGatePasses(severity, failOn);
410
- if (!passes) {
411
- const msg = `🔒 Security gate failed: found ${severity} severity vulnerabilities (failOn: ${failOn})`;
412
- if (this.onLog) {
413
- this.onLog('warning', msg);
414
- }
415
- else {
416
- console.log(chalk.yellow(msg));
417
- }
418
- }
419
- return passes;
420
- }
421
- catch (err) {
422
- // npm audit exits with non-zero when vulnerabilities found
423
- const execError = err;
424
- if (execError.stdout) {
425
- const severity = RalphParser.parseNpmAuditSeverity(execError.stdout);
426
- return RalphParser.securityGatePasses(severity, failOn);
427
- }
428
- }
429
- }
430
- // No scanner available — skip gate with warning
431
- const skipMsg = '[rulebook] No security scanner available; skipping security gate';
432
- process.stderr.write(skipMsg + '\n');
433
- return true;
434
- }
435
- catch {
436
- // Gate itself threw — skip rather than fail
437
- process.stderr.write('[rulebook] Security gate error; skipping\n');
438
- return true;
439
- }
440
- }
441
- async commitChanges(task) {
442
- const message = `feat: ${task.title}\n\n${task.description}`;
443
- const commitResponse = await this.cliBridge.sendCommitCommand(this.currentTool, message);
444
- if (!commitResponse.success) {
445
- throw new Error(`Commit failed: ${commitResponse.error}`);
446
- }
447
- }
448
- startWatcherInBackground() {
449
- this.logger.info('Watcher mode requested (placeholder)');
450
- }
451
- async cleanup() {
452
- this.isRunning = false;
453
- if (this.cliBridge) {
454
- await this.cliBridge.killAllProcesses();
455
- }
456
- await this.logger.close();
457
- }
458
- async stop() {
459
- this.isRunning = false;
460
- await this.cleanup();
461
- }
462
- }
463
- /**
464
- * Create and start agent
465
- */
466
- export async function startAgent(projectRoot, options = {}) {
467
- const agent = new AgentManager(projectRoot);
468
- await agent.startAgent(options);
469
- }
470
- /**
471
- * Create agent manager instance
472
- */
473
- export function createAgentManager(projectRoot) {
474
- return new AgentManager(projectRoot);
475
- }
476
- //# sourceMappingURL=agent-manager.js.map