@hivehub/rulebook 5.4.0 → 5.4.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 (454) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/ralph-config.md +112 -112
  4. package/.claude/commands/ralph-history.md +110 -110
  5. package/.claude/commands/ralph-init.md +72 -72
  6. package/.claude/commands/ralph-pause-resume.md +105 -105
  7. package/.claude/commands/ralph-run.md +101 -101
  8. package/.claude/commands/ralph-status.md +76 -76
  9. package/.claude/commands/rulebook-decision-create.md +55 -55
  10. package/.claude/commands/rulebook-decision-list.md +15 -15
  11. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  12. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  13. package/.claude/commands/rulebook-learn-capture.md +48 -48
  14. package/.claude/commands/rulebook-learn-list.md +13 -13
  15. package/.claude/commands/rulebook-memory-save.md +48 -48
  16. package/.claude/commands/rulebook-memory-search.md +47 -47
  17. package/.claude/commands/rulebook-task-apply.md +67 -67
  18. package/.claude/commands/rulebook-task-archive.md +94 -94
  19. package/.claude/commands/rulebook-task-create.md +93 -93
  20. package/.claude/commands/rulebook-task-list.md +42 -42
  21. package/.claude/commands/rulebook-task-show.md +52 -52
  22. package/.claude/commands/rulebook-task-validate.md +53 -53
  23. package/.claude-plugin/marketplace.json +28 -28
  24. package/.claude-plugin/plugin.json +8 -8
  25. package/LICENSE +191 -191
  26. package/README.md +393 -393
  27. package/dist/index.js +0 -0
  28. package/dist/mcp/rulebook-server.js +0 -0
  29. package/package.json +22 -21
  30. package/templates/agents/accessibility-reviewer.md +43 -43
  31. package/templates/agents/api-designer.md +42 -42
  32. package/templates/agents/architect.md +51 -51
  33. package/templates/agents/build-engineer.md +36 -36
  34. package/templates/agents/code-reviewer.md +47 -47
  35. package/templates/agents/compiler/codegen-debugger.md +34 -34
  36. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  37. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  38. package/templates/agents/context-intelligence.md +52 -52
  39. package/templates/agents/database-architect.md +41 -41
  40. package/templates/agents/devops-engineer.md +42 -42
  41. package/templates/agents/docs-writer.md +38 -38
  42. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  43. package/templates/agents/game-engine/render-engineer.md +22 -22
  44. package/templates/agents/game-engine/shader-engineer.md +38 -38
  45. package/templates/agents/game-engine/systems-integration.md +43 -43
  46. package/templates/agents/generic/code-reviewer.md +41 -41
  47. package/templates/agents/generic/docs-writer.md +25 -25
  48. package/templates/agents/generic/project-manager.md +36 -36
  49. package/templates/agents/generic/researcher.md +34 -34
  50. package/templates/agents/generic/test-engineer.md +41 -41
  51. package/templates/agents/i18n-engineer.md +42 -42
  52. package/templates/agents/implementer.md +42 -42
  53. package/templates/agents/migration-engineer.md +42 -42
  54. package/templates/agents/mobile/platform-specialist.md +22 -22
  55. package/templates/agents/mobile/ui-engineer.md +22 -22
  56. package/templates/agents/performance-engineer.md +49 -49
  57. package/templates/agents/refactoring-agent.md +41 -41
  58. package/templates/agents/researcher.md +38 -38
  59. package/templates/agents/security-reviewer.md +40 -40
  60. package/templates/agents/team-lead.md +37 -37
  61. package/templates/agents/tester.md +48 -48
  62. package/templates/agents/ux-reviewer.md +43 -43
  63. package/templates/agents/web-app/api-designer.md +22 -22
  64. package/templates/agents/web-app/backend-engineer.md +30 -30
  65. package/templates/agents/web-app/database-engineer.md +22 -22
  66. package/templates/agents/web-app/frontend-engineer.md +29 -29
  67. package/templates/agents/web-app/security-reviewer.md +32 -32
  68. package/templates/ci/rulebook-review.yml +26 -26
  69. package/templates/cli/AIDER.md +49 -49
  70. package/templates/cli/AMAZON_Q.md +25 -25
  71. package/templates/cli/AUGGIE.md +32 -32
  72. package/templates/cli/CLAUDE.md +117 -117
  73. package/templates/cli/CLINE.md +99 -99
  74. package/templates/cli/CODEBUDDY.md +20 -20
  75. package/templates/cli/CODEIUM.md +20 -20
  76. package/templates/cli/CODEX.md +21 -21
  77. package/templates/cli/CONTINUE.md +34 -34
  78. package/templates/cli/CURSOR_CLI.md +62 -62
  79. package/templates/cli/FACTORY.md +18 -18
  80. package/templates/cli/GEMINI.md +35 -35
  81. package/templates/cli/KILOCODE.md +18 -18
  82. package/templates/cli/OPENCODE.md +18 -18
  83. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  84. package/templates/cli/gemini-extension.json +77 -77
  85. package/templates/commands/rulebook-decision-create.md +55 -55
  86. package/templates/commands/rulebook-decision-list.md +15 -15
  87. package/templates/commands/rulebook-knowledge-add.md +41 -41
  88. package/templates/commands/rulebook-knowledge-list.md +15 -15
  89. package/templates/commands/rulebook-learn-capture.md +48 -48
  90. package/templates/commands/rulebook-learn-list.md +13 -13
  91. package/templates/commands/rulebook-memory-save.md +48 -48
  92. package/templates/commands/rulebook-memory-search.md +47 -47
  93. package/templates/commands/rulebook-task-apply.md +67 -67
  94. package/templates/commands/rulebook-task-archive.md +94 -94
  95. package/templates/commands/rulebook-task-create.md +93 -93
  96. package/templates/commands/rulebook-task-list.md +42 -42
  97. package/templates/commands/rulebook-task-show.md +52 -52
  98. package/templates/commands/rulebook-task-validate.md +53 -53
  99. package/templates/compact-context/_default.md +23 -23
  100. package/templates/compact-context/cpp.md +26 -26
  101. package/templates/compact-context/go.md +26 -26
  102. package/templates/compact-context/python.md +26 -26
  103. package/templates/compact-context/rust.md +28 -28
  104. package/templates/compact-context/typescript.md +29 -29
  105. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  106. package/templates/core/AGENT_AUTOMATION.md +296 -296
  107. package/templates/core/CLAUDE_MD_v2.md +71 -71
  108. package/templates/core/DAG.md +304 -304
  109. package/templates/core/DECISIONS.md +38 -38
  110. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  111. package/templates/core/KNOWLEDGE.md +49 -49
  112. package/templates/core/MULTI_AGENT.md +74 -74
  113. package/templates/core/PLANS.md +28 -28
  114. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  115. package/templates/core/RALPH.md +471 -471
  116. package/templates/core/RULEBOOK.md +1947 -1947
  117. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  118. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  119. package/templates/core/WORKSPACE.md +69 -69
  120. package/templates/frameworks/ANGULAR.md +36 -36
  121. package/templates/frameworks/DJANGO.md +83 -83
  122. package/templates/frameworks/ELECTRON.md +147 -147
  123. package/templates/frameworks/FLASK.md +38 -38
  124. package/templates/frameworks/FLUTTER.md +55 -55
  125. package/templates/frameworks/JQUERY.md +32 -32
  126. package/templates/frameworks/LARAVEL.md +38 -38
  127. package/templates/frameworks/NESTJS.md +43 -43
  128. package/templates/frameworks/NEXTJS.md +127 -127
  129. package/templates/frameworks/NUXT.md +40 -40
  130. package/templates/frameworks/RAILS.md +66 -66
  131. package/templates/frameworks/REACT.md +38 -38
  132. package/templates/frameworks/REACT_NATIVE.md +47 -47
  133. package/templates/frameworks/SPRING.md +39 -39
  134. package/templates/frameworks/SYMFONY.md +36 -36
  135. package/templates/frameworks/VUE.md +36 -36
  136. package/templates/frameworks/ZEND.md +35 -35
  137. package/templates/git/CI_CD_PATTERNS.md +661 -661
  138. package/templates/git/GITHUB_ACTIONS.md +728 -728
  139. package/templates/git/GITLAB_CI.md +730 -730
  140. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  141. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  142. package/templates/hooks/COMMIT_MSG.md +530 -530
  143. package/templates/hooks/POST_CHECKOUT.md +546 -546
  144. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  145. package/templates/hooks/PRE_COMMIT.md +414 -414
  146. package/templates/hooks/PRE_PUSH.md +601 -601
  147. package/templates/hooks/check-context-and-handoff.ps1 +58 -58
  148. package/templates/hooks/check-context-and-handoff.sh +76 -76
  149. package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
  150. package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
  151. package/templates/hooks/on-compact-reinject.sh +34 -34
  152. package/templates/hooks/resume-from-handoff.ps1 +40 -40
  153. package/templates/hooks/resume-from-handoff.sh +61 -61
  154. package/templates/hooks/terse-activate.ps1 +143 -143
  155. package/templates/hooks/terse-activate.sh +197 -197
  156. package/templates/hooks/terse-mode-tracker.ps1 +153 -153
  157. package/templates/hooks/terse-mode-tracker.sh +187 -187
  158. package/templates/ides/CONTINUE_RULES.md +16 -16
  159. package/templates/ides/COPILOT.md +37 -37
  160. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  161. package/templates/ides/CURSOR.md +43 -43
  162. package/templates/ides/GEMINI_RULES.md +17 -17
  163. package/templates/ides/JETBRAINS_AI.md +35 -35
  164. package/templates/ides/REPLIT.md +36 -36
  165. package/templates/ides/TABNINE.md +29 -29
  166. package/templates/ides/VSCODE.md +40 -40
  167. package/templates/ides/WINDSURF.md +36 -36
  168. package/templates/ides/WINDSURF_RULES.md +14 -14
  169. package/templates/ides/ZED.md +32 -32
  170. package/templates/ides/cursor-mdc/go.mdc +24 -24
  171. package/templates/ides/cursor-mdc/python.mdc +24 -24
  172. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  173. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  174. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  175. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  176. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  177. package/templates/languages/C.md +333 -333
  178. package/templates/languages/CPP.md +743 -743
  179. package/templates/languages/CSHARP.md +417 -417
  180. package/templates/languages/ELIXIR.md +454 -454
  181. package/templates/languages/ERLANG.md +361 -361
  182. package/templates/languages/GO.md +645 -645
  183. package/templates/languages/HASKELL.md +177 -177
  184. package/templates/languages/JAVA.md +607 -607
  185. package/templates/languages/JAVASCRIPT.md +631 -631
  186. package/templates/languages/JULIA.md +97 -97
  187. package/templates/languages/KOTLIN.md +511 -511
  188. package/templates/languages/LISP.md +100 -100
  189. package/templates/languages/LUA.md +74 -74
  190. package/templates/languages/OBJECTIVEC.md +90 -90
  191. package/templates/languages/PHP.md +416 -416
  192. package/templates/languages/PYTHON.md +682 -682
  193. package/templates/languages/RUBY.md +421 -421
  194. package/templates/languages/RUST.md +477 -477
  195. package/templates/languages/SAS.md +73 -73
  196. package/templates/languages/SCALA.md +348 -348
  197. package/templates/languages/SOLIDITY.md +580 -580
  198. package/templates/languages/SQL.md +137 -137
  199. package/templates/languages/SWIFT.md +466 -466
  200. package/templates/languages/TYPESCRIPT.md +591 -591
  201. package/templates/languages/ZIG.md +265 -265
  202. package/templates/modules/ATLASSIAN.md +255 -255
  203. package/templates/modules/CONTEXT7.md +54 -54
  204. package/templates/modules/FIGMA.md +267 -267
  205. package/templates/modules/GITHUB_MCP.md +64 -64
  206. package/templates/modules/GRAFANA.md +328 -328
  207. package/templates/modules/MEMORY.md +126 -126
  208. package/templates/modules/NOTION.md +247 -247
  209. package/templates/modules/PLAYWRIGHT.md +90 -90
  210. package/templates/modules/RULEBOOK_MCP.md +208 -208
  211. package/templates/modules/SERENA.md +337 -337
  212. package/templates/modules/SUPABASE.md +223 -223
  213. package/templates/modules/SYNAP.md +69 -69
  214. package/templates/modules/VECTORIZER.md +63 -63
  215. package/templates/modules/sequential-thinking.md +42 -42
  216. package/templates/ralph/ralph-history.bat +4 -4
  217. package/templates/ralph/ralph-history.sh +5 -5
  218. package/templates/ralph/ralph-init.bat +5 -5
  219. package/templates/ralph/ralph-init.sh +5 -5
  220. package/templates/ralph/ralph-pause.bat +5 -5
  221. package/templates/ralph/ralph-pause.sh +5 -5
  222. package/templates/ralph/ralph-run.bat +5 -5
  223. package/templates/ralph/ralph-run.sh +5 -5
  224. package/templates/ralph/ralph-status.bat +4 -4
  225. package/templates/ralph/ralph-status.sh +5 -5
  226. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  227. package/templates/rules/cpp.md +46 -46
  228. package/templates/rules/csharp.md +44 -44
  229. package/templates/rules/diagnostic-first.md +39 -39
  230. package/templates/rules/fail-twice-escalate.md +46 -46
  231. package/templates/rules/follow-task-sequence.md +36 -36
  232. package/templates/rules/git-safety.md +29 -29
  233. package/templates/rules/go.md +40 -40
  234. package/templates/rules/incremental-implementation.md +56 -56
  235. package/templates/rules/incremental-tests.md +29 -29
  236. package/templates/rules/java.md +43 -43
  237. package/templates/rules/javascript.md +39 -39
  238. package/templates/rules/knowledge-base-usage.md +41 -41
  239. package/templates/rules/multi-agent-teams.md +75 -75
  240. package/templates/rules/no-deferred.md +31 -31
  241. package/templates/rules/no-shortcuts.md +30 -30
  242. package/templates/rules/python.md +43 -43
  243. package/templates/rules/research-first.md +30 -30
  244. package/templates/rules/respect-handoff-trigger.md +41 -41
  245. package/templates/rules/rust.md +40 -40
  246. package/templates/rules/sequential-editing.md +21 -21
  247. package/templates/rules/session-workflow.md +24 -24
  248. package/templates/rules/task-decomposition.md +32 -32
  249. package/templates/rules/typescript.md +40 -40
  250. package/templates/services/AZURE_BLOB.md +184 -184
  251. package/templates/services/CASSANDRA.md +239 -239
  252. package/templates/services/DATADOG.md +26 -26
  253. package/templates/services/DOCKER.md +124 -124
  254. package/templates/services/DOCKER_COMPOSE.md +168 -168
  255. package/templates/services/DYNAMODB.md +308 -308
  256. package/templates/services/ELASTICSEARCH.md +347 -347
  257. package/templates/services/GCS.md +178 -178
  258. package/templates/services/HELM.md +194 -194
  259. package/templates/services/INFLUXDB.md +265 -265
  260. package/templates/services/KAFKA.md +341 -341
  261. package/templates/services/KUBERNETES.md +208 -208
  262. package/templates/services/MARIADB.md +183 -183
  263. package/templates/services/MEMCACHED.md +242 -242
  264. package/templates/services/MINIO.md +201 -201
  265. package/templates/services/MONGODB.md +268 -268
  266. package/templates/services/MYSQL.md +358 -358
  267. package/templates/services/NEO4J.md +247 -247
  268. package/templates/services/OPENTELEMETRY.md +25 -25
  269. package/templates/services/ORACLE.md +290 -290
  270. package/templates/services/PINO.md +24 -24
  271. package/templates/services/POSTGRESQL.md +326 -326
  272. package/templates/services/PROMETHEUS.md +33 -33
  273. package/templates/services/RABBITMQ.md +286 -286
  274. package/templates/services/REDIS.md +292 -292
  275. package/templates/services/S3.md +298 -298
  276. package/templates/services/SENTRY.md +23 -23
  277. package/templates/services/SQLITE.md +294 -294
  278. package/templates/services/SQLSERVER.md +294 -294
  279. package/templates/services/WINSTON.md +30 -30
  280. package/templates/skills/cli/aider/SKILL.md +59 -59
  281. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  282. package/templates/skills/cli/auggie/SKILL.md +42 -42
  283. package/templates/skills/cli/claude/SKILL.md +42 -42
  284. package/templates/skills/cli/cline/SKILL.md +42 -42
  285. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  286. package/templates/skills/cli/codeium/SKILL.md +30 -30
  287. package/templates/skills/cli/codex/SKILL.md +31 -31
  288. package/templates/skills/cli/continue/SKILL.md +44 -44
  289. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  290. package/templates/skills/cli/factory/SKILL.md +28 -28
  291. package/templates/skills/cli/gemini/SKILL.md +45 -45
  292. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  293. package/templates/skills/cli/opencode/SKILL.md +28 -28
  294. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  295. package/templates/skills/core/dag/SKILL.md +314 -314
  296. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  297. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  298. package/templates/skills/core/rulebook/SKILL.md +176 -176
  299. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  300. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  301. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  302. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  303. package/templates/skills/dev/analysis/SKILL.md +19 -19
  304. package/templates/skills/dev/api-design/SKILL.md +15 -15
  305. package/templates/skills/dev/architect/SKILL.md +17 -17
  306. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  307. package/templates/skills/dev/db-design/SKILL.md +15 -15
  308. package/templates/skills/dev/debug/SKILL.md +16 -16
  309. package/templates/skills/dev/deploy/SKILL.md +17 -17
  310. package/templates/skills/dev/docs/SKILL.md +17 -17
  311. package/templates/skills/dev/handoff/SKILL.md +27 -27
  312. package/templates/skills/dev/migrate/SKILL.md +15 -15
  313. package/templates/skills/dev/perf/SKILL.md +17 -17
  314. package/templates/skills/dev/refactor/SKILL.md +17 -17
  315. package/templates/skills/dev/research/SKILL.md +14 -14
  316. package/templates/skills/dev/review/SKILL.md +18 -18
  317. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  318. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  319. package/templates/skills/frameworks/django/SKILL.md +93 -93
  320. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  321. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  322. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  323. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  324. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  325. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  326. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  327. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  328. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  329. package/templates/skills/frameworks/react/SKILL.md +48 -48
  330. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  331. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  332. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  333. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  334. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  335. package/templates/skills/ides/copilot/SKILL.md +47 -47
  336. package/templates/skills/ides/cursor/SKILL.md +53 -53
  337. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  338. package/templates/skills/ides/replit/SKILL.md +46 -46
  339. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  340. package/templates/skills/ides/vscode/SKILL.md +50 -50
  341. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  342. package/templates/skills/ides/zed/SKILL.md +42 -42
  343. package/templates/skills/languages/c/SKILL.md +343 -343
  344. package/templates/skills/languages/cpp/SKILL.md +753 -753
  345. package/templates/skills/languages/csharp/SKILL.md +427 -427
  346. package/templates/skills/languages/elixir/SKILL.md +464 -464
  347. package/templates/skills/languages/erlang/SKILL.md +371 -371
  348. package/templates/skills/languages/go/SKILL.md +655 -655
  349. package/templates/skills/languages/haskell/SKILL.md +187 -187
  350. package/templates/skills/languages/java/SKILL.md +617 -617
  351. package/templates/skills/languages/javascript/SKILL.md +641 -641
  352. package/templates/skills/languages/julia/SKILL.md +107 -107
  353. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  354. package/templates/skills/languages/lisp/SKILL.md +110 -110
  355. package/templates/skills/languages/lua/SKILL.md +84 -84
  356. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  357. package/templates/skills/languages/php/SKILL.md +426 -426
  358. package/templates/skills/languages/python/SKILL.md +692 -692
  359. package/templates/skills/languages/ruby/SKILL.md +431 -431
  360. package/templates/skills/languages/rust/SKILL.md +487 -487
  361. package/templates/skills/languages/sas/SKILL.md +83 -83
  362. package/templates/skills/languages/scala/SKILL.md +358 -358
  363. package/templates/skills/languages/solidity/SKILL.md +590 -590
  364. package/templates/skills/languages/sql/SKILL.md +147 -147
  365. package/templates/skills/languages/swift/SKILL.md +476 -476
  366. package/templates/skills/languages/typescript/SKILL.md +302 -302
  367. package/templates/skills/languages/zig/SKILL.md +275 -275
  368. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  369. package/templates/skills/modules/context7/SKILL.md +64 -64
  370. package/templates/skills/modules/figma/SKILL.md +277 -277
  371. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  372. package/templates/skills/modules/grafana/SKILL.md +338 -338
  373. package/templates/skills/modules/memory/SKILL.md +73 -73
  374. package/templates/skills/modules/notion/SKILL.md +257 -257
  375. package/templates/skills/modules/playwright/SKILL.md +100 -100
  376. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  377. package/templates/skills/modules/serena/SKILL.md +347 -347
  378. package/templates/skills/modules/supabase/SKILL.md +233 -233
  379. package/templates/skills/modules/synap/SKILL.md +79 -79
  380. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  381. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  382. package/templates/skills/services/cassandra/SKILL.md +249 -249
  383. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  384. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  385. package/templates/skills/services/gcs/SKILL.md +188 -188
  386. package/templates/skills/services/influxdb/SKILL.md +275 -275
  387. package/templates/skills/services/kafka/SKILL.md +351 -351
  388. package/templates/skills/services/mariadb/SKILL.md +193 -193
  389. package/templates/skills/services/memcached/SKILL.md +252 -252
  390. package/templates/skills/services/minio/SKILL.md +211 -211
  391. package/templates/skills/services/mongodb/SKILL.md +278 -278
  392. package/templates/skills/services/mysql/SKILL.md +368 -368
  393. package/templates/skills/services/neo4j/SKILL.md +257 -257
  394. package/templates/skills/services/oracle/SKILL.md +300 -300
  395. package/templates/skills/services/postgresql/SKILL.md +336 -336
  396. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  397. package/templates/skills/services/redis/SKILL.md +302 -302
  398. package/templates/skills/services/s3/SKILL.md +308 -308
  399. package/templates/skills/services/sqlite/SKILL.md +304 -304
  400. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  401. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  402. package/templates/skills/workflows/ralph/install.sh +87 -87
  403. package/templates/skills/workflows/ralph/manifest.json +158 -158
  404. package/templates/workflows/codespell.yml +31 -31
  405. package/templates/workflows/cpp-lint.yml +47 -47
  406. package/templates/workflows/cpp-publish.yml +119 -119
  407. package/templates/workflows/cpp-test.yml +77 -77
  408. package/templates/workflows/dotnet-lint.yml +29 -29
  409. package/templates/workflows/dotnet-publish.yml +40 -40
  410. package/templates/workflows/dotnet-test.yml +41 -41
  411. package/templates/workflows/elixir-lint.yml +45 -45
  412. package/templates/workflows/elixir-publish.yml +49 -49
  413. package/templates/workflows/elixir-test.yml +54 -54
  414. package/templates/workflows/erlang-lint.yml +47 -47
  415. package/templates/workflows/erlang-test.yml +62 -62
  416. package/templates/workflows/go-lint.yml +39 -39
  417. package/templates/workflows/go-publish.yml +95 -95
  418. package/templates/workflows/go-test.yml +59 -59
  419. package/templates/workflows/java-lint.yml +60 -60
  420. package/templates/workflows/java-publish.yml +120 -120
  421. package/templates/workflows/java-test.yml +85 -85
  422. package/templates/workflows/kotlin-lint.yml +34 -34
  423. package/templates/workflows/kotlin-publish.yml +56 -56
  424. package/templates/workflows/kotlin-test.yml +48 -48
  425. package/templates/workflows/php-lint.yml +39 -39
  426. package/templates/workflows/php-publish.yml +50 -50
  427. package/templates/workflows/php-test.yml +54 -54
  428. package/templates/workflows/python-lint.yml +47 -47
  429. package/templates/workflows/python-publish.yml +91 -91
  430. package/templates/workflows/python-test.yml +59 -59
  431. package/templates/workflows/rust-lint.yml +54 -54
  432. package/templates/workflows/rust-publish.yml +66 -66
  433. package/templates/workflows/rust-test.yml +75 -75
  434. package/templates/workflows/solidity-lint.yml +41 -41
  435. package/templates/workflows/solidity-test.yml +47 -47
  436. package/templates/workflows/swift-lint.yml +32 -32
  437. package/templates/workflows/swift-publish.yml +58 -58
  438. package/templates/workflows/swift-test.yml +44 -44
  439. package/templates/workflows/typescript-publish.yml +60 -60
  440. package/templates/workflows/typescript-test.yml +73 -73
  441. package/templates/workflows/zig-lint.yml +27 -27
  442. package/templates/workflows/zig-test.yml +40 -40
  443. package/dist/hooks/terse-activate.d.ts +0 -59
  444. package/dist/hooks/terse-activate.d.ts.map +0 -1
  445. package/dist/hooks/terse-activate.js +0 -149
  446. package/dist/hooks/terse-activate.js.map +0 -1
  447. package/dist/hooks/terse-config.d.ts +0 -51
  448. package/dist/hooks/terse-config.d.ts.map +0 -1
  449. package/dist/hooks/terse-config.js +0 -130
  450. package/dist/hooks/terse-config.js.map +0 -1
  451. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  452. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  453. package/dist/hooks/terse-mode-tracker.js +0 -213
  454. package/dist/hooks/terse-mode-tracker.js.map +0 -1
