@hivehub/rulebook 5.1.3 → 5.2.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 (374) hide show
  1. package/.claude/commands/continue.md +33 -33
  2. package/.claude/commands/ralph-config.md +112 -112
  3. package/.claude/commands/ralph-history.md +110 -110
  4. package/.claude/commands/ralph-init.md +72 -72
  5. package/.claude/commands/ralph-pause-resume.md +105 -105
  6. package/.claude/commands/ralph-run.md +101 -101
  7. package/.claude/commands/ralph-status.md +76 -76
  8. package/.claude/commands/rulebook-decision-create.md +55 -55
  9. package/.claude/commands/rulebook-decision-list.md +15 -15
  10. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  11. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  12. package/.claude/commands/rulebook-learn-capture.md +48 -48
  13. package/.claude/commands/rulebook-learn-list.md +13 -13
  14. package/.claude/commands/rulebook-memory-save.md +48 -48
  15. package/.claude/commands/rulebook-memory-search.md +47 -47
  16. package/.claude/commands/rulebook-task-apply.md +85 -67
  17. package/.claude/commands/rulebook-task-archive.md +103 -94
  18. package/.claude/commands/rulebook-task-create.md +93 -93
  19. package/.claude/commands/rulebook-task-list.md +42 -42
  20. package/.claude/commands/rulebook-task-show.md +52 -52
  21. package/.claude/commands/rulebook-task-validate.md +53 -53
  22. package/.claude-plugin/marketplace.json +28 -28
  23. package/.claude-plugin/plugin.json +8 -8
  24. package/README.md +25 -43
  25. package/dist/cli/commands.d.ts.map +1 -1
  26. package/dist/cli/commands.js +11 -0
  27. package/dist/cli/commands.js.map +1 -1
  28. package/dist/core/agent-template-engine.js +28 -28
  29. package/dist/core/generator.js +28 -28
  30. package/dist/core/task-manager.d.ts +23 -0
  31. package/dist/core/task-manager.d.ts.map +1 -1
  32. package/dist/core/task-manager.js +163 -27
  33. package/dist/core/task-manager.js.map +1 -1
  34. package/dist/index.js +0 -0
  35. package/dist/mcp/rulebook-server.js +3 -3
  36. package/dist/mcp/rulebook-server.js.map +1 -1
  37. package/dist/memory/memory-store.js +91 -91
  38. package/package.json +21 -22
  39. package/templates/agents/accessibility-reviewer.md +43 -43
  40. package/templates/agents/api-designer.md +42 -42
  41. package/templates/agents/architect.md +51 -51
  42. package/templates/agents/build-engineer.md +36 -36
  43. package/templates/agents/code-reviewer.md +47 -47
  44. package/templates/agents/compiler/codegen-debugger.md +34 -34
  45. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  46. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  47. package/templates/agents/context-intelligence.md +52 -52
  48. package/templates/agents/database-architect.md +41 -41
  49. package/templates/agents/devops-engineer.md +42 -42
  50. package/templates/agents/docs-writer.md +38 -38
  51. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  52. package/templates/agents/game-engine/render-engineer.md +22 -22
  53. package/templates/agents/game-engine/shader-engineer.md +38 -38
  54. package/templates/agents/game-engine/systems-integration.md +43 -43
  55. package/templates/agents/generic/code-reviewer.md +41 -41
  56. package/templates/agents/generic/docs-writer.md +25 -25
  57. package/templates/agents/generic/project-manager.md +36 -36
  58. package/templates/agents/generic/researcher.md +34 -34
  59. package/templates/agents/generic/test-engineer.md +41 -41
  60. package/templates/agents/i18n-engineer.md +42 -42
  61. package/templates/agents/implementer.md +42 -42
  62. package/templates/agents/migration-engineer.md +42 -42
  63. package/templates/agents/mobile/platform-specialist.md +22 -22
  64. package/templates/agents/mobile/ui-engineer.md +22 -22
  65. package/templates/agents/performance-engineer.md +49 -49
  66. package/templates/agents/refactoring-agent.md +41 -41
  67. package/templates/agents/researcher.md +38 -38
  68. package/templates/agents/security-reviewer.md +40 -40
  69. package/templates/agents/team-lead.md +37 -37
  70. package/templates/agents/tester.md +48 -48
  71. package/templates/agents/ux-reviewer.md +43 -43
  72. package/templates/agents/web-app/api-designer.md +22 -22
  73. package/templates/agents/web-app/backend-engineer.md +30 -30
  74. package/templates/agents/web-app/database-engineer.md +22 -22
  75. package/templates/agents/web-app/frontend-engineer.md +29 -29
  76. package/templates/agents/web-app/security-reviewer.md +32 -32
  77. package/templates/ci/rulebook-review.yml +26 -26
  78. package/templates/cli/AIDER.md +49 -49
  79. package/templates/cli/AMAZON_Q.md +25 -25
  80. package/templates/cli/AUGGIE.md +32 -32
  81. package/templates/cli/CLAUDE.md +117 -117
  82. package/templates/cli/CLINE.md +99 -99
  83. package/templates/cli/CODEBUDDY.md +20 -20
  84. package/templates/cli/CODEIUM.md +20 -20
  85. package/templates/cli/CODEX.md +21 -21
  86. package/templates/cli/CONTINUE.md +34 -34
  87. package/templates/cli/CURSOR_CLI.md +62 -62
  88. package/templates/cli/FACTORY.md +18 -18
  89. package/templates/cli/GEMINI.md +35 -35
  90. package/templates/cli/KILOCODE.md +18 -18
  91. package/templates/cli/OPENCODE.md +18 -18
  92. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  93. package/templates/commands/rulebook-decision-create.md +55 -55
  94. package/templates/commands/rulebook-decision-list.md +15 -15
  95. package/templates/commands/rulebook-knowledge-add.md +41 -41
  96. package/templates/commands/rulebook-knowledge-list.md +15 -15
  97. package/templates/commands/rulebook-learn-capture.md +48 -48
  98. package/templates/commands/rulebook-learn-list.md +13 -13
  99. package/templates/commands/rulebook-memory-save.md +48 -48
  100. package/templates/commands/rulebook-memory-search.md +47 -47
  101. package/templates/commands/rulebook-task-apply.md +67 -67
  102. package/templates/commands/rulebook-task-archive.md +94 -94
  103. package/templates/commands/rulebook-task-create.md +93 -93
  104. package/templates/commands/rulebook-task-list.md +42 -42
  105. package/templates/commands/rulebook-task-show.md +52 -52
  106. package/templates/commands/rulebook-task-validate.md +53 -53
  107. package/templates/core/AGENTS_LEAN.md +25 -25
  108. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  109. package/templates/core/AGENT_AUTOMATION.md +296 -296
  110. package/templates/core/DAG.md +304 -304
  111. package/templates/core/DECISIONS.md +38 -38
  112. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  113. package/templates/core/KNOWLEDGE.md +49 -49
  114. package/templates/core/MULTI_AGENT.md +74 -74
  115. package/templates/core/PLANS.md +28 -28
  116. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  117. package/templates/core/RALPH.md +471 -471
  118. package/templates/core/RULEBOOK.md +1947 -1947
  119. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  120. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  121. package/templates/frameworks/ANGULAR.md +36 -36
  122. package/templates/frameworks/DJANGO.md +83 -83
  123. package/templates/frameworks/ELECTRON.md +147 -147
  124. package/templates/frameworks/FLASK.md +38 -38
  125. package/templates/frameworks/FLUTTER.md +55 -55
  126. package/templates/frameworks/JQUERY.md +32 -32
  127. package/templates/frameworks/LARAVEL.md +38 -38
  128. package/templates/frameworks/NESTJS.md +43 -43
  129. package/templates/frameworks/NEXTJS.md +127 -127
  130. package/templates/frameworks/NUXT.md +40 -40
  131. package/templates/frameworks/RAILS.md +66 -66
  132. package/templates/frameworks/REACT.md +38 -38
  133. package/templates/frameworks/REACT_NATIVE.md +47 -47
  134. package/templates/frameworks/SPRING.md +39 -39
  135. package/templates/frameworks/SYMFONY.md +36 -36
  136. package/templates/frameworks/VUE.md +36 -36
  137. package/templates/frameworks/ZEND.md +35 -35
  138. package/templates/git/CI_CD_PATTERNS.md +661 -661
  139. package/templates/git/GITHUB_ACTIONS.md +728 -728
  140. package/templates/git/GITLAB_CI.md +730 -730
  141. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  142. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  143. package/templates/hooks/COMMIT_MSG.md +530 -530
  144. package/templates/hooks/POST_CHECKOUT.md +546 -546
  145. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  146. package/templates/hooks/PRE_COMMIT.md +414 -414
  147. package/templates/hooks/PRE_PUSH.md +601 -601
  148. package/templates/ides/CONTINUE_RULES.md +16 -16
  149. package/templates/ides/COPILOT.md +37 -37
  150. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  151. package/templates/ides/CURSOR.md +43 -43
  152. package/templates/ides/GEMINI_RULES.md +17 -17
  153. package/templates/ides/JETBRAINS_AI.md +35 -35
  154. package/templates/ides/REPLIT.md +36 -36
  155. package/templates/ides/TABNINE.md +29 -29
  156. package/templates/ides/VSCODE.md +40 -40
  157. package/templates/ides/WINDSURF.md +36 -36
  158. package/templates/ides/WINDSURF_RULES.md +14 -14
  159. package/templates/ides/ZED.md +32 -32
  160. package/templates/ides/cursor-mdc/go.mdc +24 -24
  161. package/templates/ides/cursor-mdc/python.mdc +24 -24
  162. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  163. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  164. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  165. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  166. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  167. package/templates/languages/C.md +333 -333
  168. package/templates/languages/CPP.md +743 -743
  169. package/templates/languages/CSHARP.md +417 -417
  170. package/templates/languages/ELIXIR.md +454 -454
  171. package/templates/languages/ERLANG.md +361 -361
  172. package/templates/languages/GO.md +645 -645
  173. package/templates/languages/HASKELL.md +177 -177
  174. package/templates/languages/JAVA.md +607 -607
  175. package/templates/languages/JAVASCRIPT.md +631 -631
  176. package/templates/languages/JULIA.md +97 -97
  177. package/templates/languages/KOTLIN.md +511 -511
  178. package/templates/languages/LISP.md +100 -100
  179. package/templates/languages/LUA.md +74 -74
  180. package/templates/languages/OBJECTIVEC.md +90 -90
  181. package/templates/languages/PHP.md +416 -416
  182. package/templates/languages/PYTHON.md +682 -682
  183. package/templates/languages/RUBY.md +421 -421
  184. package/templates/languages/RUST.md +477 -477
  185. package/templates/languages/SAS.md +73 -73
  186. package/templates/languages/SCALA.md +348 -348
  187. package/templates/languages/SOLIDITY.md +580 -580
  188. package/templates/languages/SQL.md +137 -137
  189. package/templates/languages/SWIFT.md +466 -466
  190. package/templates/languages/TYPESCRIPT.md +591 -591
  191. package/templates/languages/ZIG.md +265 -265
  192. package/templates/modules/ATLASSIAN.md +255 -255
  193. package/templates/modules/CONTEXT7.md +54 -54
  194. package/templates/modules/FIGMA.md +267 -267
  195. package/templates/modules/GITHUB_MCP.md +64 -64
  196. package/templates/modules/GRAFANA.md +328 -328
  197. package/templates/modules/MEMORY.md +126 -126
  198. package/templates/modules/NOTION.md +247 -247
  199. package/templates/modules/PLAYWRIGHT.md +90 -90
  200. package/templates/modules/RULEBOOK_MCP.md +156 -156
  201. package/templates/modules/SERENA.md +337 -337
  202. package/templates/modules/SUPABASE.md +223 -223
  203. package/templates/modules/SYNAP.md +69 -69
  204. package/templates/modules/VECTORIZER.md +63 -63
  205. package/templates/modules/sequential-thinking.md +42 -42
  206. package/templates/ralph/ralph-history.bat +4 -4
  207. package/templates/ralph/ralph-history.sh +5 -5
  208. package/templates/ralph/ralph-init.bat +5 -5
  209. package/templates/ralph/ralph-init.sh +5 -5
  210. package/templates/ralph/ralph-pause.bat +5 -5
  211. package/templates/ralph/ralph-pause.sh +5 -5
  212. package/templates/ralph/ralph-run.bat +5 -5
  213. package/templates/ralph/ralph-run.sh +5 -5
  214. package/templates/ralph/ralph-status.bat +4 -4
  215. package/templates/ralph/ralph-status.sh +5 -5
  216. package/templates/rules/follow-task-sequence.md +36 -36
  217. package/templates/rules/git-safety.md +29 -29
  218. package/templates/rules/incremental-tests.md +29 -29
  219. package/templates/rules/knowledge-base-usage.md +41 -0
  220. package/templates/rules/no-deferred.md +31 -31
  221. package/templates/rules/no-shortcuts.md +30 -30
  222. package/templates/rules/research-first.md +30 -30
  223. package/templates/rules/sequential-editing.md +21 -21
  224. package/templates/rules/session-workflow.md +24 -24
  225. package/templates/rules/task-decomposition.md +32 -32
  226. package/templates/services/AZURE_BLOB.md +184 -184
  227. package/templates/services/CASSANDRA.md +239 -239
  228. package/templates/services/DATADOG.md +26 -26
  229. package/templates/services/DOCKER.md +124 -124
  230. package/templates/services/DOCKER_COMPOSE.md +168 -168
  231. package/templates/services/DYNAMODB.md +308 -308
  232. package/templates/services/ELASTICSEARCH.md +347 -347
  233. package/templates/services/GCS.md +178 -178
  234. package/templates/services/HELM.md +194 -194
  235. package/templates/services/INFLUXDB.md +265 -265
  236. package/templates/services/KAFKA.md +341 -341
  237. package/templates/services/KUBERNETES.md +208 -208
  238. package/templates/services/MARIADB.md +183 -183
  239. package/templates/services/MEMCACHED.md +242 -242
  240. package/templates/services/MINIO.md +201 -201
  241. package/templates/services/MONGODB.md +268 -268
  242. package/templates/services/MYSQL.md +358 -358
  243. package/templates/services/NEO4J.md +247 -247
  244. package/templates/services/OPENTELEMETRY.md +25 -25
  245. package/templates/services/ORACLE.md +290 -290
  246. package/templates/services/PINO.md +24 -24
  247. package/templates/services/POSTGRESQL.md +326 -326
  248. package/templates/services/PROMETHEUS.md +33 -33
  249. package/templates/services/RABBITMQ.md +286 -286
  250. package/templates/services/REDIS.md +292 -292
  251. package/templates/services/S3.md +298 -298
  252. package/templates/services/SENTRY.md +23 -23
  253. package/templates/services/SQLITE.md +294 -294
  254. package/templates/services/SQLSERVER.md +294 -294
  255. package/templates/services/WINSTON.md +30 -30
  256. package/templates/skills/cli/aider/SKILL.md +59 -59
  257. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  258. package/templates/skills/cli/auggie/SKILL.md +42 -42
  259. package/templates/skills/cli/claude/SKILL.md +42 -42
  260. package/templates/skills/cli/cline/SKILL.md +42 -42
  261. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  262. package/templates/skills/cli/codeium/SKILL.md +30 -30
  263. package/templates/skills/cli/codex/SKILL.md +31 -31
  264. package/templates/skills/cli/continue/SKILL.md +44 -44
  265. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  266. package/templates/skills/cli/factory/SKILL.md +28 -28
  267. package/templates/skills/cli/gemini/SKILL.md +45 -45
  268. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  269. package/templates/skills/cli/opencode/SKILL.md +28 -28
  270. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  271. package/templates/skills/core/dag/SKILL.md +314 -314
  272. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  273. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  274. package/templates/skills/core/rulebook/SKILL.md +176 -176
  275. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  276. package/templates/skills/dev/api-design/SKILL.md +15 -15
  277. package/templates/skills/dev/architect/SKILL.md +17 -17
  278. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  279. package/templates/skills/dev/db-design/SKILL.md +15 -15
  280. package/templates/skills/dev/debug/SKILL.md +16 -16
  281. package/templates/skills/dev/deploy/SKILL.md +17 -17
  282. package/templates/skills/dev/docs/SKILL.md +17 -17
  283. package/templates/skills/dev/migrate/SKILL.md +15 -15
  284. package/templates/skills/dev/perf/SKILL.md +17 -17
  285. package/templates/skills/dev/refactor/SKILL.md +17 -17
  286. package/templates/skills/dev/research/SKILL.md +14 -14
  287. package/templates/skills/dev/review/SKILL.md +18 -18
  288. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  289. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  290. package/templates/skills/frameworks/django/SKILL.md +93 -93
  291. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  292. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  293. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  294. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  295. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  296. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  297. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  298. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  299. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  300. package/templates/skills/frameworks/react/SKILL.md +48 -48
  301. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  302. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  303. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  304. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  305. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  306. package/templates/skills/ides/copilot/SKILL.md +47 -47
  307. package/templates/skills/ides/cursor/SKILL.md +53 -53
  308. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  309. package/templates/skills/ides/replit/SKILL.md +46 -46
  310. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  311. package/templates/skills/ides/vscode/SKILL.md +50 -50
  312. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  313. package/templates/skills/ides/zed/SKILL.md +42 -42
  314. package/templates/skills/languages/c/SKILL.md +343 -343
  315. package/templates/skills/languages/cpp/SKILL.md +753 -753
  316. package/templates/skills/languages/csharp/SKILL.md +427 -427
  317. package/templates/skills/languages/elixir/SKILL.md +464 -464
  318. package/templates/skills/languages/erlang/SKILL.md +371 -371
  319. package/templates/skills/languages/go/SKILL.md +655 -655
  320. package/templates/skills/languages/haskell/SKILL.md +187 -187
  321. package/templates/skills/languages/java/SKILL.md +617 -617
  322. package/templates/skills/languages/javascript/SKILL.md +641 -641
  323. package/templates/skills/languages/julia/SKILL.md +107 -107
  324. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  325. package/templates/skills/languages/lisp/SKILL.md +110 -110
  326. package/templates/skills/languages/lua/SKILL.md +84 -84
  327. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  328. package/templates/skills/languages/php/SKILL.md +426 -426
  329. package/templates/skills/languages/python/SKILL.md +692 -692
  330. package/templates/skills/languages/ruby/SKILL.md +431 -431
  331. package/templates/skills/languages/rust/SKILL.md +487 -487
  332. package/templates/skills/languages/sas/SKILL.md +83 -83
  333. package/templates/skills/languages/scala/SKILL.md +358 -358
  334. package/templates/skills/languages/solidity/SKILL.md +590 -590
  335. package/templates/skills/languages/sql/SKILL.md +147 -147
  336. package/templates/skills/languages/swift/SKILL.md +476 -476
  337. package/templates/skills/languages/typescript/SKILL.md +302 -302
  338. package/templates/skills/languages/zig/SKILL.md +275 -275
  339. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  340. package/templates/skills/modules/context7/SKILL.md +64 -64
  341. package/templates/skills/modules/figma/SKILL.md +277 -277
  342. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  343. package/templates/skills/modules/grafana/SKILL.md +338 -338
  344. package/templates/skills/modules/memory/SKILL.md +73 -73
  345. package/templates/skills/modules/notion/SKILL.md +257 -257
  346. package/templates/skills/modules/playwright/SKILL.md +100 -100
  347. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  348. package/templates/skills/modules/serena/SKILL.md +347 -347
  349. package/templates/skills/modules/supabase/SKILL.md +233 -233
  350. package/templates/skills/modules/synap/SKILL.md +79 -79
  351. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  352. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  353. package/templates/skills/services/cassandra/SKILL.md +249 -249
  354. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  355. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  356. package/templates/skills/services/gcs/SKILL.md +188 -188
  357. package/templates/skills/services/influxdb/SKILL.md +275 -275
  358. package/templates/skills/services/kafka/SKILL.md +351 -351
  359. package/templates/skills/services/mariadb/SKILL.md +193 -193
  360. package/templates/skills/services/memcached/SKILL.md +252 -252
  361. package/templates/skills/services/minio/SKILL.md +211 -211
  362. package/templates/skills/services/mongodb/SKILL.md +278 -278
  363. package/templates/skills/services/mysql/SKILL.md +368 -368
  364. package/templates/skills/services/neo4j/SKILL.md +257 -257
  365. package/templates/skills/services/oracle/SKILL.md +300 -300
  366. package/templates/skills/services/postgresql/SKILL.md +336 -336
  367. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  368. package/templates/skills/services/redis/SKILL.md +302 -302
  369. package/templates/skills/services/s3/SKILL.md +308 -308
  370. package/templates/skills/services/sqlite/SKILL.md +304 -304
  371. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  372. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  373. package/templates/skills/workflows/ralph/install.sh +87 -87
  374. package/templates/skills/workflows/ralph/manifest.json +158 -158
