@hivehub/rulebook 5.5.2 → 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 (834) 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-learn-capture.md +41 -48
  8. package/.claude/commands/rulebook-learn-list.md +13 -13
  9. package/.claude/commands/rulebook-memory-save.md +48 -48
  10. package/.claude/commands/rulebook-memory-search.md +47 -47
  11. package/.claude/commands/rulebook-task-apply.md +67 -67
  12. package/.claude/commands/rulebook-task-archive.md +94 -94
  13. package/.claude/commands/rulebook-task-create.md +93 -93
  14. package/.claude/commands/rulebook-task-list.md +42 -42
  15. package/.claude/commands/rulebook-task-show.md +52 -52
  16. package/.claude/commands/rulebook-task-validate.md +53 -53
  17. package/.claude-plugin/marketplace.json +28 -28
  18. package/.claude-plugin/plugin.json +8 -8
  19. package/README.md +418 -394
  20. package/dist/cli/commands/claude.d.ts +17 -0
  21. package/dist/cli/commands/claude.d.ts.map +1 -0
  22. package/dist/cli/commands/claude.js +56 -0
  23. package/dist/cli/commands/claude.js.map +1 -0
  24. package/dist/cli/commands/context-intelligence.d.ts +0 -1
  25. package/dist/cli/commands/context-intelligence.d.ts.map +1 -1
  26. package/dist/cli/commands/context-intelligence.js +12 -33
  27. package/dist/cli/commands/context-intelligence.js.map +1 -1
  28. package/dist/cli/commands/index.d.ts +4 -7
  29. package/dist/cli/commands/index.d.ts.map +1 -1
  30. package/dist/cli/commands/index.js +4 -7
  31. package/dist/cli/commands/index.js.map +1 -1
  32. package/dist/cli/commands/init.d.ts.map +1 -1
  33. package/dist/cli/commands/init.js +58 -83
  34. package/dist/cli/commands/init.js.map +1 -1
  35. package/dist/cli/commands/mcp.d.ts +0 -1
  36. package/dist/cli/commands/mcp.d.ts.map +1 -1
  37. package/dist/cli/commands/mcp.js +1 -7
  38. package/dist/cli/commands/mcp.js.map +1 -1
  39. package/dist/cli/commands/memory.d.ts +7 -1
  40. package/dist/cli/commands/memory.d.ts.map +1 -1
  41. package/dist/cli/commands/memory.js +51 -57
  42. package/dist/cli/commands/memory.js.map +1 -1
  43. package/dist/cli/commands/misc.d.ts +1 -15
  44. package/dist/cli/commands/misc.d.ts.map +1 -1
  45. package/dist/cli/commands/misc.js +36 -215
  46. package/dist/cli/commands/misc.js.map +1 -1
  47. package/dist/cli/commands/plans.d.ts +0 -6
  48. package/dist/cli/commands/plans.d.ts.map +1 -1
  49. package/dist/cli/commands/plans.js +9 -77
  50. package/dist/cli/commands/plans.js.map +1 -1
  51. package/dist/cli/commands/skills.js +6 -6
  52. package/dist/cli/commands/skills.js.map +1 -1
  53. package/dist/cli/commands/task.js +4 -4
  54. package/dist/cli/commands/task.js.map +1 -1
  55. package/dist/cli/commands/update.d.ts.map +1 -1
  56. package/dist/cli/commands/update.js +128 -53
  57. package/dist/cli/commands/update.js.map +1 -1
  58. package/dist/cli/prompts.d.ts +13 -0
  59. package/dist/cli/prompts.d.ts.map +1 -1
  60. package/dist/cli/prompts.js +107 -78
  61. package/dist/cli/prompts.js.map +1 -1
  62. package/dist/core/{claude-mcp.d.ts → claude/claude-mcp.d.ts} +9 -0
  63. package/dist/core/claude/claude-mcp.d.ts.map +1 -0
  64. package/dist/core/{claude-mcp.js → claude/claude-mcp.js} +33 -3
  65. package/dist/core/claude/claude-mcp.js.map +1 -0
  66. package/dist/core/claude/claude-md-generator.d.ts.map +1 -0
  67. package/dist/core/{claude-md-generator.js → claude/claude-md-generator.js} +2 -2
  68. package/dist/core/claude/claude-md-generator.js.map +1 -0
  69. package/dist/core/{claude-settings-manager.d.ts → claude/claude-settings-manager.d.ts} +12 -0
  70. package/dist/core/claude/claude-settings-manager.d.ts.map +1 -0
  71. package/dist/core/{claude-settings-manager.js → claude/claude-settings-manager.js} +81 -22
  72. package/dist/core/claude/claude-settings-manager.js.map +1 -0
  73. package/dist/core/{cli-bridge.d.ts → console/cli-bridge.d.ts} +2 -2
  74. package/dist/core/console/cli-bridge.d.ts.map +1 -0
  75. package/dist/core/{cli-bridge.js → console/cli-bridge.js} +3 -3
  76. package/dist/core/console/cli-bridge.js.map +1 -0
  77. package/dist/core/{detector.d.ts → detect/detector.d.ts} +16 -1
  78. package/dist/core/detect/detector.d.ts.map +1 -0
  79. package/dist/core/detect/detector.js +766 -0
  80. package/dist/core/detect/detector.js.map +1 -0
  81. package/dist/core/detect/library-registry.d.ts +40 -0
  82. package/dist/core/detect/library-registry.d.ts.map +1 -0
  83. package/dist/core/detect/library-registry.js +239 -0
  84. package/dist/core/detect/library-registry.js.map +1 -0
  85. package/dist/core/docs/docs-generator.d.ts.map +1 -0
  86. package/dist/core/{docs-generator.js → docs/docs-generator.js} +1 -1
  87. package/dist/core/docs/docs-generator.js.map +1 -0
  88. package/dist/core/docs/mcp-reference-generator.d.ts.map +1 -0
  89. package/dist/core/{mcp-reference-generator.js → docs/mcp-reference-generator.js} +2 -2
  90. package/dist/core/docs/mcp-reference-generator.js.map +1 -0
  91. package/dist/core/{generator.d.ts → generators/generator.d.ts} +3 -4
  92. package/dist/core/generators/generator.d.ts.map +1 -0
  93. package/dist/core/{generator.js → generators/generator.js} +42 -157
  94. package/dist/core/generators/generator.js.map +1 -0
  95. package/dist/core/{gitignore-generator.d.ts → generators/gitignore-generator.d.ts} +1 -1
  96. package/dist/core/generators/gitignore-generator.d.ts.map +1 -0
  97. package/dist/core/{gitignore-generator.js → generators/gitignore-generator.js} +1 -1
  98. package/dist/core/generators/gitignore-generator.js.map +1 -0
  99. package/dist/core/generators/minimal-scaffolder.d.ts.map +1 -0
  100. package/dist/core/{minimal-scaffolder.js → generators/minimal-scaffolder.js} +2 -2
  101. package/dist/core/generators/minimal-scaffolder.js.map +1 -0
  102. package/dist/core/{rules-generator.d.ts → generators/rules-generator.d.ts} +2 -6
  103. package/dist/core/generators/rules-generator.d.ts.map +1 -0
  104. package/dist/core/{rules-generator.js → generators/rules-generator.js} +41 -2
  105. package/dist/core/generators/rules-generator.js.map +1 -0
  106. package/dist/core/{workflow-generator.d.ts → generators/workflow-generator.d.ts} +1 -1
  107. package/dist/core/generators/workflow-generator.d.ts.map +1 -0
  108. package/dist/core/{workflow-generator.js → generators/workflow-generator.js} +2 -3
  109. package/dist/core/generators/workflow-generator.js.map +1 -0
  110. package/dist/core/{multi-tool-generator.d.ts → ide/multi-tool-generator.d.ts} +1 -1
  111. package/dist/core/ide/multi-tool-generator.d.ts.map +1 -0
  112. package/dist/core/{multi-tool-generator.js → ide/multi-tool-generator.js} +1 -1
  113. package/dist/core/ide/multi-tool-generator.js.map +1 -0
  114. package/dist/core/ide/opencode-generator.d.ts +72 -0
  115. package/dist/core/ide/opencode-generator.d.ts.map +1 -0
  116. package/dist/core/ide/opencode-generator.js +450 -0
  117. package/dist/core/ide/opencode-generator.js.map +1 -0
  118. package/dist/core/merger.d.ts +1 -1
  119. package/dist/core/merger.d.ts.map +1 -1
  120. package/dist/core/merger.js +5 -5
  121. package/dist/core/merger.js.map +1 -1
  122. package/dist/core/migrator.d.ts +0 -1
  123. package/dist/core/migrator.d.ts.map +1 -1
  124. package/dist/core/migrator.js +4 -29
  125. package/dist/core/migrator.js.map +1 -1
  126. package/dist/core/quality/coverage-checker.d.ts.map +1 -0
  127. package/dist/core/{coverage-checker.js → quality/coverage-checker.js} +2 -2
  128. package/dist/core/quality/coverage-checker.js.map +1 -0
  129. package/dist/core/quality/dependency-checker.d.ts.map +1 -0
  130. package/dist/core/{dependency-checker.js → quality/dependency-checker.js} +1 -1
  131. package/dist/core/quality/dependency-checker.js.map +1 -0
  132. package/dist/core/quality/doctor.d.ts.map +1 -0
  133. package/dist/core/{doctor.js → quality/doctor.js} +1 -67
  134. package/dist/core/quality/doctor.js.map +1 -0
  135. package/dist/core/quality/validator.d.ts.map +1 -0
  136. package/dist/core/{validator.js → quality/validator.js} +1 -1
  137. package/dist/core/quality/validator.js.map +1 -0
  138. package/dist/core/{skills-manager.d.ts → skills/skills-manager.d.ts} +1 -1
  139. package/dist/core/skills/skills-manager.d.ts.map +1 -0
  140. package/dist/core/{skills-manager.js → skills/skills-manager.js} +1 -25
  141. package/dist/core/skills/skills-manager.js.map +1 -0
  142. package/dist/core/{config-manager.d.ts → state/config-manager.d.ts} +1 -1
  143. package/dist/core/state/config-manager.d.ts.map +1 -0
  144. package/dist/core/{config-manager.js → state/config-manager.js} +2 -61
  145. package/dist/core/state/config-manager.js.map +1 -0
  146. package/dist/core/state/override-manager.d.ts.map +1 -0
  147. package/dist/core/{override-manager.js → state/override-manager.js} +1 -1
  148. package/dist/core/state/override-manager.js.map +1 -0
  149. package/dist/core/{state-writer.d.ts → state/state-writer.d.ts} +2 -3
  150. package/dist/core/state/state-writer.d.ts.map +1 -0
  151. package/dist/core/{state-writer.js → state/state-writer.js} +6 -9
  152. package/dist/core/state/state-writer.js.map +1 -0
  153. package/dist/core/state/version-bumper.d.ts.map +1 -0
  154. package/dist/core/{version-bumper.js → state/version-bumper.js} +1 -1
  155. package/dist/core/state/version-bumper.js.map +1 -0
  156. package/dist/core/{decision-manager.d.ts → tasks/decision-manager.d.ts} +1 -1
  157. package/dist/core/tasks/decision-manager.d.ts.map +1 -0
  158. package/dist/core/{decision-manager.js → tasks/decision-manager.js} +1 -1
  159. package/dist/core/tasks/decision-manager.js.map +1 -0
  160. package/dist/core/{knowledge-manager.d.ts → tasks/knowledge-manager.d.ts} +1 -1
  161. package/dist/core/tasks/knowledge-manager.d.ts.map +1 -0
  162. package/dist/core/{knowledge-manager.js → tasks/knowledge-manager.js} +1 -1
  163. package/dist/core/tasks/knowledge-manager.js.map +1 -0
  164. package/dist/core/{learn-manager.d.ts → tasks/learn-manager.d.ts} +1 -3
  165. package/dist/core/tasks/learn-manager.d.ts.map +1 -0
  166. package/dist/core/{learn-manager.js → tasks/learn-manager.js} +1 -39
  167. package/dist/core/tasks/learn-manager.js.map +1 -0
  168. package/dist/core/tasks/plans-manager.d.ts.map +1 -0
  169. package/dist/core/{plans-manager.js → tasks/plans-manager.js} +1 -1
  170. package/dist/core/tasks/plans-manager.js.map +1 -0
  171. package/dist/core/tasks/task-manager.d.ts.map +1 -0
  172. package/dist/core/{task-manager.js → tasks/task-manager.js} +2 -2
  173. package/dist/core/tasks/task-manager.js.map +1 -0
  174. package/dist/core/workspace/project-worker.d.ts +6 -6
  175. package/dist/core/workspace/project-worker.d.ts.map +1 -1
  176. package/dist/core/workspace/project-worker.js +6 -6
  177. package/dist/core/workspace/project-worker.js.map +1 -1
  178. package/dist/index.d.ts +1 -1
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +31 -176
  181. package/dist/index.js.map +1 -1
  182. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  183. package/dist/mcp/rulebook-server.js +16 -960
  184. package/dist/mcp/rulebook-server.js.map +1 -1
  185. package/dist/memory/file-search.d.ts +43 -0
  186. package/dist/memory/file-search.d.ts.map +1 -0
  187. package/dist/memory/file-search.js +228 -0
  188. package/dist/memory/file-search.js.map +1 -0
  189. package/dist/memory/file-store.d.ts +99 -0
  190. package/dist/memory/file-store.d.ts.map +1 -0
  191. package/dist/memory/file-store.js +615 -0
  192. package/dist/memory/file-store.js.map +1 -0
  193. package/dist/memory/legacy-migrator.d.ts +27 -0
  194. package/dist/memory/legacy-migrator.d.ts.map +1 -0
  195. package/dist/memory/legacy-migrator.js +185 -0
  196. package/dist/memory/legacy-migrator.js.map +1 -0
  197. package/dist/memory/memory-manager.d.ts +25 -24
  198. package/dist/memory/memory-manager.d.ts.map +1 -1
  199. package/dist/memory/memory-manager.js +97 -140
  200. package/dist/memory/memory-manager.js.map +1 -1
  201. package/dist/memory/memory-types.d.ts +1 -1
  202. package/dist/memory/memory-types.d.ts.map +1 -1
  203. package/dist/types.d.ts +20 -118
  204. package/dist/types.d.ts.map +1 -1
  205. package/package.json +23 -27
  206. package/templates/agents/accessibility-reviewer.md +43 -43
  207. package/templates/agents/api-designer.md +42 -42
  208. package/templates/agents/architect.md +51 -51
  209. package/templates/agents/build-engineer.md +36 -36
  210. package/templates/agents/code-reviewer.md +47 -47
  211. package/templates/agents/compiler/codegen-debugger.md +34 -34
  212. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  213. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  214. package/templates/agents/context-intelligence.md +50 -52
  215. package/templates/agents/database-architect.md +41 -41
  216. package/templates/agents/devops-engineer.md +42 -42
  217. package/templates/agents/docs-writer.md +38 -38
  218. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  219. package/templates/agents/game-engine/render-engineer.md +22 -22
  220. package/templates/agents/game-engine/shader-engineer.md +38 -38
  221. package/templates/agents/game-engine/systems-integration.md +43 -43
  222. package/templates/agents/generic/code-reviewer.md +41 -41
  223. package/templates/agents/generic/docs-writer.md +25 -25
  224. package/templates/agents/generic/project-manager.md +36 -36
  225. package/templates/agents/generic/researcher.md +34 -34
  226. package/templates/agents/generic/test-engineer.md +41 -41
  227. package/templates/agents/i18n-engineer.md +42 -42
  228. package/templates/agents/implementer.md +42 -42
  229. package/templates/agents/migration-engineer.md +42 -42
  230. package/templates/agents/mobile/platform-specialist.md +22 -22
  231. package/templates/agents/mobile/ui-engineer.md +22 -22
  232. package/templates/agents/performance-engineer.md +49 -49
  233. package/templates/agents/project-manager.md +215 -0
  234. package/templates/agents/quality-gatekeeper.md +205 -0
  235. package/templates/agents/refactoring-agent.md +41 -41
  236. package/templates/agents/researcher.md +38 -38
  237. package/templates/agents/security-reviewer.md +40 -40
  238. package/templates/agents/team-lead.md +37 -37
  239. package/templates/agents/tester.md +48 -48
  240. package/templates/agents/ux-reviewer.md +43 -43
  241. package/templates/agents/web-app/api-designer.md +22 -22
  242. package/templates/agents/web-app/backend-engineer.md +30 -30
  243. package/templates/agents/web-app/database-engineer.md +22 -22
  244. package/templates/agents/web-app/frontend-engineer.md +29 -29
  245. package/templates/agents/web-app/security-reviewer.md +32 -32
  246. package/templates/ci/rulebook-review.yml +26 -26
  247. package/templates/claude-workflows/bugfix.js +94 -0
  248. package/templates/claude-workflows/feature-pipeline.js +88 -0
  249. package/templates/claude-workflows/release-gate.js +64 -0
  250. package/templates/claude-workflows/review-fanout.js +118 -0
  251. package/templates/claude-workflows/rulebook-driver.js +343 -0
  252. package/templates/claude-workflows/spec-author.js +133 -0
  253. package/templates/cli/AIDER.md +49 -49
  254. package/templates/cli/AMAZON_Q.md +25 -25
  255. package/templates/cli/AUGGIE.md +32 -32
  256. package/templates/cli/CLAUDE.md +117 -117
  257. package/templates/cli/CLINE.md +99 -99
  258. package/templates/cli/CODEBUDDY.md +20 -20
  259. package/templates/cli/CODEIUM.md +20 -20
  260. package/templates/cli/CODEX.md +21 -21
  261. package/templates/cli/CONTINUE.md +34 -34
  262. package/templates/cli/CURSOR_CLI.md +62 -62
  263. package/templates/cli/FACTORY.md +18 -18
  264. package/templates/cli/GEMINI.md +35 -35
  265. package/templates/cli/KILOCODE.md +18 -18
  266. package/templates/cli/OPENCODE.md +85 -18
  267. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  268. package/templates/commands/rulebook-decision-create.md +55 -55
  269. package/templates/commands/rulebook-decision-list.md +15 -15
  270. package/templates/commands/rulebook-knowledge-add.md +41 -41
  271. package/templates/commands/rulebook-knowledge-list.md +15 -15
  272. package/templates/commands/rulebook-learn-capture.md +41 -48
  273. package/templates/commands/rulebook-learn-list.md +13 -13
  274. package/templates/commands/rulebook-memory-save.md +48 -48
  275. package/templates/commands/rulebook-memory-search.md +47 -47
  276. package/templates/commands/rulebook-task-apply.md +67 -67
  277. package/templates/commands/rulebook-task-archive.md +94 -94
  278. package/templates/commands/rulebook-task-create.md +93 -93
  279. package/templates/commands/rulebook-task-list.md +42 -42
  280. package/templates/commands/rulebook-task-show.md +52 -52
  281. package/templates/commands/rulebook-task-validate.md +53 -53
  282. package/templates/compact-context/_default.md +23 -23
  283. package/templates/compact-context/cpp.md +26 -26
  284. package/templates/compact-context/go.md +26 -26
  285. package/templates/compact-context/python.md +26 -26
  286. package/templates/compact-context/rust.md +28 -28
  287. package/templates/compact-context/typescript.md +29 -29
  288. package/templates/core/AGENTS_LEAN.md +0 -14
  289. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  290. package/templates/core/AGENT_AUTOMATION.md +296 -296
  291. package/templates/core/CLAUDE_MD_v2.md +90 -90
  292. package/templates/core/DAG.md +304 -304
  293. package/templates/core/DECISIONS.md +38 -38
  294. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  295. package/templates/core/KNOWLEDGE.md +49 -49
  296. package/templates/core/MULTI_AGENT.md +74 -74
  297. package/templates/core/PLANS.md +28 -28
  298. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  299. package/templates/core/RULEBOOK.md +1947 -1947
  300. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  301. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  302. package/templates/git/CI_CD_PATTERNS.md +661 -661
  303. package/templates/git/GITHUB_ACTIONS.md +728 -728
  304. package/templates/git/GITLAB_CI.md +730 -730
  305. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  306. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  307. package/templates/hooks/COMMIT_MSG.md +530 -530
  308. package/templates/hooks/POST_CHECKOUT.md +546 -546
  309. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  310. package/templates/hooks/PRE_COMMIT.md +414 -414
  311. package/templates/hooks/PRE_PUSH.md +601 -601
  312. package/templates/hooks/check-context-and-handoff.sh +24 -16
  313. package/templates/hooks/enforce-pre-tool.sh +70 -0
  314. package/templates/hooks/terse-mode-tracker.sh +146 -143
  315. package/templates/hooks/update-check.ps1 +84 -0
  316. package/templates/hooks/update-check.sh +103 -0
  317. package/templates/ides/CONTINUE_RULES.md +16 -16
  318. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  319. package/templates/ides/GEMINI_RULES.md +17 -17
  320. package/templates/ides/OPENCODE.md +63 -0
  321. package/templates/ides/WINDSURF_RULES.md +14 -14
  322. package/templates/languages/C.md +333 -333
  323. package/templates/languages/CPP.md +743 -743
  324. package/templates/languages/CSHARP.md +417 -417
  325. package/templates/languages/ELIXIR.md +454 -454
  326. package/templates/languages/ERLANG.md +361 -361
  327. package/templates/languages/GO.md +645 -645
  328. package/templates/languages/HASKELL.md +177 -177
  329. package/templates/languages/JAVA.md +607 -607
  330. package/templates/languages/JAVASCRIPT.md +631 -631
  331. package/templates/languages/JULIA.md +97 -97
  332. package/templates/languages/KOTLIN.md +511 -511
  333. package/templates/languages/LISP.md +100 -100
  334. package/templates/languages/LUA.md +74 -74
  335. package/templates/languages/OBJECTIVEC.md +90 -90
  336. package/templates/languages/PHP.md +416 -416
  337. package/templates/languages/PYTHON.md +682 -682
  338. package/templates/languages/RUBY.md +421 -421
  339. package/templates/languages/RUST.md +477 -477
  340. package/templates/languages/SAS.md +73 -73
  341. package/templates/languages/SCALA.md +348 -348
  342. package/templates/languages/SOLIDITY.md +580 -580
  343. package/templates/languages/SQL.md +137 -137
  344. package/templates/languages/SWIFT.md +466 -466
  345. package/templates/languages/TYPESCRIPT.md +591 -591
  346. package/templates/languages/ZIG.md +265 -265
  347. package/templates/libraries/go/ECHO.md +18 -0
  348. package/templates/libraries/go/GIN.md +18 -0
  349. package/templates/libraries/go/GORM.md +18 -0
  350. package/templates/libraries/python/DJANGO.md +18 -0
  351. package/templates/libraries/python/FASTAPI.md +18 -0
  352. package/templates/libraries/python/FLASK.md +17 -0
  353. package/templates/libraries/python/PYDANTIC.md +17 -0
  354. package/templates/libraries/python/PYTEST.md +17 -0
  355. package/templates/libraries/python/SQLALCHEMY.md +17 -0
  356. package/templates/libraries/rust/ACTIX.md +17 -0
  357. package/templates/libraries/rust/AXUM.md +18 -0
  358. package/templates/libraries/rust/SERDE.md +16 -0
  359. package/templates/libraries/rust/SQLX.md +17 -0
  360. package/templates/libraries/rust/TOKIO.md +16 -0
  361. package/templates/libraries/typescript/ANGULAR.md +17 -0
  362. package/templates/libraries/typescript/DRIZZLE.md +16 -0
  363. package/templates/libraries/typescript/EXPRESS.md +17 -0
  364. package/templates/libraries/typescript/HEROUI.md +16 -0
  365. package/templates/libraries/typescript/JEST.md +17 -0
  366. package/templates/libraries/typescript/NESTJS.md +17 -0
  367. package/templates/libraries/typescript/NEXT.md +18 -0
  368. package/templates/libraries/typescript/PRISMA.md +16 -0
  369. package/templates/libraries/typescript/RADIX.md +16 -0
  370. package/templates/libraries/typescript/REACT.md +18 -0
  371. package/templates/libraries/typescript/SHADCN.md +16 -0
  372. package/templates/libraries/typescript/SVELTE.md +16 -0
  373. package/templates/libraries/typescript/TAILWIND.md +16 -0
  374. package/templates/libraries/typescript/TRPC.md +16 -0
  375. package/templates/libraries/typescript/VITEST.md +17 -0
  376. package/templates/libraries/typescript/VUE.md +17 -0
  377. package/templates/libraries/typescript/ZOD.md +17 -0
  378. package/templates/modules/ATLASSIAN.md +255 -255
  379. package/templates/modules/CONTEXT7.md +54 -54
  380. package/templates/modules/FIGMA.md +267 -267
  381. package/templates/modules/GITHUB_MCP.md +64 -64
  382. package/templates/modules/GRAFANA.md +328 -328
  383. package/templates/modules/MEMORY.md +126 -126
  384. package/templates/modules/NOTION.md +247 -247
  385. package/templates/modules/PLAYWRIGHT.md +90 -90
  386. package/templates/modules/RULEBOOK_MCP.md +208 -208
  387. package/templates/modules/SERENA.md +337 -337
  388. package/templates/modules/SUPABASE.md +223 -223
  389. package/templates/modules/SYNAP.md +69 -69
  390. package/templates/modules/VECTORIZER.md +63 -63
  391. package/templates/modules/sequential-thinking.md +42 -42
  392. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  393. package/templates/rules/cpp.md +46 -46
  394. package/templates/rules/csharp.md +44 -44
  395. package/templates/rules/diagnostic-first.md +39 -39
  396. package/templates/rules/fail-twice-escalate.md +46 -46
  397. package/templates/rules/follow-task-sequence.md +36 -36
  398. package/templates/rules/git-safety.md +29 -29
  399. package/templates/rules/go.md +40 -40
  400. package/templates/rules/incremental-implementation.md +56 -56
  401. package/templates/rules/incremental-tests.md +29 -29
  402. package/templates/rules/java.md +43 -43
  403. package/templates/rules/javascript.md +39 -39
  404. package/templates/rules/knowledge-base-usage.md +41 -41
  405. package/templates/rules/multi-agent-teams.md +75 -75
  406. package/templates/rules/no-deferred.md +31 -31
  407. package/templates/rules/no-shortcuts.md +30 -30
  408. package/templates/rules/python.md +43 -43
  409. package/templates/rules/research-first.md +30 -30
  410. package/templates/rules/respect-handoff-trigger.md +41 -41
  411. package/templates/rules/rust.md +40 -40
  412. package/templates/rules/sequential-editing.md +21 -21
  413. package/templates/rules/session-workflow.md +24 -24
  414. package/templates/rules/task-decomposition.md +32 -32
  415. package/templates/rules/typescript.md +40 -40
  416. package/templates/skills/cli/aider/SKILL.md +59 -59
  417. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  418. package/templates/skills/cli/auggie/SKILL.md +42 -42
  419. package/templates/skills/cli/claude/SKILL.md +42 -42
  420. package/templates/skills/cli/cline/SKILL.md +42 -42
  421. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  422. package/templates/skills/cli/codeium/SKILL.md +30 -30
  423. package/templates/skills/cli/codex/SKILL.md +31 -31
  424. package/templates/skills/cli/continue/SKILL.md +44 -44
  425. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  426. package/templates/skills/cli/factory/SKILL.md +28 -28
  427. package/templates/skills/cli/gemini/SKILL.md +45 -45
  428. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  429. package/templates/skills/cli/opencode/SKILL.md +82 -28
  430. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  431. package/templates/skills/core/dag/SKILL.md +314 -314
  432. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  433. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  434. package/templates/skills/core/rulebook/SKILL.md +176 -176
  435. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  436. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  437. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  438. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  439. package/templates/skills/dev/analysis/SKILL.md +19 -19
  440. package/templates/skills/dev/api-design/SKILL.md +15 -15
  441. package/templates/skills/dev/architect/SKILL.md +17 -17
  442. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  443. package/templates/skills/dev/db-design/SKILL.md +15 -15
  444. package/templates/skills/dev/debug/SKILL.md +16 -16
  445. package/templates/skills/dev/deploy/SKILL.md +17 -17
  446. package/templates/skills/dev/docs/SKILL.md +17 -17
  447. package/templates/skills/dev/handoff/SKILL.md +27 -27
  448. package/templates/skills/dev/migrate/SKILL.md +15 -15
  449. package/templates/skills/dev/perf/SKILL.md +17 -17
  450. package/templates/skills/dev/refactor/SKILL.md +17 -17
  451. package/templates/skills/dev/research/SKILL.md +14 -14
  452. package/templates/skills/dev/review/SKILL.md +18 -18
  453. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  454. package/templates/skills/dev/spec/SKILL.md +65 -0
  455. package/templates/skills/ides/copilot/SKILL.md +47 -47
  456. package/templates/skills/ides/cursor/SKILL.md +53 -53
  457. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  458. package/templates/skills/ides/replit/SKILL.md +46 -46
  459. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  460. package/templates/skills/ides/vscode/SKILL.md +50 -50
  461. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  462. package/templates/skills/ides/zed/SKILL.md +42 -42
  463. package/templates/skills/languages/c/SKILL.md +343 -343
  464. package/templates/skills/languages/cpp/SKILL.md +753 -753
  465. package/templates/skills/languages/csharp/SKILL.md +427 -427
  466. package/templates/skills/languages/elixir/SKILL.md +464 -464
  467. package/templates/skills/languages/erlang/SKILL.md +371 -371
  468. package/templates/skills/languages/go/SKILL.md +655 -655
  469. package/templates/skills/languages/haskell/SKILL.md +187 -187
  470. package/templates/skills/languages/java/SKILL.md +617 -617
  471. package/templates/skills/languages/javascript/SKILL.md +641 -641
  472. package/templates/skills/languages/julia/SKILL.md +107 -107
  473. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  474. package/templates/skills/languages/lisp/SKILL.md +110 -110
  475. package/templates/skills/languages/lua/SKILL.md +84 -84
  476. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  477. package/templates/skills/languages/php/SKILL.md +426 -426
  478. package/templates/skills/languages/python/SKILL.md +692 -692
  479. package/templates/skills/languages/ruby/SKILL.md +431 -431
  480. package/templates/skills/languages/rust/SKILL.md +487 -487
  481. package/templates/skills/languages/sas/SKILL.md +83 -83
  482. package/templates/skills/languages/scala/SKILL.md +358 -358
  483. package/templates/skills/languages/solidity/SKILL.md +590 -590
  484. package/templates/skills/languages/sql/SKILL.md +147 -147
  485. package/templates/skills/languages/swift/SKILL.md +476 -476
  486. package/templates/skills/languages/typescript/SKILL.md +302 -302
  487. package/templates/skills/languages/zig/SKILL.md +275 -275
  488. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  489. package/templates/skills/modules/context7/SKILL.md +64 -64
  490. package/templates/skills/modules/figma/SKILL.md +277 -277
  491. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  492. package/templates/skills/modules/grafana/SKILL.md +338 -338
  493. package/templates/skills/modules/memory/SKILL.md +73 -73
  494. package/templates/skills/modules/notion/SKILL.md +257 -257
  495. package/templates/skills/modules/playwright/SKILL.md +100 -100
  496. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  497. package/templates/skills/modules/serena/SKILL.md +347 -347
  498. package/templates/skills/modules/supabase/SKILL.md +233 -233
  499. package/templates/skills/modules/synap/SKILL.md +79 -79
  500. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  501. package/.claude/commands/ralph-config.md +0 -112
  502. package/.claude/commands/ralph-history.md +0 -110
  503. package/.claude/commands/ralph-init.md +0 -72
  504. package/.claude/commands/ralph-pause-resume.md +0 -105
  505. package/.claude/commands/ralph-run.md +0 -101
  506. package/.claude/commands/ralph-status.md +0 -76
  507. package/dist/agents/ralph-parser.d.ts +0 -91
  508. package/dist/agents/ralph-parser.d.ts.map +0 -1
  509. package/dist/agents/ralph-parser.js +0 -415
  510. package/dist/agents/ralph-parser.js.map +0 -1
  511. package/dist/cli/commands/analysis.d.ts +0 -8
  512. package/dist/cli/commands/analysis.d.ts.map +0 -1
  513. package/dist/cli/commands/analysis.js +0 -78
  514. package/dist/cli/commands/analysis.js.map +0 -1
  515. package/dist/cli/commands/compress.d.ts +0 -18
  516. package/dist/cli/commands/compress.d.ts.map +0 -1
  517. package/dist/cli/commands/compress.js +0 -100
  518. package/dist/cli/commands/compress.js.map +0 -1
  519. package/dist/cli/commands/ralph.d.ts +0 -45
  520. package/dist/cli/commands/ralph.d.ts.map +0 -1
  521. package/dist/cli/commands/ralph.js +0 -694
  522. package/dist/cli/commands/ralph.js.map +0 -1
  523. package/dist/cli/docs-prompts.d.ts +0 -3
  524. package/dist/cli/docs-prompts.d.ts.map +0 -1
  525. package/dist/cli/docs-prompts.js +0 -45
  526. package/dist/cli/docs-prompts.js.map +0 -1
  527. package/dist/core/agent-manager.d.ts +0 -69
  528. package/dist/core/agent-manager.d.ts.map +0 -1
  529. package/dist/core/agent-manager.js +0 -476
  530. package/dist/core/agent-manager.js.map +0 -1
  531. package/dist/core/agent-template-engine.d.ts +0 -51
  532. package/dist/core/agent-template-engine.d.ts.map +0 -1
  533. package/dist/core/agent-template-engine.js +0 -291
  534. package/dist/core/agent-template-engine.js.map +0 -1
  535. package/dist/core/analysis-manager.d.ts +0 -56
  536. package/dist/core/analysis-manager.d.ts.map +0 -1
  537. package/dist/core/analysis-manager.js +0 -218
  538. package/dist/core/analysis-manager.js.map +0 -1
  539. package/dist/core/auto-fixer.d.ts +0 -14
  540. package/dist/core/auto-fixer.d.ts.map +0 -1
  541. package/dist/core/auto-fixer.js +0 -207
  542. package/dist/core/auto-fixer.js.map +0 -1
  543. package/dist/core/changelog-generator.d.ts +0 -44
  544. package/dist/core/changelog-generator.d.ts.map +0 -1
  545. package/dist/core/changelog-generator.js +0 -222
  546. package/dist/core/changelog-generator.js.map +0 -1
  547. package/dist/core/claude-mcp.d.ts.map +0 -1
  548. package/dist/core/claude-mcp.js.map +0 -1
  549. package/dist/core/claude-md-generator.d.ts.map +0 -1
  550. package/dist/core/claude-md-generator.js.map +0 -1
  551. package/dist/core/claude-settings-manager.d.ts.map +0 -1
  552. package/dist/core/claude-settings-manager.js.map +0 -1
  553. package/dist/core/cli-bridge.d.ts.map +0 -1
  554. package/dist/core/cli-bridge.js.map +0 -1
  555. package/dist/core/compact-context-manager.d.ts +0 -34
  556. package/dist/core/compact-context-manager.d.ts.map +0 -1
  557. package/dist/core/compact-context-manager.js +0 -60
  558. package/dist/core/compact-context-manager.js.map +0 -1
  559. package/dist/core/complexity-detector.d.ts +0 -36
  560. package/dist/core/complexity-detector.d.ts.map +0 -1
  561. package/dist/core/complexity-detector.js +0 -334
  562. package/dist/core/complexity-detector.js.map +0 -1
  563. package/dist/core/compress/compressor.d.ts +0 -60
  564. package/dist/core/compress/compressor.d.ts.map +0 -1
  565. package/dist/core/compress/compressor.js +0 -232
  566. package/dist/core/compress/compressor.js.map +0 -1
  567. package/dist/core/compress/discover.d.ts +0 -19
  568. package/dist/core/compress/discover.d.ts.map +0 -1
  569. package/dist/core/compress/discover.js +0 -100
  570. package/dist/core/compress/discover.js.map +0 -1
  571. package/dist/core/compress/validator.d.ts +0 -47
  572. package/dist/core/compress/validator.d.ts.map +0 -1
  573. package/dist/core/compress/validator.js +0 -131
  574. package/dist/core/compress/validator.js.map +0 -1
  575. package/dist/core/config-manager.d.ts.map +0 -1
  576. package/dist/core/config-manager.js.map +0 -1
  577. package/dist/core/coverage-checker.d.ts.map +0 -1
  578. package/dist/core/coverage-checker.js.map +0 -1
  579. package/dist/core/cursor-mdc-generator.d.ts +0 -30
  580. package/dist/core/cursor-mdc-generator.d.ts.map +0 -1
  581. package/dist/core/cursor-mdc-generator.js +0 -98
  582. package/dist/core/cursor-mdc-generator.js.map +0 -1
  583. package/dist/core/decision-manager.d.ts.map +0 -1
  584. package/dist/core/decision-manager.js.map +0 -1
  585. package/dist/core/dependency-checker.d.ts.map +0 -1
  586. package/dist/core/dependency-checker.js.map +0 -1
  587. package/dist/core/detector.d.ts.map +0 -1
  588. package/dist/core/detector.js +0 -1763
  589. package/dist/core/detector.js.map +0 -1
  590. package/dist/core/docs-generator.d.ts.map +0 -1
  591. package/dist/core/docs-generator.js.map +0 -1
  592. package/dist/core/doctor.d.ts.map +0 -1
  593. package/dist/core/doctor.js.map +0 -1
  594. package/dist/core/generator.d.ts.map +0 -1
  595. package/dist/core/generator.js.map +0 -1
  596. package/dist/core/github-issues-importer.d.ts +0 -82
  597. package/dist/core/github-issues-importer.d.ts.map +0 -1
  598. package/dist/core/github-issues-importer.js +0 -161
  599. package/dist/core/github-issues-importer.js.map +0 -1
  600. package/dist/core/gitignore-generator.d.ts.map +0 -1
  601. package/dist/core/gitignore-generator.js.map +0 -1
  602. package/dist/core/health-scorer.d.ts +0 -61
  603. package/dist/core/health-scorer.d.ts.map +0 -1
  604. package/dist/core/health-scorer.js +0 -638
  605. package/dist/core/health-scorer.js.map +0 -1
  606. package/dist/core/iteration-tracker.d.ts +0 -85
  607. package/dist/core/iteration-tracker.d.ts.map +0 -1
  608. package/dist/core/iteration-tracker.js +0 -295
  609. package/dist/core/iteration-tracker.js.map +0 -1
  610. package/dist/core/knowledge-manager.d.ts.map +0 -1
  611. package/dist/core/knowledge-manager.js.map +0 -1
  612. package/dist/core/learn-manager.d.ts.map +0 -1
  613. package/dist/core/learn-manager.js.map +0 -1
  614. package/dist/core/mcp-reference-generator.d.ts.map +0 -1
  615. package/dist/core/mcp-reference-generator.js.map +0 -1
  616. package/dist/core/minimal-scaffolder.d.ts.map +0 -1
  617. package/dist/core/minimal-scaffolder.js.map +0 -1
  618. package/dist/core/modern-console.d.ts +0 -98
  619. package/dist/core/modern-console.d.ts.map +0 -1
  620. package/dist/core/modern-console.js +0 -556
  621. package/dist/core/modern-console.js.map +0 -1
  622. package/dist/core/multi-tool-generator.d.ts.map +0 -1
  623. package/dist/core/multi-tool-generator.js.map +0 -1
  624. package/dist/core/override-manager.d.ts.map +0 -1
  625. package/dist/core/override-manager.js.map +0 -1
  626. package/dist/core/plans-manager.d.ts.map +0 -1
  627. package/dist/core/plans-manager.js.map +0 -1
  628. package/dist/core/prd-generator.d.ts +0 -48
  629. package/dist/core/prd-generator.d.ts.map +0 -1
  630. package/dist/core/prd-generator.js +0 -233
  631. package/dist/core/prd-generator.js.map +0 -1
  632. package/dist/core/ralph-manager.d.ts +0 -163
  633. package/dist/core/ralph-manager.d.ts.map +0 -1
  634. package/dist/core/ralph-manager.js +0 -555
  635. package/dist/core/ralph-manager.js.map +0 -1
  636. package/dist/core/ralph-parallel.d.ts +0 -55
  637. package/dist/core/ralph-parallel.d.ts.map +0 -1
  638. package/dist/core/ralph-parallel.js +0 -201
  639. package/dist/core/ralph-parallel.js.map +0 -1
  640. package/dist/core/ralph-plan-checkpoint.d.ts +0 -58
  641. package/dist/core/ralph-plan-checkpoint.d.ts.map +0 -1
  642. package/dist/core/ralph-plan-checkpoint.js +0 -154
  643. package/dist/core/ralph-plan-checkpoint.js.map +0 -1
  644. package/dist/core/ralph-scripts.d.ts +0 -12
  645. package/dist/core/ralph-scripts.d.ts.map +0 -1
  646. package/dist/core/ralph-scripts.js +0 -50
  647. package/dist/core/ralph-scripts.js.map +0 -1
  648. package/dist/core/review-manager.d.ts +0 -74
  649. package/dist/core/review-manager.d.ts.map +0 -1
  650. package/dist/core/review-manager.js +0 -371
  651. package/dist/core/review-manager.js.map +0 -1
  652. package/dist/core/rules-generator.d.ts.map +0 -1
  653. package/dist/core/rules-generator.js.map +0 -1
  654. package/dist/core/skills-manager.d.ts.map +0 -1
  655. package/dist/core/skills-manager.js.map +0 -1
  656. package/dist/core/state-writer.d.ts.map +0 -1
  657. package/dist/core/state-writer.js.map +0 -1
  658. package/dist/core/task-manager.d.ts.map +0 -1
  659. package/dist/core/task-manager.js.map +0 -1
  660. package/dist/core/telemetry.d.ts +0 -29
  661. package/dist/core/telemetry.d.ts.map +0 -1
  662. package/dist/core/telemetry.js +0 -57
  663. package/dist/core/telemetry.js.map +0 -1
  664. package/dist/core/validator.d.ts.map +0 -1
  665. package/dist/core/validator.js.map +0 -1
  666. package/dist/core/version-bumper.d.ts.map +0 -1
  667. package/dist/core/version-bumper.js.map +0 -1
  668. package/dist/core/watcher.d.ts +0 -9
  669. package/dist/core/watcher.d.ts.map +0 -1
  670. package/dist/core/watcher.js +0 -22
  671. package/dist/core/watcher.js.map +0 -1
  672. package/dist/core/workflow-generator.d.ts.map +0 -1
  673. package/dist/core/workflow-generator.js.map +0 -1
  674. package/dist/hooks/terse-activate.d.ts +0 -59
  675. package/dist/hooks/terse-activate.d.ts.map +0 -1
  676. package/dist/hooks/terse-activate.js +0 -149
  677. package/dist/hooks/terse-activate.js.map +0 -1
  678. package/dist/hooks/terse-config.d.ts +0 -51
  679. package/dist/hooks/terse-config.d.ts.map +0 -1
  680. package/dist/hooks/terse-config.js +0 -130
  681. package/dist/hooks/terse-config.js.map +0 -1
  682. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  683. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  684. package/dist/hooks/terse-mode-tracker.js +0 -213
  685. package/dist/hooks/terse-mode-tracker.js.map +0 -1
  686. package/dist/memory/hnsw-index.d.ts +0 -68
  687. package/dist/memory/hnsw-index.d.ts.map +0 -1
  688. package/dist/memory/hnsw-index.js +0 -544
  689. package/dist/memory/hnsw-index.js.map +0 -1
  690. package/dist/memory/memory-cache.d.ts +0 -33
  691. package/dist/memory/memory-cache.d.ts.map +0 -1
  692. package/dist/memory/memory-cache.js +0 -85
  693. package/dist/memory/memory-cache.js.map +0 -1
  694. package/dist/memory/memory-search.d.ts +0 -42
  695. package/dist/memory/memory-search.d.ts.map +0 -1
  696. package/dist/memory/memory-search.js +0 -180
  697. package/dist/memory/memory-search.js.map +0 -1
  698. package/dist/memory/memory-store.d.ts +0 -84
  699. package/dist/memory/memory-store.d.ts.map +0 -1
  700. package/dist/memory/memory-store.js +0 -566
  701. package/dist/memory/memory-store.js.map +0 -1
  702. package/dist/memory/memory-vectorizer.d.ts +0 -29
  703. package/dist/memory/memory-vectorizer.d.ts.map +0 -1
  704. package/dist/memory/memory-vectorizer.js +0 -199
  705. package/dist/memory/memory-vectorizer.js.map +0 -1
  706. package/templates/core/RALPH.md +0 -471
  707. package/templates/frameworks/ANGULAR.md +0 -36
  708. package/templates/frameworks/DJANGO.md +0 -83
  709. package/templates/frameworks/ELECTRON.md +0 -147
  710. package/templates/frameworks/FLASK.md +0 -38
  711. package/templates/frameworks/FLUTTER.md +0 -55
  712. package/templates/frameworks/JQUERY.md +0 -32
  713. package/templates/frameworks/LARAVEL.md +0 -38
  714. package/templates/frameworks/NESTJS.md +0 -43
  715. package/templates/frameworks/NEXTJS.md +0 -127
  716. package/templates/frameworks/NUXT.md +0 -40
  717. package/templates/frameworks/RAILS.md +0 -66
  718. package/templates/frameworks/REACT.md +0 -38
  719. package/templates/frameworks/REACT_NATIVE.md +0 -47
  720. package/templates/frameworks/SPRING.md +0 -39
  721. package/templates/frameworks/SYMFONY.md +0 -36
  722. package/templates/frameworks/VUE.md +0 -36
  723. package/templates/frameworks/ZEND.md +0 -35
  724. package/templates/hooks/enforce-mcp-for-tasks.sh +0 -31
  725. package/templates/hooks/enforce-no-deferred.sh +0 -21
  726. package/templates/hooks/enforce-no-shortcuts.sh +0 -31
  727. package/templates/ides/COPILOT.md +0 -37
  728. package/templates/ides/CURSOR.md +0 -43
  729. package/templates/ides/JETBRAINS_AI.md +0 -35
  730. package/templates/ides/REPLIT.md +0 -36
  731. package/templates/ides/TABNINE.md +0 -29
  732. package/templates/ides/VSCODE.md +0 -40
  733. package/templates/ides/WINDSURF.md +0 -36
  734. package/templates/ides/ZED.md +0 -32
  735. package/templates/ides/cursor-mdc/go.mdc +0 -24
  736. package/templates/ides/cursor-mdc/python.mdc +0 -24
  737. package/templates/ides/cursor-mdc/quality.mdc +0 -25
  738. package/templates/ides/cursor-mdc/ralph.mdc +0 -39
  739. package/templates/ides/cursor-mdc/rulebook.mdc +0 -38
  740. package/templates/ides/cursor-mdc/rust.mdc +0 -24
  741. package/templates/ides/cursor-mdc/typescript.mdc +0 -25
  742. package/templates/ralph/ralph-history.bat +0 -4
  743. package/templates/ralph/ralph-history.sh +0 -5
  744. package/templates/ralph/ralph-init.bat +0 -5
  745. package/templates/ralph/ralph-init.sh +0 -5
  746. package/templates/ralph/ralph-pause.bat +0 -5
  747. package/templates/ralph/ralph-pause.sh +0 -5
  748. package/templates/ralph/ralph-run.bat +0 -5
  749. package/templates/ralph/ralph-run.sh +0 -5
  750. package/templates/ralph/ralph-status.bat +0 -4
  751. package/templates/ralph/ralph-status.sh +0 -5
  752. package/templates/services/AZURE_BLOB.md +0 -184
  753. package/templates/services/CASSANDRA.md +0 -239
  754. package/templates/services/DATADOG.md +0 -26
  755. package/templates/services/DOCKER.md +0 -124
  756. package/templates/services/DOCKER_COMPOSE.md +0 -168
  757. package/templates/services/DYNAMODB.md +0 -308
  758. package/templates/services/ELASTICSEARCH.md +0 -347
  759. package/templates/services/GCS.md +0 -178
  760. package/templates/services/HELM.md +0 -194
  761. package/templates/services/INFLUXDB.md +0 -265
  762. package/templates/services/KAFKA.md +0 -341
  763. package/templates/services/KUBERNETES.md +0 -208
  764. package/templates/services/MARIADB.md +0 -183
  765. package/templates/services/MEMCACHED.md +0 -242
  766. package/templates/services/MINIO.md +0 -201
  767. package/templates/services/MONGODB.md +0 -268
  768. package/templates/services/MYSQL.md +0 -358
  769. package/templates/services/NEO4J.md +0 -247
  770. package/templates/services/OPENTELEMETRY.md +0 -25
  771. package/templates/services/ORACLE.md +0 -290
  772. package/templates/services/PINO.md +0 -24
  773. package/templates/services/POSTGRESQL.md +0 -326
  774. package/templates/services/PROMETHEUS.md +0 -33
  775. package/templates/services/RABBITMQ.md +0 -286
  776. package/templates/services/REDIS.md +0 -292
  777. package/templates/services/S3.md +0 -298
  778. package/templates/services/SENTRY.md +0 -23
  779. package/templates/services/SQLITE.md +0 -294
  780. package/templates/services/SQLSERVER.md +0 -294
  781. package/templates/services/WINSTON.md +0 -30
  782. package/templates/skills/frameworks/angular/SKILL.md +0 -46
  783. package/templates/skills/frameworks/django/SKILL.md +0 -93
  784. package/templates/skills/frameworks/electron/SKILL.md +0 -157
  785. package/templates/skills/frameworks/flask/SKILL.md +0 -48
  786. package/templates/skills/frameworks/flutter/SKILL.md +0 -65
  787. package/templates/skills/frameworks/jquery/SKILL.md +0 -42
  788. package/templates/skills/frameworks/laravel/SKILL.md +0 -48
  789. package/templates/skills/frameworks/nestjs/SKILL.md +0 -53
  790. package/templates/skills/frameworks/nextjs/SKILL.md +0 -137
  791. package/templates/skills/frameworks/nuxt/SKILL.md +0 -50
  792. package/templates/skills/frameworks/rails/SKILL.md +0 -76
  793. package/templates/skills/frameworks/react/SKILL.md +0 -48
  794. package/templates/skills/frameworks/react-native/SKILL.md +0 -57
  795. package/templates/skills/frameworks/spring/SKILL.md +0 -49
  796. package/templates/skills/frameworks/symfony/SKILL.md +0 -46
  797. package/templates/skills/frameworks/vue/SKILL.md +0 -46
  798. package/templates/skills/frameworks/zend/SKILL.md +0 -45
  799. package/templates/skills/services/azure-blob/SKILL.md +0 -194
  800. package/templates/skills/services/cassandra/SKILL.md +0 -249
  801. package/templates/skills/services/dynamodb/SKILL.md +0 -318
  802. package/templates/skills/services/elasticsearch/SKILL.md +0 -357
  803. package/templates/skills/services/gcs/SKILL.md +0 -188
  804. package/templates/skills/services/influxdb/SKILL.md +0 -275
  805. package/templates/skills/services/kafka/SKILL.md +0 -351
  806. package/templates/skills/services/mariadb/SKILL.md +0 -193
  807. package/templates/skills/services/memcached/SKILL.md +0 -252
  808. package/templates/skills/services/minio/SKILL.md +0 -211
  809. package/templates/skills/services/mongodb/SKILL.md +0 -278
  810. package/templates/skills/services/mysql/SKILL.md +0 -368
  811. package/templates/skills/services/neo4j/SKILL.md +0 -257
  812. package/templates/skills/services/oracle/SKILL.md +0 -300
  813. package/templates/skills/services/postgresql/SKILL.md +0 -336
  814. package/templates/skills/services/rabbitmq/SKILL.md +0 -296
  815. package/templates/skills/services/redis/SKILL.md +0 -302
  816. package/templates/skills/services/s3/SKILL.md +0 -308
  817. package/templates/skills/services/sqlite/SKILL.md +0 -304
  818. package/templates/skills/services/sqlserver/SKILL.md +0 -304
  819. package/templates/skills/workflows/ralph/SETUP.md +0 -228
  820. package/templates/skills/workflows/ralph/SKILL.md +0 -309
  821. package/templates/skills/workflows/ralph/install.sh +0 -87
  822. package/templates/skills/workflows/ralph/manifest.json +0 -158
  823. /package/dist/core/{claude-md-generator.d.ts → claude/claude-md-generator.d.ts} +0 -0
  824. /package/dist/core/{docs-generator.d.ts → docs/docs-generator.d.ts} +0 -0
  825. /package/dist/core/{mcp-reference-generator.d.ts → docs/mcp-reference-generator.d.ts} +0 -0
  826. /package/dist/core/{minimal-scaffolder.d.ts → generators/minimal-scaffolder.d.ts} +0 -0
  827. /package/dist/core/{coverage-checker.d.ts → quality/coverage-checker.d.ts} +0 -0
  828. /package/dist/core/{dependency-checker.d.ts → quality/dependency-checker.d.ts} +0 -0
  829. /package/dist/core/{doctor.d.ts → quality/doctor.d.ts} +0 -0
  830. /package/dist/core/{validator.d.ts → quality/validator.d.ts} +0 -0
  831. /package/dist/core/{override-manager.d.ts → state/override-manager.d.ts} +0 -0
  832. /package/dist/core/{version-bumper.d.ts → state/version-bumper.d.ts} +0 -0
  833. /package/dist/core/{plans-manager.d.ts → tasks/plans-manager.d.ts} +0 -0
  834. /package/dist/core/{task-manager.d.ts → tasks/task-manager.d.ts} +0 -0