@@ -1,347 +1,347 @@
1
- ---
2
- name: "Serena"
3
- description: "Use MCP Serena for AI-powered development assistance, code analysis, and intelligent automation."
4
- version: "1.0.0"
5
- category: "modules"
6
- author: "Rulebook"
7
- tags: ["modules", "mcp"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- SERENA:START -->
12
- # Serena MCP Instructions
13
-
14
- **CRITICAL**: Use MCP Serena for AI-powered development assistance, code analysis, and intelligent automation.
15
-
16
- ## Core Operations
17
-
18
- ### Code Analysis
19
- ```typescript
20
- // Analyze code quality
21
- serena.analyze({
22
- file: 'src/auth/login.ts',
23
- checks: ['security', 'performance', 'best-practices']
24
- })
25
-
26
- // Get refactoring suggestions
27
- serena.suggest({
28
- file: 'src/legacy-code.js',
29
- type: 'refactor',
30
- target: 'modern'
31
- })
32
-
33
- // Detect code smells
34
- serena.detectSmells({
35
- directory: 'src/',
36
- severity: 'high'
37
- })
38
- ```
39
-
40
- ### Code Generation
41
- ```typescript
42
- // Generate tests
43
- serena.generateTests({
44
- sourceFile: 'src/utils/validator.ts',
45
- framework: 'vitest',
46
- coverage: 'comprehensive'
47
- })
48
-
49
- // Generate documentation
50
- serena.generateDocs({
51
- files: ['src/**/*.ts'],
52
- format: 'markdown',
53
- includeExamples: true
54
- })
55
-
56
- // Generate types
57
- serena.generateTypes({
58
- from: 'api-schema.json',
59
- to: 'src/types/api.ts',
60
- style: 'strict'
61
- })
62
- ```
63
-
64
- ### Intelligent Refactoring
65
- ```typescript
66
- // Extract function
67
- serena.refactor({
68
- action: 'extract-function',
69
- file: 'src/complex-logic.ts',
70
- selection: { start: 45, end: 78 },
71
- newFunctionName: 'processUserData'
72
- })
73
-
74
- // Rename symbol
75
- serena.refactor({
76
- action: 'rename',
77
- symbol: 'oldFunctionName',
78
- newName: 'newFunctionName',
79
- scope: 'project'
80
- })
81
-
82
- // Convert to async
83
- serena.refactor({
84
- action: 'convert-to-async',
85
- file: 'src/sync-operations.ts'
86
- })
87
- ```
88
-
89
- ### Code Review
90
- ```typescript
91
- // Get code review
92
- serena.review({
93
- files: ['src/new-feature/**/*.ts'],
94
- focus: ['security', 'performance', 'maintainability'],
95
- severity: 'warning-and-above'
96
- })
97
-
98
- // Check best practices
99
- serena.checkBestPractices({
100
- language: 'typescript',
101
- framework: 'react',
102
- files: 'src/components/**/*.tsx'
103
- })
104
- ```
105
-
106
- ## Common Patterns
107
-
108
- ### Pre-Commit Analysis
109
- ```typescript
110
- // Analyze changed files before commit
111
- const changedFiles = execSync('git diff --cached --name-only').toString().split('\n')
112
-
113
- for (const file of changedFiles) {
114
- const analysis = await serena.analyze({
115
- file,
116
- checks: ['security', 'performance', 'best-practices']
117
- })
118
-
119
- if (analysis.issues.filter(i => i.severity === 'high').length > 0) {
120
- console.error(`❌ High severity issues found in ${file}`)
121
- process.exit(1)
122
- }
123
- }
124
- ```
125
-
126
- ### Test Generation Workflow
127
- ```typescript
128
- // Generate tests for new features
129
- const newFiles = findFilesWithoutTests('src/features/new-feature')
130
-
131
- for (const file of newFiles) {
132
- const tests = await serena.generateTests({
133
- sourceFile: file,
134
- framework: 'vitest',
135
- coverage: 'comprehensive'
136
- })
137
-
138
- const testFile = file.replace('.ts', '.test.ts')
139
- fs.writeFileSync(testFile, tests.code)
140
-
141
- console.log(`✅ Generated tests for ${file}`)
142
- }
143
- ```
144
-
145
- ### Code Quality Dashboard
146
- ```typescript
147
- // Generate project health report
148
- const files = glob.sync('src/**/*.ts')
149
-
150
- const report = {
151
- totalFiles: files.length,
152
- issues: [],
153
- codeSmells: [],
154
- coverage: 0
155
- }
156
-
157
- for (const file of files) {
158
- const analysis = await serena.analyze({ file })
159
- report.issues.push(...analysis.issues)
160
-
161
- const smells = await serena.detectSmells({ file })
162
- report.codeSmells.push(...smells)
163
- }
164
-
165
- // Post to dashboard
166
- await grafana.dashboards.updateDashboard({
167
- panels: [
168
- { title: 'Code Quality', value: calculateQualityScore(report) },
169
- { title: 'Issues', value: report.issues.length },
170
- { title: 'Code Smells', value: report.codeSmells.length }
171
- ]
172
- })
173
- ```
174
-
175
- ### Automated Refactoring Pipeline
176
- ```typescript
177
- // Identify and fix code smells automatically
178
- const smells = await serena.detectSmells({
179
- directory: 'src/',
180
- severity: 'medium-and-above'
181
- })
182
-
183
- for (const smell of smells) {
184
- if (smell.autoFixable) {
185
- const result = await serena.refactor({
186
- action: smell.suggestedAction,
187
- file: smell.file,
188
- selection: smell.location
189
- })
190
-
191
- if (result.success) {
192
- console.log(`✅ Fixed: ${smell.description}`)
193
- }
194
- }
195
- }
196
- ```
197
-
198
- ### Documentation Sync
199
- ```typescript
200
- // Keep documentation in sync with code
201
- const apiFiles = glob.sync('src/api/**/*.ts')
202
-
203
- for (const file of apiFiles) {
204
- const docs = await serena.generateDocs({
205
- files: [file],
206
- format: 'markdown',
207
- includeExamples: true
208
- })
209
-
210
- const docFile = `docs/api/${path.basename(file, '.ts')}.md`
211
- fs.writeFileSync(docFile, docs)
212
- }
213
-
214
- // Update CHANGELOG with AI summary
215
- const changes = execSync('git log --oneline --since="1 week ago"').toString()
216
- const summary = await serena.summarize({
217
- text: changes,
218
- format: 'changelog',
219
- categorize: true
220
- })
221
-
222
- updateChangelog(summary)
223
- ```
224
-
225
- ### Intelligent Code Migration
226
- ```typescript
227
- // Migrate from old to new API
228
- await serena.migrate({
229
- from: 'old-api-v1',
230
- to: 'new-api-v2',
231
- files: 'src/**/*.ts',
232
- strategy: 'safe', // safe, aggressive, manual
233
- createBackup: true
234
- })
235
-
236
- // Update imports
237
- await serena.refactor({
238
- action: 'update-imports',
239
- from: '@old-package',
240
- to: '@new-package',
241
- scope: 'project'
242
- })
243
- ```
244
-
245
- ## Best Practices
246
-
247
- ✅ **DO:**
248
- - Run analysis before commits
249
- - Generate tests for new code
250
- - Use AI suggestions as starting point
251
- - Review generated code before accepting
252
- - Keep AI-generated docs in sync
253
- - Use for repetitive refactoring tasks
254
- - Leverage for code review automation
255
-
256
- ❌ **DON'T:**
257
- - Blindly accept all suggestions
258
- - Skip manual code review
259
- - Use for critical security decisions
260
- - Ignore high-severity issues
261
- - Over-rely on automation
262
- - Skip testing generated code
263
-
264
- ## Configuration
265
-
266
- ```json
267
- {
268
- "mcpServers": {
269
- "serena": {
270
- "command": "npx",
271
- "args": ["-y", "@modelcontextprotocol/server-serena"],
272
- "env": {
273
- "SERENA_API_KEY": "your-api-key",
274
- "SERENA_MODEL": "gpt-4",
275
- "SERENA_TEMPERATURE": "0.2"
276
- }
277
- }
278
- }
279
- }
280
- ```
281
-
282
- **Configuration Options:**
283
- - `SERENA_MODEL`: AI model to use (gpt-4, claude-3, etc.)
284
- - `SERENA_TEMPERATURE`: Creativity level (0.0-1.0, lower = more deterministic)
285
- - `SERENA_MAX_TOKENS`: Maximum response length
286
- - `SERENA_TIMEOUT`: Request timeout in seconds
287
-
288
- ## Integration with AGENT_AUTOMATION
289
-
290
- Enhance automation workflow with AI assistance:
291
-
292
- ```typescript
293
- // Step 1: AI-powered code review before quality checks
294
- const review = await serena.review({
295
- files: changedFiles,
296
- focus: ['security', 'performance']
297
- })
298
-
299
- if (review.criticalIssues.length > 0) {
300
- console.error('Critical issues found. Fix before proceeding.')
301
- process.exit(1)
302
- }
303
-
304
- // Step 2: Generate missing tests
305
- const filesWithoutTests = findFilesWithoutTests()
306
- for (const file of filesWithoutTests) {
307
- await serena.generateTests({ sourceFile: file })
308
- }
309
-
310
- // Step 3: Normal AGENT_AUTOMATION workflow
311
- // (lint, test, coverage, etc.)
312
-
313
- // Step 4: AI-powered commit message
314
- const commitMessage = await serena.generateCommitMessage({
315
- diff: execSync('git diff --cached').toString(),
316
- style: 'conventional'
317
- })
318
-
319
- git commit -m "${commitMessage}"
320
- ```
321
-
322
- ## CI/CD Integration
323
-
324
- ```yaml
325
- # .github/workflows/serena-review.yml
326
- name: AI Code Review
327
-
328
- on: [pull_request]
329
-
330
- jobs:
331
- review:
332
- runs-on: ubuntu-latest
333
- steps:
334
- - uses: actions/checkout@v4
335
-
336
- - name: AI Code Review
337
- run: |
338
- npx serena review \
339
- --files="$(git diff --name-only origin/main)" \
340
- --severity=warning \
341
- --format=github-comment
342
- env:
343
- SERENA_API_KEY: ${{ secrets.SERENA_API_KEY }}
344
- ```
345
-
346
- <!-- SERENA:END -->
347
-
1
+ ---
2
+ name: "Serena"
3
+ description: "Use MCP Serena for AI-powered development assistance, code analysis, and intelligent automation."
4
+ version: "1.0.0"
5
+ category: "modules"
6
+ author: "Rulebook"
7
+ tags: ["modules", "mcp"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- SERENA:START -->
12
+ # Serena MCP Instructions
13
+
14
+ **CRITICAL**: Use MCP Serena for AI-powered development assistance, code analysis, and intelligent automation.
15
+
16
+ ## Core Operations
17
+
18
+ ### Code Analysis
19
+ ```typescript
20
+ // Analyze code quality
21
+ serena.analyze({
22
+ file: 'src/auth/login.ts',
23
+ checks: ['security', 'performance', 'best-practices']
24
+ })
25
+
26
+ // Get refactoring suggestions
27
+ serena.suggest({
28
+ file: 'src/legacy-code.js',
29
+ type: 'refactor',
30
+ target: 'modern'
31
+ })
32
+
33
+ // Detect code smells
34
+ serena.detectSmells({
35
+ directory: 'src/',
36
+ severity: 'high'
37
+ })
38
+ ```
39
+
40
+ ### Code Generation
41
+ ```typescript
42
+ // Generate tests
43
+ serena.generateTests({
44
+ sourceFile: 'src/utils/validator.ts',
45
+ framework: 'vitest',
46
+ coverage: 'comprehensive'
47
+ })
48
+
49
+ // Generate documentation
50
+ serena.generateDocs({
51
+ files: ['src/**/*.ts'],
52
+ format: 'markdown',
53
+ includeExamples: true
54
+ })
55
+
56
+ // Generate types
57
+ serena.generateTypes({
58
+ from: 'api-schema.json',
59
+ to: 'src/types/api.ts',
60
+ style: 'strict'
61
+ })
62
+ ```
63
+
64
+ ### Intelligent Refactoring
65
+ ```typescript
66
+ // Extract function
67
+ serena.refactor({
68
+ action: 'extract-function',
69
+ file: 'src/complex-logic.ts',
70
+ selection: { start: 45, end: 78 },
71
+ newFunctionName: 'processUserData'
72
+ })
73
+
74
+ // Rename symbol
75
+ serena.refactor({
76
+ action: 'rename',
77
+ symbol: 'oldFunctionName',
78
+ newName: 'newFunctionName',
79
+ scope: 'project'
80
+ })
81
+
82
+ // Convert to async
83
+ serena.refactor({
84
+ action: 'convert-to-async',
85
+ file: 'src/sync-operations.ts'
86
+ })
87
+ ```
88
+
89
+ ### Code Review
90
+ ```typescript
91
+ // Get code review
92
+ serena.review({
93
+ files: ['src/new-feature/**/*.ts'],
94
+ focus: ['security', 'performance', 'maintainability'],
95
+ severity: 'warning-and-above'
96
+ })
97
+
98
+ // Check best practices
99
+ serena.checkBestPractices({
100
+ language: 'typescript',
101
+ framework: 'react',
102
+ files: 'src/components/**/*.tsx'
103
+ })
104
+ ```
105
+
106
+ ## Common Patterns
107
+
108
+ ### Pre-Commit Analysis
109
+ ```typescript
110
+ // Analyze changed files before commit
111
+ const changedFiles = execSync('git diff --cached --name-only').toString().split('\n')
112
+
113
+ for (const file of changedFiles) {
114
+ const analysis = await serena.analyze({
115
+ file,
116
+ checks: ['security', 'performance', 'best-practices']
117
+ })
118
+
119
+ if (analysis.issues.filter(i => i.severity === 'high').length > 0) {
120
+ console.error(`❌ High severity issues found in ${file}`)
121
+ process.exit(1)
122
+ }
123
+ }
124
+ ```
125
+
126
+ ### Test Generation Workflow
127
+ ```typescript
128
+ // Generate tests for new features
129
+ const newFiles = findFilesWithoutTests('src/features/new-feature')
130
+
131
+ for (const file of newFiles) {
132
+ const tests = await serena.generateTests({
133
+ sourceFile: file,
134
+ framework: 'vitest',
135
+ coverage: 'comprehensive'
136
+ })
137
+
138
+ const testFile = file.replace('.ts', '.test.ts')
139
+ fs.writeFileSync(testFile, tests.code)
140
+
141
+ console.log(`✅ Generated tests for ${file}`)
142
+ }
143
+ ```
144
+
145
+ ### Code Quality Dashboard
146
+ ```typescript
147
+ // Generate project health report
148
+ const files = glob.sync('src/**/*.ts')
149
+
150
+ const report = {
151
+ totalFiles: files.length,
152
+ issues: [],
153
+ codeSmells: [],
154
+ coverage: 0
155
+ }
156
+
157
+ for (const file of files) {
158
+ const analysis = await serena.analyze({ file })
159
+ report.issues.push(...analysis.issues)
160
+
161
+ const smells = await serena.detectSmells({ file })
162
+ report.codeSmells.push(...smells)
163
+ }
164
+
165
+ // Post to dashboard
166
+ await grafana.dashboards.updateDashboard({
167
+ panels: [
168
+ { title: 'Code Quality', value: calculateQualityScore(report) },
169
+ { title: 'Issues', value: report.issues.length },
170
+ { title: 'Code Smells', value: report.codeSmells.length }
171
+ ]
172
+ })
173
+ ```
174
+
175
+ ### Automated Refactoring Pipeline
176
+ ```typescript
177
+ // Identify and fix code smells automatically
178
+ const smells = await serena.detectSmells({
179
+ directory: 'src/',
180
+ severity: 'medium-and-above'
181
+ })
182
+
183
+ for (const smell of smells) {
184
+ if (smell.autoFixable) {
185
+ const result = await serena.refactor({
186
+ action: smell.suggestedAction,
187
+ file: smell.file,
188
+ selection: smell.location
189
+ })
190
+
191
+ if (result.success) {
192
+ console.log(`✅ Fixed: ${smell.description}`)
193
+ }
194
+ }
195
+ }
196
+ ```
197
+
198
+ ### Documentation Sync
199
+ ```typescript
200
+ // Keep documentation in sync with code
201
+ const apiFiles = glob.sync('src/api/**/*.ts')
202
+
203
+ for (const file of apiFiles) {
204
+ const docs = await serena.generateDocs({
205
+ files: [file],
206
+ format: 'markdown',
207
+ includeExamples: true
208
+ })
209
+
210
+ const docFile = `docs/api/${path.basename(file, '.ts')}.md`
211
+ fs.writeFileSync(docFile, docs)
212
+ }
213
+
214
+ // Update CHANGELOG with AI summary
215
+ const changes = execSync('git log --oneline --since="1 week ago"').toString()
216
+ const summary = await serena.summarize({
217
+ text: changes,
218
+ format: 'changelog',
219
+ categorize: true
220
+ })
221
+
222
+ updateChangelog(summary)
223
+ ```
224
+
225
+ ### Intelligent Code Migration
226
+ ```typescript
227
+ // Migrate from old to new API
228
+ await serena.migrate({
229
+ from: 'old-api-v1',
230
+ to: 'new-api-v2',
231
+ files: 'src/**/*.ts',
232
+ strategy: 'safe', // safe, aggressive, manual
233
+ createBackup: true
234
+ })
235
+
236
+ // Update imports
237
+ await serena.refactor({
238
+ action: 'update-imports',
239
+ from: '@old-package',
240
+ to: '@new-package',
241
+ scope: 'project'
242
+ })
243
+ ```
244
+
245
+ ## Best Practices
246
+
247
+ ✅ **DO:**
248
+ - Run analysis before commits
249
+ - Generate tests for new code
250
+ - Use AI suggestions as starting point
251
+ - Review generated code before accepting
252
+ - Keep AI-generated docs in sync
253
+ - Use for repetitive refactoring tasks
254
+ - Leverage for code review automation
255
+
256
+ ❌ **DON'T:**
257
+ - Blindly accept all suggestions
258
+ - Skip manual code review
259
+ - Use for critical security decisions
260
+ - Ignore high-severity issues
261
+ - Over-rely on automation
262
+ - Skip testing generated code
263
+
264
+ ## Configuration
265
+
266
+ ```json
267
+ {
268
+ "mcpServers": {
269
+ "serena": {
270
+ "command": "npx",
271
+ "args": ["-y", "@modelcontextprotocol/server-serena"],
272
+ "env": {
273
+ "SERENA_API_KEY": "your-api-key",
274
+ "SERENA_MODEL": "gpt-4",
275
+ "SERENA_TEMPERATURE": "0.2"
276
+ }
277
+ }
278
+ }
279
+ }
280
+ ```
281
+
282
+ **Configuration Options:**
283
+ - `SERENA_MODEL`: AI model to use (gpt-4, claude-3, etc.)
284
+ - `SERENA_TEMPERATURE`: Creativity level (0.0-1.0, lower = more deterministic)
285
+ - `SERENA_MAX_TOKENS`: Maximum response length
286
+ - `SERENA_TIMEOUT`: Request timeout in seconds
287
+
288
+ ## Integration with AGENT_AUTOMATION
289
+
290
+ Enhance automation workflow with AI assistance:
291
+
292
+ ```typescript
293
+ // Step 1: AI-powered code review before quality checks
294
+ const review = await serena.review({
295
+ files: changedFiles,
296
+ focus: ['security', 'performance']
297
+ })
298
+
299
+ if (review.criticalIssues.length > 0) {
300
+ console.error('Critical issues found. Fix before proceeding.')
301
+ process.exit(1)
302
+ }
303
+
304
+ // Step 2: Generate missing tests
305
+ const filesWithoutTests = findFilesWithoutTests()
306
+ for (const file of filesWithoutTests) {
307
+ await serena.generateTests({ sourceFile: file })
308
+ }
309
+
310
+ // Step 3: Normal AGENT_AUTOMATION workflow
311
+ // (lint, test, coverage, etc.)
312
+
313
+ // Step 4: AI-powered commit message
314
+ const commitMessage = await serena.generateCommitMessage({
315
+ diff: execSync('git diff --cached').toString(),
316
+ style: 'conventional'
317
+ })
318
+
319
+ git commit -m "${commitMessage}"
320
+ ```
321
+
322
+ ## CI/CD Integration
323
+
324
+ ```yaml
325
+ # .github/workflows/serena-review.yml
326
+ name: AI Code Review
327
+
328
+ on: [pull_request]
329
+
330
+ jobs:
331
+ review:
332
+ runs-on: ubuntu-latest
333
+ steps:
334
+ - uses: actions/checkout@v4
335
+
336
+ - name: AI Code Review
337
+ run: |
338
+ npx serena review \
339
+ --files="$(git diff --name-only origin/main)" \
340
+ --severity=warning \
341
+ --format=github-comment
342
+ env:
343
+ SERENA_API_KEY: ${{ secrets.SERENA_API_KEY }}
344
+ ```
345
+
346
+ <!-- SERENA:END -->
347
+