@@ -109,34 +109,34 @@ async function loadFromDir(dir, templates) {
109
109
  }
110
110
  }
111
111
  // ── Mandatory Sections ──────────────────────────────────────────────────
112
- const MANDATORY_FOOTER = `
113
- ## Mandatory Rules (Injected by Rulebook)
114
-
115
- ### No Shortcuts — Quality Over Speed
116
- NEVER simplify logic, add TODO/FIXME/HACK, create stubs, use placeholders, reduce scope,
117
- skip edge cases, or deliver partial implementations. Quality is everything.
118
-
119
- ### Incremental Implementation — Step by Step
120
- NEVER implement everything at once. Decompose into small steps, implement ONE step, test/verify
121
- immediately, fix errors before proceeding. If stuck after 3 failed attempts on the same error:
122
- STOP, record the failure as anti-pattern, remove broken code, restart from scratch with a
123
- different approach. The line between persistence and stubbornness is thin.
124
-
125
- ### Knowledge Base — Check Before, Record After
126
- BEFORE implementing: check \`.rulebook/knowledge/\` for existing patterns and anti-patterns.
127
- AFTER implementing: record what worked (pattern) and what failed (anti-pattern).
128
- After debugging: capture learnings with \`rulebook learn capture\`.
129
- The knowledge base exists so you don't repeat mistakes across sessions.
130
-
131
- ### Update tasks.md After Every Completion
132
- After completing ANY task, update the corresponding \`.rulebook/tasks/*/tasks.md\` file.
133
- Change \`- [ ]\` to \`- [x]\` with a brief description. Do this BEFORE reporting completion.
134
-
135
- ### Never Mark Tasks as Deferred
136
- If a task is in tasks.md, implement it. If it has a dependency, implement the dependency first.
137
-
138
- ### Research Before Implementing
139
- NEVER guess. State what you know, what you don't know, research the unknown, then implement.
112
+ const MANDATORY_FOOTER = `
113
+ ## Mandatory Rules (Injected by Rulebook)
114
+
115
+ ### No Shortcuts — Quality Over Speed
116
+ NEVER simplify logic, add TODO/FIXME/HACK, create stubs, use placeholders, reduce scope,
117
+ skip edge cases, or deliver partial implementations. Quality is everything.
118
+
119
+ ### Incremental Implementation — Step by Step
120
+ NEVER implement everything at once. Decompose into small steps, implement ONE step, test/verify
121
+ immediately, fix errors before proceeding. If stuck after 3 failed attempts on the same error:
122
+ STOP, record the failure as anti-pattern, remove broken code, restart from scratch with a
123
+ different approach. The line between persistence and stubbornness is thin.
124
+
125
+ ### Knowledge Base — Check Before, Record After
126
+ BEFORE implementing: check \`.rulebook/knowledge/\` for existing patterns and anti-patterns.
127
+ AFTER implementing: record what worked (pattern) and what failed (anti-pattern).
128
+ After debugging: capture learnings with \`rulebook learn capture\`.
129
+ The knowledge base exists so you don't repeat mistakes across sessions.
130
+
131
+ ### Update tasks.md After Every Completion
132
+ After completing ANY task, update the corresponding \`.rulebook/tasks/*/tasks.md\` file.
133
+ Change \`- [ ]\` to \`- [x]\` with a brief description. Do this BEFORE reporting completion.
134
+
135
+ ### Never Mark Tasks as Deferred
136
+ If a task is in tasks.md, implement it. If it has a dependency, implement the dependency first.
137
+
138
+ ### Research Before Implementing
139
+ NEVER guess. State what you know, what you don't know, research the unknown, then implement.
140
140
  `;