@@ -1,730 +1,730 @@
1
- # GitLab CI/CD
2
-
3
- This template provides guidance for implementing GitLab CI/CD pipelines with best practices for multi-stage pipelines, caching, and artifacts.
4
-
5
- ## Purpose
6
-
7
- GitLab CI/CD enables:
8
- - Automated testing and building
9
- - Continuous deployment
10
- - Container registry integration
11
- - Built-in security scanning
12
- - Kubernetes deployment
13
-
14
- ## Agent Automation Commands
15
-
16
- When implementing or modifying GitLab CI pipelines:
17
-
18
- ### Local Testing
19
- ```bash
20
- # Validate .gitlab-ci.yml syntax
21
- gitlab-ci-lint .gitlab-ci.yml
22
-
23
- # Or via API
24
- curl --header "Content-Type: application/json" \
25
- --data @.gitlab-ci.yml \
26
- https://gitlab.com/api/v4/ci/lint
27
- ```
28
-
29
- ### Pipeline Management
30
- ```bash
31
- # Trigger pipeline
32
- gitlab-runner exec shell build
33
-
34
- # View pipeline status
35
- git lab pipeline status
36
-
37
- # View pipeline logs
38
- gitlab-runner exec shell test --debug
39
- ```
40
-
41
- ## Basic Pipeline Structure
42
-
43
- ### Minimal CI Pipeline
44
-
45
- **`.gitlab-ci.yml`**:
46
- ```yaml
47
- image: node:20
48
-
49
- stages:
50
- - test
51
- - build
52
- - deploy
53
-
54
- test:
55
- stage: test
56
- script:
57
- - npm ci
58
- - npm test
59
-
60
- build:
61
- stage: build
62
- script:
63
- - npm run build
64
- artifacts:
65
- paths:
66
- - dist/
67
- expire_in: 1 week
68
-
69
- deploy:
70
- stage: deploy
71
- script:
72
- - echo "Deploying to production"
73
- environment:
74
- name: production
75
- url: https://example.com
76
- only:
77
- - main
78
- ```
79
-
80
- ### Complete CI/CD Pipeline
81
-
82
- **`.gitlab-ci.yml`**:
83
- ```yaml
84
- image: node:20
85
-
86
- variables:
87
- NPM_CONFIG_CACHE: "$CI_PROJECT_DIR/.npm"
88
- CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/.cypress"
89
-
90
- stages:
91
- - validate
92
- - build
93
- - test
94
- - security
95
- - deploy
96
-
97
- # Template for node jobs
98
- .node-template:
99
- before_script:
100
- - npm ci --prefer-offline
101
- cache:
102
- key:
103
- files:
104
- - package-lock.json
105
- paths:
106
- - .npm/
107
- - node_modules/
108
-
109
- lint:
110
- extends: .node-template
111
- stage: validate
112
- script:
113
- - npm run lint
114
- - npm run format:check
115
-
116
- typecheck:
117
- extends: .node-template
118
- stage: validate
119
- script:
120
- - npm run type-check
121
-
122
- build:
123
- extends: .node-template
124
- stage: build
125
- script:
126
- - npm run build
127
- artifacts:
128
- paths:
129
- - dist/
130
- expire_in: 1 week
131
-
132
- test:unit:
133
- extends: .node-template
134
- stage: test
135
- parallel:
136
- matrix:
137
- - NODE_VERSION: ['18', '20', '22']
138
- image: node:$NODE_VERSION
139
- script:
140
- - npm test
141
- coverage: '/Statements\s*:\s*(\d+\.\d+)%/'
142
- artifacts:
143
- reports:
144
- junit: junit.xml
145
- coverage_report:
146
- coverage_format: cobertura
147
- path: coverage/cobertura-coverage.xml
148
-
149
- test:e2e:
150
- extends: .node-template
151
- stage: test
152
- script:
153
- - npm run test:e2e
154
- artifacts:
155
- when: on_failure
156
- paths:
157
- - cypress/screenshots/
158
- - cypress/videos/
159
- expire_in: 1 week
160
-
161
- security:dependencies:
162
- stage: security
163
- script:
164
- - npm audit --audit-level=high
165
- allow_failure: true
166
-
167
- security:sast:
168
- stage: security
169
- image: registry.gitlab.com/gitlab-org/security-products/analyzers/semgrep:latest
170
- script:
171
- - /analyzer run
172
- artifacts:
173
- reports:
174
- sast: gl-sast-report.json
175
-
176
- deploy:staging:
177
- stage: deploy
178
- script:
179
- - npm run deploy:staging
180
- environment:
181
- name: staging
182
- url: https://staging.example.com
183
- only:
184
- - develop
185
-
186
- deploy:production:
187
- stage: deploy
188
- script:
189
- - npm run deploy:production
190
- environment:
191
- name: production
192
- url: https://example.com
193
- when: manual
194
- only:
195
- - main
196
- ```
197
-
198
- ## Best Practices
199
-
200
- ### ✅ DO
201
-
202
- 1. **Use Caching**
203
- ```yaml
204
- cache:
205
- key:
206
- files:
207
- - package-lock.json
208
- paths:
209
- - node_modules/
210
- - .npm/
211
- ```
212
-
213
- 2. **Use Job Templates (DRY)**
214
- ```yaml
215
- .deploy-template:
216
- stage: deploy
217
- script:
218
- - deploy.sh $ENVIRONMENT
219
- only:
220
- - main
221
-
222
- deploy:staging:
223
- extends: .deploy-template
224
- variables:
225
- ENVIRONMENT: staging
226
-
227
- deploy:production:
228
- extends: .deploy-template
229
- variables:
230
- ENVIRONMENT: production
231
- ```
232
-
233
- 3. **Use Parallel Matrix**
234
- ```yaml
235
- test:
236
- parallel:
237
- matrix:
238
- - NODE_VERSION: ['18', '20', '22']
239
- OS: ['ubuntu', 'alpine']
240
- image: node:$NODE_VERSION-$OS
241
- ```
242
-
243
- 4. **Use Pipeline-Specific Variables**
244
- ```yaml
245
- variables:
246
- DEPLOY_ENV: "production"
247
- API_ENDPOINT: "https://api.example.com"
248
- ```
249
-
250
- 5. **Use Artifacts for Build Outputs**
251
- ```yaml
252
- build:
253
- artifacts:
254
- paths:
255
- - dist/
256
- expire_in: 1 week
257
- ```
258
-
259
- ### ❌ DON'T
260
-
261
- 1. **Don't hardcode secrets**
262
- ```yaml
263
- # Bad
264
- script:
265
- - export API_KEY="sk_live_abc123"
266
-
267
- # Good
268
- script:
269
- - export API_KEY="$API_KEY" # From CI/CD variables
270
- ```
271
-
272
- 2. **Don't use `latest` tags**
273
- ```yaml
274
- # Bad
275
- image: node:latest
276
-
277
- # Good
278
- image: node:20.11.0
279
- ```
280
-
281
- 3. **Don't run unnecessary jobs**
282
- ```yaml
283
- # Good - only run on specific branches
284
- deploy:
285
- only:
286
- - main
287
- except:
288
- - schedules
289
- ```
290
-
291
- ## Caching Strategies
292
-
293
- ### Global Cache
294
-
295
- ```yaml
296
- # Apply to all jobs
297
- cache:
298
- key: ${CI_COMMIT_REF_SLUG}
299
- paths:
300
- - node_modules/
301
- - .npm/
302
- ```
303
-
304
- ### Job-Specific Cache
305
-
306
- ```yaml
307
- test:
308
- cache:
309
- key: test-cache
310
- paths:
311
- - node_modules/
312
- - .cache/
313
-
314
- build:
315
- cache:
316
- key: build-cache
317
- paths:
318
- - dist/
319
- - .webpack-cache/
320
- ```
321
-
322
- ### Cache with Fallback
323
-
324
- ```yaml
325
- cache:
326
- key: ${CI_COMMIT_REF_SLUG}
327
- paths:
328
- - node_modules/
329
- policy: pull # Only pull, don't push
330
-
331
- build:
332
- cache:
333
- key: ${CI_COMMIT_REF_SLUG}
334
- paths:
335
- - node_modules/
336
- policy: pull-push # Pull and push cache
337
- ```
338
-
339
- ## Artifacts and Dependencies
340
-
341
- ### Uploading Artifacts
342
-
343
- ```yaml
344
- build:
345
- script:
346
- - npm run build
347
- artifacts:
348
- name: "dist-$CI_COMMIT_SHORT_SHA"
349
- paths:
350
- - dist/
351
- expire_in: 1 week
352
- when: on_success # or always, on_failure
353
- ```
354
-
355
- ### Downloading Artifacts
356
-
357
- ```yaml
358
- deploy:
359
- dependencies:
360
- - build # Downloads artifacts from 'build' job
361
- script:
362
- - ls dist/ # Artifact available
363
- - deploy.sh
364
- ```
365
-
366
- ### Artifact Reports
367
-
368
- ```yaml
369
- test:
370
- script:
371
- - npm test
372
- artifacts:
373
- reports:
374
- junit: junit.xml
375
- coverage_report:
376
- coverage_format: cobertura
377
- path: coverage/cobertura-coverage.xml
378
- dotenv: build.env # Export variables to other jobs
379
- ```
380
-
381
- ## Multi-Project Pipelines
382
-
383
- ### Parent Pipeline
384
-
385
- ```yaml
386
- # .gitlab-ci.yml
387
- trigger:frontend:
388
- stage: deploy
389
- trigger:
390
- project: mygroup/frontend
391
- strategy: depend
392
-
393
- trigger:backend:
394
- stage: deploy
395
- trigger:
396
- project: mygroup/backend
397
- strategy: depend
398
- ```
399
-
400
- ### Child Pipelines
401
-
402
- ```yaml
403
- # Parent pipeline
404
- generate-config:
405
- script:
406
- - generate-dynamic-config.sh > dynamic.yml
407
- artifacts:
408
- paths:
409
- - dynamic.yml
410
-
411
- trigger-child:
412
- trigger:
413
- include:
414
- - artifact: dynamic.yml
415
- job: generate-config
416
- strategy: depend
417
- ```
418
-
419
- ## Docker Integration
420
-
421
- ### Build and Push Docker Image
422
-
423
- ```yaml
424
- docker-build:
425
- image: docker:latest
426
- services:
427
- - docker:dind
428
- variables:
429
- DOCKER_DRIVER: overlay2
430
- DOCKER_TLS_CERTDIR: "/certs"
431
- before_script:
432
- - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
433
- script:
434
- - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .
435
- - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
436
- ```
437
-
438
- ### Use GitLab Container Registry
439
-
440
- ```yaml
441
- build:
442
- image: docker:latest
443
- services:
444
- - docker:dind
445
- script:
446
- # Login to GitLab Container Registry
447
- - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
448
-
449
- # Build and tag
450
- - docker build -t $CI_REGISTRY_IMAGE:latest .
451
- - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG .
452
-
453
- # Push
454
- - docker push $CI_REGISTRY_IMAGE:latest
455
- - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
456
- ```
457
-
458
- ## Kubernetes Deployment
459
-
460
- ### Deploy to Kubernetes
461
-
462
- ```yaml
463
- deploy:k8s:
464
- image: bitnami/kubectl:latest
465
- stage: deploy
466
- script:
467
- # Configure kubectl
468
- - kubectl config set-cluster k8s --server="$KUBE_URL" --insecure-skip-tls-verify=true
469
- - kubectl config set-credentials admin --token="$KUBE_TOKEN"
470
- - kubectl config set-context default --cluster=k8s --user=admin
471
- - kubectl config use-context default
472
-
473
- # Deploy
474
- - kubectl set image deployment/app app=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
475
- - kubectl rollout status deployment/app
476
- environment:
477
- name: production
478
- kubernetes:
479
- namespace: production
480
- ```
481
-
482
- ### Helm Deployment
483
-
484
- ```yaml
485
- deploy:helm:
486
- image: alpine/helm:latest
487
- stage: deploy
488
- script:
489
- - helm upgrade --install myapp ./charts/myapp \
490
- --set image.tag=$CI_COMMIT_SHORT_SHA \
491
- --namespace production
492
- environment:
493
- name: production
494
- ```
495
-
496
- ## Rules and Conditions
497
-
498
- ### Complex Rules
499
-
500
- ```yaml
501
- test:
502
- script:
503
- - npm test
504
- rules:
505
- # Run on main branch
506
- - if: $CI_COMMIT_BRANCH == "main"
507
- when: always
508
-
509
- # Run on merge requests
510
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
511
- when: always
512
-
513
- # Run on tags starting with 'v'
514
- - if: $CI_COMMIT_TAG =~ /^v/
515
- when: always
516
-
517
- # Skip on schedules
518
- - if: $CI_PIPELINE_SOURCE == "schedule"
519
- when: never
520
-
521
- # Manual for feature branches
522
- - if: $CI_COMMIT_BRANCH =~ /^feature\//
523
- when: manual
524
-
525
- # Otherwise skip
526
- - when: never
527
- ```
528
-
529
- ### Changes-Based Execution
530
-
531
- ```yaml
532
- test:backend:
533
- script:
534
- - cd backend && npm test
535
- rules:
536
- - changes:
537
- - backend/**/*
538
- when: always
539
-
540
- test:frontend:
541
- script:
542
- - cd frontend && npm test
543
- rules:
544
- - changes:
545
- - frontend/**/*
546
- when: always
547
- ```
548
-
549
- ## Security Scanning
550
-
551
- ### SAST (Static Application Security Testing)
552
-
553
- ```yaml
554
- include:
555
- - template: Security/SAST.gitlab-ci.yml
556
-
557
- sast:
558
- stage: security
559
- variables:
560
- SAST_EXCLUDED_PATHS: "spec, test, tests, tmp, node_modules"
561
- ```
562
-
563
- ### Dependency Scanning
564
-
565
- ```yaml
566
- include:
567
- - template: Security/Dependency-Scanning.gitlab-ci.yml
568
-
569
- dependency_scanning:
570
- stage: security
571
- ```
572
-
573
- ### Container Scanning
574
-
575
- ```yaml
576
- include:
577
- - template: Security/Container-Scanning.gitlab-ci.yml
578
-
579
- container_scanning:
580
- stage: security
581
- variables:
582
- CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
583
- ```
584
-
585
- ## Optimization Patterns
586
-
587
- ### Skip Pipeline for Docs
588
-
589
- ```yaml
590
- # Skip pipeline if only docs changed
591
- workflow:
592
- rules:
593
- - if: $CI_PIPELINE_SOURCE == "push"
594
- changes:
595
- - "**/*.md"
596
- - "docs/**/*"
597
- when: never
598
- - when: always
599
- ```
600
-
601
- ### Interruptible Jobs
602
-
603
- ```yaml
604
- test:
605
- interruptible: true # Cancel if new pipeline starts
606
- script:
607
- - npm test
608
- ```
609
-
610
- ### Retry Failed Jobs
611
-
612
- ```yaml
613
- test:
614
- script:
615
- - npm test
616
- retry:
617
- max: 2
618
- when:
619
- - runner_system_failure
620
- - stuck_or_timeout_failure
621
- ```
622
-
623
- ## CI/CD Variables
624
-
625
- ### Predefined Variables
626
-
627
- ```yaml
628
- test:
629
- script:
630
- - echo "Pipeline ID: $CI_PIPELINE_ID"
631
- - echo "Commit SHA: $CI_COMMIT_SHA"
632
- - echo "Commit Branch: $CI_COMMIT_BRANCH"
633
- - echo "Commit Tag: $CI_COMMIT_TAG"
634
- - echo "Project Name: $CI_PROJECT_NAME"
635
- - echo "Registry: $CI_REGISTRY_IMAGE"
636
- ```
637
-
638
- ### Custom Variables
639
-
640
- ```yaml
641
- variables:
642
- ENVIRONMENT: "production"
643
- API_ENDPOINT: "https://api.example.com"
644
-
645
- deploy:
646
- script:
647
- - deploy.sh --env $ENVIRONMENT --api $API_ENDPOINT
648
- ```
649
-
650
- ### Protected Variables
651
-
652
- **Add via UI**: Settings → CI/CD → Variables
653
-
654
- ```yaml
655
- deploy:
656
- script:
657
- - echo "Deploying with token: $DEPLOY_TOKEN"
658
- only:
659
- - main # Protected variables only available on protected branches
660
- ```
661
-
662
- ## Troubleshooting
663
-
664
- ### Pipeline Not Triggered
665
-
666
- **Check**:
667
- 1. `.gitlab-ci.yml` syntax valid
668
- 2. Rules/only/except conditions met
669
- 3. CI/CD enabled for project
670
- 4. GitLab Runner available
671
-
672
- ### Cache Not Working
673
-
674
- **Solutions**:
675
- ```yaml
676
- # Use specific cache key
677
- cache:
678
- key:
679
- files:
680
- - package-lock.json
681
- paths:
682
- - node_modules/
683
-
684
- # Clear cache if corrupted
685
- # Settings → CI/CD → Clear runner caches
686
- ```
687
-
688
- ### Artifacts Not Available
689
-
690
- **Check**:
691
- 1. Artifact expiration not exceeded
692
- 2. Job succeeded (artifacts only uploaded on success by default)
693
- 3. Dependencies declared correctly
694
-
695
- ```yaml
696
- deploy:
697
- dependencies:
698
- - build # Must match job name exactly
699
- ```
700
-
701
- ## Common Pitfalls
702
-
703
- 1. **❌ No caching**: Slow pipelines
704
- 2. **❌ Not using templates**: Duplication
705
- 3. **❌ Artifacts too large**: Slow uploads/downloads
706
- 4. **❌ No retry logic**: Flaky tests fail pipeline
707
- 5. **❌ Running all jobs always**: Wasted resources
708
- 6. **❌ No manual gates for production**: Risky deployments
709
-
710
- ## Integration with Rulebook
711
-
712
- If using `@hivehub/rulebook`, GitLab CI pipelines are generated automatically:
713
-
714
- ```bash
715
- # Generate GitLab CI pipeline
716
- npx @hivehub/rulebook workflows
717
-
718
- # Creates .gitlab-ci.yml with:
719
- # - Language-specific stages
720
- # - Caching configured
721
- # - Artifacts management
722
- # - Security scanning
723
- ```
724
-
725
- ## Related Templates
726
-
727
- - See `/.rulebook/specs/GITHUB_ACTIONS.md` for GitHub Actions comparison
728
- - See `/.rulebook/specs/CI_CD_PATTERNS.md` for general CI/CD patterns
729
- - See `/.rulebook/specs/SECRETS_MANAGEMENT.md` for secrets handling
730
- - See `/.rulebook/specs/QUALITY_ENFORCEMENT.md` for quality gates
1
+ # GitLab CI/CD
2
+
3
+ This template provides guidance for implementing GitLab CI/CD pipelines with best practices for multi-stage pipelines, caching, and artifacts.
4
+
5
+ ## Purpose
6
+
7
+ GitLab CI/CD enables:
8
+ - Automated testing and building
9
+ - Continuous deployment
10
+ - Container registry integration
11
+ - Built-in security scanning
12
+ - Kubernetes deployment
13
+
14
+ ## Agent Automation Commands
15
+
16
+ When implementing or modifying GitLab CI pipelines:
17
+
18
+ ### Local Testing
19
+ ```bash
20
+ # Validate .gitlab-ci.yml syntax
21
+ gitlab-ci-lint .gitlab-ci.yml
22
+
23
+ # Or via API
24
+ curl --header "Content-Type: application/json" \
25
+ --data @.gitlab-ci.yml \
26
+ https://gitlab.com/api/v4/ci/lint
27
+ ```
28
+
29
+ ### Pipeline Management
30
+ ```bash
31
+ # Trigger pipeline
32
+ gitlab-runner exec shell build
33
+
34
+ # View pipeline status
35
+ git lab pipeline status
36
+
37
+ # View pipeline logs
38
+ gitlab-runner exec shell test --debug
39
+ ```
40
+
41
+ ## Basic Pipeline Structure
42
+
43
+ ### Minimal CI Pipeline
44
+
45
+ **`.gitlab-ci.yml`**:
46
+ ```yaml
47
+ image: node:20
48
+
49
+ stages:
50
+ - test
51
+ - build
52
+ - deploy
53
+
54
+ test:
55
+ stage: test
56
+ script:
57
+ - npm ci
58
+ - npm test
59
+
60
+ build:
61
+ stage: build
62
+ script:
63
+ - npm run build
64
+ artifacts:
65
+ paths:
66
+ - dist/
67
+ expire_in: 1 week
68
+
69
+ deploy:
70
+ stage: deploy
71
+ script:
72
+ - echo "Deploying to production"
73
+ environment:
74
+ name: production
75
+ url: https://example.com
76
+ only:
77
+ - main
78
+ ```
79
+
80
+ ### Complete CI/CD Pipeline
81
+
82
+ **`.gitlab-ci.yml`**:
83
+ ```yaml
84
+ image: node:20
85
+
86
+ variables:
87
+ NPM_CONFIG_CACHE: "$CI_PROJECT_DIR/.npm"
88
+ CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/.cypress"
89
+
90
+ stages:
91
+ - validate
92
+ - build
93
+ - test
94
+ - security
95
+ - deploy
96
+
97
+ # Template for node jobs
98
+ .node-template:
99
+ before_script:
100
+ - npm ci --prefer-offline
101
+ cache:
102
+ key:
103
+ files:
104
+ - package-lock.json
105
+ paths:
106
+ - .npm/
107
+ - node_modules/
108
+
109
+ lint:
110
+ extends: .node-template
111
+ stage: validate
112
+ script:
113
+ - npm run lint
114
+ - npm run format:check
115
+
116
+ typecheck:
117
+ extends: .node-template
118
+ stage: validate
119
+ script:
120
+ - npm run type-check
121
+
122
+ build:
123
+ extends: .node-template
124
+ stage: build
125
+ script:
126
+ - npm run build
127
+ artifacts:
128
+ paths:
129
+ - dist/
130
+ expire_in: 1 week
131
+
132
+ test:unit:
133
+ extends: .node-template
134
+ stage: test
135
+ parallel:
136
+ matrix:
137
+ - NODE_VERSION: ['18', '20', '22']
138
+ image: node:$NODE_VERSION
139
+ script:
140
+ - npm test
141
+ coverage: '/Statements\s*:\s*(\d+\.\d+)%/'
142
+ artifacts:
143
+ reports:
144
+ junit: junit.xml
145
+ coverage_report:
146
+ coverage_format: cobertura
147
+ path: coverage/cobertura-coverage.xml
148
+
149
+ test:e2e:
150
+ extends: .node-template
151
+ stage: test
152
+ script:
153
+ - npm run test:e2e
154
+ artifacts:
155
+ when: on_failure
156
+ paths:
157
+ - cypress/screenshots/
158
+ - cypress/videos/
159
+ expire_in: 1 week
160
+
161
+ security:dependencies:
162
+ stage: security
163
+ script:
164
+ - npm audit --audit-level=high
165
+ allow_failure: true
166
+
167
+ security:sast:
168
+ stage: security
169
+ image: registry.gitlab.com/gitlab-org/security-products/analyzers/semgrep:latest
170
+ script:
171
+ - /analyzer run
172
+ artifacts:
173
+ reports:
174
+ sast: gl-sast-report.json
175
+
176
+ deploy:staging:
177
+ stage: deploy
178
+ script:
179
+ - npm run deploy:staging
180
+ environment:
181
+ name: staging
182
+ url: https://staging.example.com
183
+ only:
184
+ - develop
185
+
186
+ deploy:production:
187
+ stage: deploy
188
+ script:
189
+ - npm run deploy:production
190
+ environment:
191
+ name: production
192
+ url: https://example.com
193
+ when: manual
194
+ only:
195
+ - main
196
+ ```
197
+
198
+ ## Best Practices
199
+
200
+ ### ✅ DO
201
+
202
+ 1. **Use Caching**
203
+ ```yaml
204
+ cache:
205
+ key:
206
+ files:
207
+ - package-lock.json
208
+ paths:
209
+ - node_modules/
210
+ - .npm/
211
+ ```
212
+
213
+ 2. **Use Job Templates (DRY)**
214
+ ```yaml
215
+ .deploy-template:
216
+ stage: deploy
217
+ script:
218
+ - deploy.sh $ENVIRONMENT
219
+ only:
220
+ - main
221
+
222
+ deploy:staging:
223
+ extends: .deploy-template
224
+ variables:
225
+ ENVIRONMENT: staging
226
+
227
+ deploy:production:
228
+ extends: .deploy-template
229
+ variables:
230
+ ENVIRONMENT: production
231
+ ```
232
+
233
+ 3. **Use Parallel Matrix**
234
+ ```yaml
235
+ test:
236
+ parallel:
237
+ matrix:
238
+ - NODE_VERSION: ['18', '20', '22']
239
+ OS: ['ubuntu', 'alpine']
240
+ image: node:$NODE_VERSION-$OS
241
+ ```
242
+
243
+ 4. **Use Pipeline-Specific Variables**
244
+ ```yaml
245
+ variables:
246
+ DEPLOY_ENV: "production"
247
+ API_ENDPOINT: "https://api.example.com"
248
+ ```
249
+
250
+ 5. **Use Artifacts for Build Outputs**
251
+ ```yaml
252
+ build:
253
+ artifacts:
254
+ paths:
255
+ - dist/
256
+ expire_in: 1 week
257
+ ```
258
+
259
+ ### ❌ DON'T
260
+
261
+ 1. **Don't hardcode secrets**
262
+ ```yaml
263
+ # Bad
264
+ script:
265
+ - export API_KEY="sk_live_abc123"
266
+
267
+ # Good
268
+ script:
269
+ - export API_KEY="$API_KEY" # From CI/CD variables
270
+ ```
271
+
272
+ 2. **Don't use `latest` tags**
273
+ ```yaml
274
+ # Bad
275
+ image: node:latest
276
+
277
+ # Good
278
+ image: node:20.11.0
279
+ ```
280
+
281
+ 3. **Don't run unnecessary jobs**
282
+ ```yaml
283
+ # Good - only run on specific branches
284
+ deploy:
285
+ only:
286
+ - main
287
+ except:
288
+ - schedules
289
+ ```
290
+
291
+ ## Caching Strategies
292
+
293
+ ### Global Cache
294
+
295
+ ```yaml
296
+ # Apply to all jobs
297
+ cache:
298
+ key: ${CI_COMMIT_REF_SLUG}
299
+ paths:
300
+ - node_modules/
301
+ - .npm/
302
+ ```
303
+
304
+ ### Job-Specific Cache
305
+
306
+ ```yaml
307
+ test:
308
+ cache:
309
+ key: test-cache
310
+ paths:
311
+ - node_modules/
312
+ - .cache/
313
+
314
+ build:
315
+ cache:
316
+ key: build-cache
317
+ paths:
318
+ - dist/
319
+ - .webpack-cache/
320
+ ```
321
+
322
+ ### Cache with Fallback
323
+
324
+ ```yaml
325
+ cache:
326
+ key: ${CI_COMMIT_REF_SLUG}
327
+ paths:
328
+ - node_modules/
329
+ policy: pull # Only pull, don't push
330
+
331
+ build:
332
+ cache:
333
+ key: ${CI_COMMIT_REF_SLUG}
334
+ paths:
335
+ - node_modules/
336
+ policy: pull-push # Pull and push cache
337
+ ```
338
+
339
+ ## Artifacts and Dependencies
340
+
341
+ ### Uploading Artifacts
342
+
343
+ ```yaml
344
+ build:
345
+ script:
346
+ - npm run build
347
+ artifacts:
348
+ name: "dist-$CI_COMMIT_SHORT_SHA"
349
+ paths:
350
+ - dist/
351
+ expire_in: 1 week
352
+ when: on_success # or always, on_failure
353
+ ```
354
+
355
+ ### Downloading Artifacts
356
+
357
+ ```yaml
358
+ deploy:
359
+ dependencies:
360
+ - build # Downloads artifacts from 'build' job
361
+ script:
362
+ - ls dist/ # Artifact available
363
+ - deploy.sh
364
+ ```
365
+
366
+ ### Artifact Reports
367
+
368
+ ```yaml
369
+ test:
370
+ script:
371
+ - npm test
372
+ artifacts:
373
+ reports:
374
+ junit: junit.xml
375
+ coverage_report:
376
+ coverage_format: cobertura
377
+ path: coverage/cobertura-coverage.xml
378
+ dotenv: build.env # Export variables to other jobs
379
+ ```
380
+
381
+ ## Multi-Project Pipelines
382
+
383
+ ### Parent Pipeline
384
+
385
+ ```yaml
386
+ # .gitlab-ci.yml
387
+ trigger:frontend:
388
+ stage: deploy
389
+ trigger:
390
+ project: mygroup/frontend
391
+ strategy: depend
392
+
393
+ trigger:backend:
394
+ stage: deploy
395
+ trigger:
396
+ project: mygroup/backend
397
+ strategy: depend
398
+ ```
399
+
400
+ ### Child Pipelines
401
+
402
+ ```yaml
403
+ # Parent pipeline
404
+ generate-config:
405
+ script:
406
+ - generate-dynamic-config.sh > dynamic.yml
407
+ artifacts:
408
+ paths:
409
+ - dynamic.yml
410
+
411
+ trigger-child:
412
+ trigger:
413
+ include:
414
+ - artifact: dynamic.yml
415
+ job: generate-config
416
+ strategy: depend
417
+ ```
418
+
419
+ ## Docker Integration
420
+
421
+ ### Build and Push Docker Image
422
+
423
+ ```yaml
424
+ docker-build:
425
+ image: docker:latest
426
+ services:
427
+ - docker:dind
428
+ variables:
429
+ DOCKER_DRIVER: overlay2
430
+ DOCKER_TLS_CERTDIR: "/certs"
431
+ before_script:
432
+ - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
433
+ script:
434
+ - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .
435
+ - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
436
+ ```
437
+
438
+ ### Use GitLab Container Registry
439
+
440
+ ```yaml
441
+ build:
442
+ image: docker:latest
443
+ services:
444
+ - docker:dind
445
+ script:
446
+ # Login to GitLab Container Registry
447
+ - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
448
+
449
+ # Build and tag
450
+ - docker build -t $CI_REGISTRY_IMAGE:latest .
451
+ - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG .
452
+
453
+ # Push
454
+ - docker push $CI_REGISTRY_IMAGE:latest
455
+ - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
456
+ ```
457
+
458
+ ## Kubernetes Deployment
459
+
460
+ ### Deploy to Kubernetes
461
+
462
+ ```yaml
463
+ deploy:k8s:
464
+ image: bitnami/kubectl:latest
465
+ stage: deploy
466
+ script:
467
+ # Configure kubectl
468
+ - kubectl config set-cluster k8s --server="$KUBE_URL" --insecure-skip-tls-verify=true
469
+ - kubectl config set-credentials admin --token="$KUBE_TOKEN"
470
+ - kubectl config set-context default --cluster=k8s --user=admin
471
+ - kubectl config use-context default
472
+
473
+ # Deploy
474
+ - kubectl set image deployment/app app=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
475
+ - kubectl rollout status deployment/app
476
+ environment:
477
+ name: production
478
+ kubernetes:
479
+ namespace: production
480
+ ```
481
+
482
+ ### Helm Deployment
483
+
484
+ ```yaml
485
+ deploy:helm:
486
+ image: alpine/helm:latest
487
+ stage: deploy
488
+ script:
489
+ - helm upgrade --install myapp ./charts/myapp \
490
+ --set image.tag=$CI_COMMIT_SHORT_SHA \
491
+ --namespace production
492
+ environment:
493
+ name: production
494
+ ```
495
+
496
+ ## Rules and Conditions
497
+
498
+ ### Complex Rules
499
+
500
+ ```yaml
501
+ test:
502
+ script:
503
+ - npm test
504
+ rules:
505
+ # Run on main branch
506
+ - if: $CI_COMMIT_BRANCH == "main"
507
+ when: always
508
+
509
+ # Run on merge requests
510
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
511
+ when: always
512
+
513
+ # Run on tags starting with 'v'
514
+ - if: $CI_COMMIT_TAG =~ /^v/
515
+ when: always
516
+
517
+ # Skip on schedules
518
+ - if: $CI_PIPELINE_SOURCE == "schedule"
519
+ when: never
520
+
521
+ # Manual for feature branches
522
+ - if: $CI_COMMIT_BRANCH =~ /^feature\//
523
+ when: manual
524
+
525
+ # Otherwise skip
526
+ - when: never
527
+ ```
528
+
529
+ ### Changes-Based Execution
530
+
531
+ ```yaml
532
+ test:backend:
533
+ script:
534
+ - cd backend && npm test
535
+ rules:
536
+ - changes:
537
+ - backend/**/*
538
+ when: always
539
+
540
+ test:frontend:
541
+ script:
542
+ - cd frontend && npm test
543
+ rules:
544
+ - changes:
545
+ - frontend/**/*
546
+ when: always
547
+ ```
548
+
549
+ ## Security Scanning
550
+
551
+ ### SAST (Static Application Security Testing)
552
+
553
+ ```yaml
554
+ include:
555
+ - template: Security/SAST.gitlab-ci.yml
556
+
557
+ sast:
558
+ stage: security
559
+ variables:
560
+ SAST_EXCLUDED_PATHS: "spec, test, tests, tmp, node_modules"
561
+ ```
562
+
563
+ ### Dependency Scanning
564
+
565
+ ```yaml
566
+ include:
567
+ - template: Security/Dependency-Scanning.gitlab-ci.yml
568
+
569
+ dependency_scanning:
570
+ stage: security
571
+ ```
572
+
573
+ ### Container Scanning
574
+
575
+ ```yaml
576
+ include:
577
+ - template: Security/Container-Scanning.gitlab-ci.yml
578
+
579
+ container_scanning:
580
+ stage: security
581
+ variables:
582
+ CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
583
+ ```
584
+
585
+ ## Optimization Patterns
586
+
587
+ ### Skip Pipeline for Docs
588
+
589
+ ```yaml
590
+ # Skip pipeline if only docs changed
591
+ workflow:
592
+ rules:
593
+ - if: $CI_PIPELINE_SOURCE == "push"
594
+ changes:
595
+ - "**/*.md"
596
+ - "docs/**/*"
597
+ when: never
598
+ - when: always
599
+ ```
600
+
601
+ ### Interruptible Jobs
602
+
603
+ ```yaml
604
+ test:
605
+ interruptible: true # Cancel if new pipeline starts
606
+ script:
607
+ - npm test
608
+ ```
609
+
610
+ ### Retry Failed Jobs
611
+
612
+ ```yaml
613
+ test:
614
+ script:
615
+ - npm test
616
+ retry:
617
+ max: 2
618
+ when:
619
+ - runner_system_failure
620
+ - stuck_or_timeout_failure
621
+ ```
622
+
623
+ ## CI/CD Variables
624
+
625
+ ### Predefined Variables
626
+
627
+ ```yaml
628
+ test:
629
+ script:
630
+ - echo "Pipeline ID: $CI_PIPELINE_ID"
631
+ - echo "Commit SHA: $CI_COMMIT_SHA"
632
+ - echo "Commit Branch: $CI_COMMIT_BRANCH"
633
+ - echo "Commit Tag: $CI_COMMIT_TAG"
634
+ - echo "Project Name: $CI_PROJECT_NAME"
635
+ - echo "Registry: $CI_REGISTRY_IMAGE"
636
+ ```
637
+
638
+ ### Custom Variables
639
+
640
+ ```yaml
641
+ variables:
642
+ ENVIRONMENT: "production"
643
+ API_ENDPOINT: "https://api.example.com"
644
+
645
+ deploy:
646
+ script:
647
+ - deploy.sh --env $ENVIRONMENT --api $API_ENDPOINT
648
+ ```
649
+
650
+ ### Protected Variables
651
+
652
+ **Add via UI**: Settings → CI/CD → Variables
653
+
654
+ ```yaml
655
+ deploy:
656
+ script:
657
+ - echo "Deploying with token: $DEPLOY_TOKEN"
658
+ only:
659
+ - main # Protected variables only available on protected branches
660
+ ```
661
+
662
+ ## Troubleshooting
663
+
664
+ ### Pipeline Not Triggered
665
+
666
+ **Check**:
667
+ 1. `.gitlab-ci.yml` syntax valid
668
+ 2. Rules/only/except conditions met
669
+ 3. CI/CD enabled for project
670
+ 4. GitLab Runner available
671
+
672
+ ### Cache Not Working
673
+
674
+ **Solutions**:
675
+ ```yaml
676
+ # Use specific cache key
677
+ cache:
678
+ key:
679
+ files:
680
+ - package-lock.json
681
+ paths:
682
+ - node_modules/
683
+
684
+ # Clear cache if corrupted
685
+ # Settings → CI/CD → Clear runner caches
686
+ ```
687
+
688
+ ### Artifacts Not Available
689
+
690
+ **Check**:
691
+ 1. Artifact expiration not exceeded
692
+ 2. Job succeeded (artifacts only uploaded on success by default)
693
+ 3. Dependencies declared correctly
694
+
695
+ ```yaml
696
+ deploy:
697
+ dependencies:
698
+ - build # Must match job name exactly
699
+ ```
700
+
701
+ ## Common Pitfalls
702
+
703
+ 1. **❌ No caching**: Slow pipelines
704
+ 2. **❌ Not using templates**: Duplication
705
+ 3. **❌ Artifacts too large**: Slow uploads/downloads
706
+ 4. **❌ No retry logic**: Flaky tests fail pipeline
707
+ 5. **❌ Running all jobs always**: Wasted resources
708
+ 6. **❌ No manual gates for production**: Risky deployments
709
+
710
+ ## Integration with Rulebook
711
+
712
+ If using `@hivehub/rulebook`, GitLab CI pipelines are generated automatically:
713
+
714
+ ```bash
715
+ # Generate GitLab CI pipeline
716
+ npx @hivehub/rulebook workflows
717
+
718
+ # Creates .gitlab-ci.yml with:
719
+ # - Language-specific stages
720
+ # - Caching configured
721
+ # - Artifacts management
722
+ # - Security scanning
723
+ ```
724
+
725
+ ## Related Templates
726
+
727
+ - See `/.rulebook/specs/GITHUB_ACTIONS.md` for GitHub Actions comparison
728
+ - See `/.rulebook/specs/CI_CD_PATTERNS.md` for general CI/CD patterns
729
+ - See `/.rulebook/specs/SECRETS_MANAGEMENT.md` for secrets handling
730
+ - See `/.rulebook/specs/QUALITY_ENFORCEMENT.md` for quality gates