141
141
  // ── Claude Code Agent Generation ────────────────────────────────────────
142
142
  /**
@@ -358,11 +358,11 @@ export async function generateFrameworkRules(framework) {
358
358
  return await readFile(templatePath);
359
359
  }
360
360
  const title = framework.charAt(0).toUpperCase() + framework.slice(1);
361
- return `<!-- ${framework.toUpperCase()}:START -->
362
- # ${title} Framework Rules
363
-
364
- Framework-specific rules for ${title}.
365
- <!-- ${framework.toUpperCase()}:END -->
361
+ return `<!-- ${framework.toUpperCase()}:START -->
362
+ # ${title} Framework Rules
363
+
364
+ Framework-specific rules for ${title}.
365
+ <!-- ${framework.toUpperCase()}:END -->
366
366
  `;
367
367
  }
368
368
  export async function generateModuleRules(module) {
@@ -406,31 +406,31 @@ export async function generateGitRules(pushMode) {
406
406
  // Add push mode configuration
407
407
  const pushModeConfig = `\n**AI Assistant Git Push Mode**: ${pushMode.toUpperCase()}\n\n`;
408
408
  const pushModeInstructions = {
409
- manual: `**CRITICAL**: Never execute \`git push\` commands automatically.
410
- Always provide push commands for manual execution by the user.
411
-
412
- Example:
413
- \`\`\`
414
- ✋ MANUAL ACTION REQUIRED:
415
- Run these commands manually (SSH password may be required):
416
- git push origin main
417
- git push origin v1.0.0
409
+ manual: `**CRITICAL**: Never execute \`git push\` commands automatically.
410
+ Always provide push commands for manual execution by the user.
411
+
412
+ Example:
413
+ \`\`\`
414
+ ✋ MANUAL ACTION REQUIRED:
415
+ Run these commands manually (SSH password may be required):
416
+ git push origin main
417
+ git push origin v1.0.0
418
418
  \`\`\``,
419
- prompt: `**CRITICAL**: Always ask user permission before pushing.
420
-
421
- Example:
422
- \`\`\`
423
- Ready to push changes. Execute these commands?
424
- git push origin main
425
-
426
- [Y/n]:
419
+ prompt: `**CRITICAL**: Always ask user permission before pushing.
420
+
421
+ Example:
422
+ \`\`\`
423
+ Ready to push changes. Execute these commands?
424
+ git push origin main
425
+
426
+ [Y/n]:
427
427
  \`\`\``,
428
- auto: `**INFO**: Automatic push enabled.
429
- AI assistants may execute push commands automatically.
430
-
431
- ⚠️ Only use this mode if:
432
- - SSH key has no password
433
- - GitHub CLI is authenticated
428
+ auto: `**INFO**: Automatic push enabled.
429
+ AI assistants may execute push commands automatically.
430
+
431
+ ⚠️ Only use this mode if:
432
+ - SSH key has no password
433
+ - GitHub CLI is authenticated
434
434
  - You trust the AI assistant completely`,
435
435
  };
436
436
  // Insert push mode config after <!-- GIT:START -->
@@ -28,10 +28,33 @@ export declare class TaskManager {
28
28
  * Get the path to a task directory
29
29
  */
30
30
  getTaskPath(taskId: string): string;
31
+ /**
32
+ * Validate task ID follows phase naming convention: phase<x>_<description>
33
+ */
34
+ validateTaskId(taskId: string): {
35
+ valid: boolean;
36
+ error?: string;
37
+ };
38
+ /**
39
+ * Extract phase number from task ID for sorting
40
+ */
41
+ extractPhase(taskId: string): {
42
+ phase: number;
43
+ subletter: string;
44
+ };
31
45
  /**
32
46
  * Create a new task
33
47
  */
34
48
  createTask(taskId: string): Promise<void>;
49
+ /**
50
+ * Generate and update README.md index in the tasks root directory.
51
+ * Groups tasks by phase and shows status, description, and progress.
52
+ */
53
+ updateReadme(): Promise<void>;
54
+ /**
55
+ * Migrate archive directory from legacy location (tasks/archive) to new location (.rulebook/archive)
56
+ */
57
+ migrateArchive(): Promise<boolean>;
35
58
  /**
36
59
  * List all tasks
37
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../../src/core/task-manager.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAoB;IAMlE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD/C;;OAEG;IACG,SAAS,CAAC,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyC1E;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAsFvF;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkEjE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCjF;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrF;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAW9E;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAiB5D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWhD;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAoB,GAChC,WAAW,CAEb"}
1
+ {"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../../src/core/task-manager.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAoB;IAMlE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAUlE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAMlE;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE/C;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkEnC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAkCxC;;OAEG;IACG,SAAS,CAAC,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyC1E;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAsFvF;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkEjE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCjF;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBrF;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAW9E;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAiB5D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAchD;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAoB,GAChC,WAAW,CAEb"}
@@ -6,6 +6,12 @@ const writeFileAsync = promisify(fsWriteFile);
6
6
  const TASKS_DIR = 'tasks';
7
7
  const ARCHIVE_DIR = 'archive';
8
8
  const SPECS_DIR = 'specs';
9
+ const README_FILE = 'README.md';
10
+ /**
11
+ * Regex for phase-based task naming: phase<number>[subletter]_<version>-<description>
12
+ * Examples: phase0_3.1.0-volumetric-clouds, phase3a_3.24.0-lens-flare
13
+ */
14
+ const PHASE_PREFIX_REGEX = /^phase\d+[a-z]?_/;
9
15
  export class TaskManager {
10
16
  rulebookPath;
11
17
  tasksPath;
@@ -13,7 +19,7 @@ export class TaskManager {
13
19
  constructor(projectRoot, rulebookDir = '.rulebook') {
14
20
  this.rulebookPath = join(projectRoot, rulebookDir);
15
21
  this.tasksPath = join(this.rulebookPath, TASKS_DIR);
16
- this.archivePath = join(this.tasksPath, ARCHIVE_DIR);
22
+ this.archivePath = join(this.rulebookPath, ARCHIVE_DIR);
17
23
  }
18
24
  /**
19
25
  * Initialize Rulebook tasks directory structure
@@ -28,6 +34,8 @@ export class TaskManager {
28
34
  if (!existsSync(this.archivePath)) {
29
35
  mkdirSync(this.archivePath, { recursive: true });
30
36
  }
37
+ // Auto-migrate legacy archive from tasks/archive to .rulebook/archive
38
+ await this.migrateArchive();
31
39
  }
32
40
  /**
33
41
  * Get the path to a task directory
@@ -35,11 +43,37 @@ export class TaskManager {
35
43
  getTaskPath(taskId) {
36
44
  return join(this.tasksPath, taskId);
37
45
  }
46
+ /**
47
+ * Validate task ID follows phase naming convention: phase<x>_<description>
48
+ */
49
+ validateTaskId(taskId) {
50
+ if (!PHASE_PREFIX_REGEX.test(taskId)) {
51
+ return {
52
+ valid: false,
53
+ error: `Task ID "${taskId}" must start with a phase prefix (e.g., phase0_, phase1_, phase2a_). Example: phase1_add-user-auth`,
54
+ };
55
+ }
56
+ return { valid: true };
57
+ }
58
+ /**
59
+ * Extract phase number from task ID for sorting
60
+ */
61
+ extractPhase(taskId) {
62
+ const match = taskId.match(/^phase(\d+)([a-z])?_/);
63
+ if (!match)
64
+ return { phase: Infinity, subletter: '' };
65
+ return { phase: parseInt(match[1], 10), subletter: match[2] || '' };
66
+ }
38
67
  /**
39
68
  * Create a new task
40
69
  */
41
70
  async createTask(taskId) {
42
71
  await this.initialize();
72
+ // Validate phase naming convention
73
+ const nameValidation = this.validateTaskId(taskId);
74
+ if (!nameValidation.valid) {
75
+ throw new Error(nameValidation.error);
76
+ }
43
77
  const taskPath = join(this.tasksPath, taskId);
44
78
  if (existsSync(taskPath)) {
45
79
  throw new Error(`Task ${taskId} already exists`);
@@ -47,33 +81,33 @@ export class TaskManager {
47
81
  mkdirSync(taskPath, { recursive: true });
48
82
  mkdirSync(join(taskPath, SPECS_DIR), { recursive: true });
49
83
  // Create proposal.md template
50
- const proposalContent = `# Proposal: ${taskId}
51
-
52
- ## Why
53
- [Explain why this change is needed - minimum 20 characters]
54
-
55
- ## What Changes
56
- [Describe what will change]
57
-
58
- ## Impact
59
- - Affected specs: [list]
60
- - Affected code: [list]
61
- - Breaking change: YES/NO
62
- - User benefit: [describe]
84
+ const proposalContent = `# Proposal: ${taskId}
85
+
86
+ ## Why
87
+ [Explain why this change is needed - minimum 20 characters]
88
+
89
+ ## What Changes
90
+ [Describe what will change]
91
+
92
+ ## Impact
93
+ - Affected specs: [list]
94
+ - Affected code: [list]
95
+ - Breaking change: YES/NO
96
+ - User benefit: [describe]
63
97
  `;
64
98
  await writeFileAsync(join(taskPath, 'proposal.md'), proposalContent);
65
99
  // Create tasks.md template
66
- const tasksContent = `## 1. Implementation
67
- - [ ] 1.1 First task
68
- - [ ] 1.2 Second task
69
-
70
- ## 2. Testing
71
- - [ ] 2.1 Write tests
72
- - [ ] 2.2 Verify coverage
73
-
74
- ## 3. Documentation
75
- - [ ] 3.1 Update README
76
- - [ ] 3.2 Update CHANGELOG
100
+ const tasksContent = `## 1. Implementation
101
+ - [ ] 1.1 First task
102
+ - [ ] 1.2 Second task
103
+
104
+ ## 2. Testing
105
+ - [ ] 2.1 Write tests
106
+ - [ ] 2.2 Verify coverage
107
+
108
+ ## 3. Documentation
109
+ - [ ] 3.1 Update README
110
+ - [ ] 3.2 Update CHANGELOG
77
111
  `;
78
112
  await writeFileAsync(join(taskPath, 'tasks.md'), tasksContent);
79
113
  // Create .metadata.json with initial status
@@ -84,6 +118,104 @@ export class TaskManager {
84
118
  updatedAt: now,
85
119
  };
86
120
  await writeFileAsync(join(taskPath, '.metadata.json'), JSON.stringify(metadata, null, 2));
121
+ // Update tasks README index
122
+ await this.updateReadme();
123
+ }
124
+ /**
125
+ * Generate and update README.md index in the tasks root directory.
126
+ * Groups tasks by phase and shows status, description, and progress.
127
+ */
128
+ async updateReadme() {
129
+ const tasks = await this.listTasks(false);
130
+ // Sort tasks by phase, then by subletter, then alphabetically
131
+ tasks.sort((a, b) => {
132
+ const phaseA = this.extractPhase(a.id);
133
+ const phaseB = this.extractPhase(b.id);
134
+ if (phaseA.phase !== phaseB.phase)
135
+ return phaseA.phase - phaseB.phase;
136
+ if (phaseA.subletter !== phaseB.subletter)
137
+ return phaseA.subletter.localeCompare(phaseB.subletter);
138
+ return a.id.localeCompare(b.id);
139
+ });
140
+ // Group by phase
141
+ const phases = new Map();
142
+ for (const task of tasks) {
143
+ const match = task.id.match(/^(phase\d+[a-z]?)_/);
144
+ const phaseKey = match ? match[1] : 'unphased';
145
+ if (!phases.has(phaseKey))
146
+ phases.set(phaseKey, []);
147
+ phases.get(phaseKey).push(task);
148
+ }
149
+ // Calculate progress for each task from tasks.md checklist
150
+ const getProgress = (task) => {
151
+ if (!task.tasks)
152
+ return { done: 0, total: 0 };
153
+ const checked = (task.tasks.match(/- \[x\]/gi) || []).length;
154
+ const unchecked = (task.tasks.match(/- \[ \]/g) || []).length;
155
+ return { done: checked, total: checked + unchecked };
156
+ };
157
+ const statusIcon = (status) => {
158
+ switch (status) {
159
+ case 'completed': return '✅';
160
+ case 'in-progress': return '🔄';
161
+ case 'blocked': return '🚫';
162
+ default: return '⬚';
163
+ }
164
+ };
165
+ let readme = `# Tasks Index\n\n`;
166
+ readme += `> Auto-generated by rulebook. Do not edit manually.\n\n`;
167
+ const totalTasks = tasks.length;
168
+ const completedTasks = tasks.filter(t => t.status === 'completed').length;
169
+ const inProgressTasks = tasks.filter(t => t.status === 'in-progress').length;
170
+ readme += `**Total**: ${totalTasks} tasks | **Completed**: ${completedTasks} | **In Progress**: ${inProgressTasks} | **Pending**: ${totalTasks - completedTasks - inProgressTasks}\n\n`;
171
+ for (const [phaseKey, phaseTasks] of phases) {
172
+ readme += `## ${phaseKey}\n\n`;
173
+ readme += `| Status | Task | Progress | Description |\n`;
174
+ readme += `|--------|------|----------|-------------|\n`;
175
+ for (const task of phaseTasks) {
176
+ const progress = getProgress(task);
177
+ const progressStr = progress.total > 0
178
+ ? `${progress.done}/${progress.total}`
179
+ : '-';
180
+ // Extract short description from task ID (after phase prefix)
181
+ const desc = task.id.replace(/^phase\d+[a-z]?_/, '').replace(/-/g, ' ');
182
+ readme += `| ${statusIcon(task.status)} | ${task.id} | ${progressStr} | ${desc} |\n`;
183
+ }
184
+ readme += `\n`;
185
+ }
186
+ await writeFileUtil(join(this.tasksPath, README_FILE), readme);
187
+ }
188
+ /**
189
+ * Migrate archive directory from legacy location (tasks/archive) to new location (.rulebook/archive)
190
+ */
191
+ async migrateArchive() {
192
+ const legacyArchivePath = join(this.tasksPath, ARCHIVE_DIR);
193
+ if (!existsSync(legacyArchivePath) || !statSync(legacyArchivePath).isDirectory()) {
194
+ return false;
195
+ }
196
+ // Already migrated — new archive path exists and legacy also exists
197
+ if (!existsSync(this.archivePath)) {
198
+ mkdirSync(this.archivePath, { recursive: true });
199
+ }
200
+ // Move each archived task from legacy to new location
201
+ const entries = readdirSync(legacyArchivePath, { withFileTypes: true });
202
+ const { renameSync } = await import('fs');
203
+ for (const entry of entries) {
204
+ if (entry.isDirectory()) {
205
+ const src = join(legacyArchivePath, entry.name);
206
+ const dest = join(this.archivePath, entry.name);
207
+ if (!existsSync(dest)) {
208
+ renameSync(src, dest);
209
+ }
210
+ }
211
+ }
212
+ // Remove legacy archive directory if empty
213
+ const remaining = readdirSync(legacyArchivePath);
214
+ if (remaining.length === 0) {
215
+ const { rmdirSync } = await import('fs');
216
+ rmdirSync(legacyArchivePath);
217
+ }
218
+ return true;
87
219
  }
88
220
  /**
89
221
  * List all tasks
@@ -300,8 +432,8 @@ export class TaskManager {
300
432
  // Move task to archive using cross-platform filesystem operations
301
433
  const { renameSync } = await import('fs');
302
434
  renameSync(taskPath, archiveTaskPath);
303
- // TODO: Apply spec deltas to main specifications
304
- // This would require parsing the spec deltas and merging them into /rulebook/specs/
435
+ // Update tasks README index
436
+ await this.updateReadme();
305
437
  }
306
438
  /**
307
439
  * Update task status
@@ -322,6 +454,8 @@ export class TaskManager {
322
454
  updatedAt: task.updatedAt,
323
455
  };
324
456
  await writeFileUtil(metadataPath, JSON.stringify(metadata, null, 2));
457
+ // Update tasks README index
458
+ await this.updateReadme();
325
459
  }
326
460
  /**
327
461
  * Get raw task metadata (including blocks/blockedBy/cascadeImpact for v5 blocker tracking)
@@ -366,6 +500,8 @@ export class TaskManager {
366
500
  // Remove task directory recursively
367
501
  const { rmSync } = await import('fs');
368
502
  rmSync(taskPath, { recursive: true, force: true });
503
+ // Update tasks README index
504
+ await this.updateReadme();
369
505
  }
370
506
  }
371
507
  export function createTaskManager(projectRoot, rulebookDir = '.rulebook') {
@@ -1 +1 @@
1
- {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../../src/core/task-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,QAAQ,IAAI,YAAY,EACxB,SAAS,IAAI,aAAa,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAE9C,MAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,SAAS,GAAG,OAAO,CAAC;AAqB1B,MAAM,OAAO,WAAW;IACd,YAAY,CAAS;IACrB,SAAS,CAAS;IAClB,WAAW,CAAS;IAE5B,YAAY,WAAmB,EAAE,cAAsB,WAAW;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,iBAAiB,CAAC,CAAC;QACnD,CAAC;QAED,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1D,8BAA8B;QAC9B,MAAM,eAAe,GAAG,eAAe,MAAM;;;;;;;;;;;;;CAahD,CAAC;QAEE,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;QAErE,2BAA2B;QAC3B,MAAM,YAAY,GAAG;;;;;;;;;;;CAWxB,CAAC;QAEE,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QAE/D,4CAA4C;QAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE,SAAkB;YAC1B,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QACF,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,kBAA2B,KAAK;QAC9C,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,oBAAoB;QACpB,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,IAAI,EAAE,CAAC;wBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,eAAe,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACnD,IAAI,IAAI,EAAE,CAAC;wBACT,6DAA6D;wBAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBAC5D,IAAI,SAAS,EAAE,CAAC;4BACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,WAAoB,KAAK;QACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEtD,qFAAqF;QACrF,IAAI,cAAc,GAAG,MAAM,CAAC;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAiB;YACzB,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,sCAAsC;QACtC,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC9D,IAAI,QAAQ,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACnD,IAAI,QAAQ,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC5D,IAAI,QAAQ,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,aAAa;QACb,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,cAAc;QACd,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,aAAa;QACb,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC5D,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC,QAAQ,MAAM,YAAY,CAAC;gBACpC,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC5E,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,yCAAyC;gBACzC,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;gBAC1E,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,2CAA2C,GAAG,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;gBAED,8CAA8C;gBAC9C,oDAAoD;gBACpD,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBACrE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,kDAAkD,CAAC,CAAC;gBACxF,CAAC;gBAED,sCAAsC;gBACtC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC;gBAClF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;wBACtC,QAAQ,CAAC,IAAI,CAAC,eAAe,MAAM,+CAA+C,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,iBAA0B,KAAK;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE5D,kCAAkC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAED,kEAAkE;QAClE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEtC,iDAAiD;QACjD,oFAAoF;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAA8B;QACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE1C,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,MAAM,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,yBAAyB;QACzB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB;QACrB,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,oCAAoC;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,cAAsB,WAAW;IAEjC,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../../src/core/task-manager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -270,7 +270,7 @@ export async function startRulebookMcpServer() {
270
270
  }
271
271
  const server = new McpServer({
272
272
  name: 'rulebook-task-management',
273
- version: '5.1.3',
273
+ version: '5.2.0',
274
274
  });
275
275
  // --- Wrap all tool handlers with timeout guard ---
276
276
  // Intercept registerTool to automatically add timeout protection to every handler.
@@ -302,7 +302,7 @@ export async function startRulebookMcpServer() {
302
302
  title: 'Create Rulebook Task',
303
303
  description: 'Create a new Rulebook task',
304
304
  inputSchema: {
305
- taskId: z.string().describe('Task ID in kebab-case'),
305
+ taskId: z.string().describe('Task ID with phase prefix: phase<N>_<description> (e.g., phase1_add-user-auth, phase2a_fix-login-bug)'),
306
306
  projectId: projectIdSchema,
307
307
  },
308
308
  }, async (args) => {
@@ -442,7 +442,7 @@ export async function startRulebookMcpServer() {
442
442
  title: 'Archive Rulebook Task',
443
443
  description: 'Archive a completed task',
444
444
  inputSchema: {
445
- taskId: z.string().describe('Task ID to archive'),
445
+ taskId: z.string().describe('Task ID to archive (must use phase prefix, e.g., phase1_my-task)'),
446
446
  skipValidation: z.boolean().optional().describe('Skip validation before archiving'),
447
447
  projectId: projectIdSchema,
448
448
  },