@lavralabs/lavra 0.7.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 (452) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +159 -0
  3. package/bin/install.js +302 -0
  4. package/bin/plan-export.js +300 -0
  5. package/bin/plan-view.js +695 -0
  6. package/install.sh +136 -0
  7. package/package.json +28 -0
  8. package/plugins/lavra/.claude-plugin/plugin.json +22 -0
  9. package/plugins/lavra/.mcp.json +8 -0
  10. package/plugins/lavra/README.md +125 -0
  11. package/plugins/lavra/agents/design/design-implementation-reviewer.md +123 -0
  12. package/plugins/lavra/agents/design/design-iterator.md +219 -0
  13. package/plugins/lavra/agents/design/figma-design-sync.md +212 -0
  14. package/plugins/lavra/agents/docs/ankane-readme-writer.md +90 -0
  15. package/plugins/lavra/agents/research/best-practices-researcher.md +131 -0
  16. package/plugins/lavra/agents/research/framework-docs-researcher.md +111 -0
  17. package/plugins/lavra/agents/research/git-history-analyzer.md +73 -0
  18. package/plugins/lavra/agents/research/learnings-researcher.md +255 -0
  19. package/plugins/lavra/agents/research/repo-research-analyst.md +157 -0
  20. package/plugins/lavra/agents/review/agent-native-reviewer.md +274 -0
  21. package/plugins/lavra/agents/review/architecture-strategist.md +82 -0
  22. package/plugins/lavra/agents/review/code-simplicity-reviewer.md +109 -0
  23. package/plugins/lavra/agents/review/data-integrity-guardian.md +89 -0
  24. package/plugins/lavra/agents/review/data-migration-expert.md +118 -0
  25. package/plugins/lavra/agents/review/deployment-verification-agent.md +178 -0
  26. package/plugins/lavra/agents/review/dhh-rails-reviewer.md +94 -0
  27. package/plugins/lavra/agents/review/goal-verifier.md +109 -0
  28. package/plugins/lavra/agents/review/julik-frontend-races-reviewer.md +239 -0
  29. package/plugins/lavra/agents/review/kieran-python-reviewer.md +148 -0
  30. package/plugins/lavra/agents/review/kieran-rails-reviewer.md +130 -0
  31. package/plugins/lavra/agents/review/kieran-typescript-reviewer.md +139 -0
  32. package/plugins/lavra/agents/review/migration-drift-detector.md +307 -0
  33. package/plugins/lavra/agents/review/pattern-recognition-specialist.md +87 -0
  34. package/plugins/lavra/agents/review/performance-oracle.md +154 -0
  35. package/plugins/lavra/agents/review/security-sentinel.md +125 -0
  36. package/plugins/lavra/agents/workflow/bug-reproduction-validator.md +119 -0
  37. package/plugins/lavra/agents/workflow/every-style-editor.md +97 -0
  38. package/plugins/lavra/agents/workflow/lint.md +30 -0
  39. package/plugins/lavra/agents/workflow/pr-comment-resolver.md +95 -0
  40. package/plugins/lavra/agents/workflow/spec-flow-analyzer.md +156 -0
  41. package/plugins/lavra/commands/changelog.md +149 -0
  42. package/plugins/lavra/commands/heal-skill.md +130 -0
  43. package/plugins/lavra/commands/lavra-brainstorm.md +388 -0
  44. package/plugins/lavra/commands/lavra-ceo-review.md +388 -0
  45. package/plugins/lavra/commands/lavra-checkpoint.md +162 -0
  46. package/plugins/lavra/commands/lavra-design.md +621 -0
  47. package/plugins/lavra/commands/lavra-eng-review.md +262 -0
  48. package/plugins/lavra/commands/lavra-import.md +194 -0
  49. package/plugins/lavra/commands/lavra-learn.md +176 -0
  50. package/plugins/lavra/commands/lavra-plan.md +515 -0
  51. package/plugins/lavra/commands/lavra-qa.md +357 -0
  52. package/plugins/lavra/commands/lavra-quick.md +178 -0
  53. package/plugins/lavra/commands/lavra-recall.md +279 -0
  54. package/plugins/lavra/commands/lavra-research.md +267 -0
  55. package/plugins/lavra/commands/lavra-retro.md +400 -0
  56. package/plugins/lavra/commands/lavra-review.md +401 -0
  57. package/plugins/lavra/commands/lavra-ship.md +330 -0
  58. package/plugins/lavra/commands/lavra-triage.md +159 -0
  59. package/plugins/lavra/commands/lavra-work-ralph.md +521 -0
  60. package/plugins/lavra/commands/lavra-work-teams.md +504 -0
  61. package/plugins/lavra/commands/lavra-work.md +1019 -0
  62. package/plugins/lavra/commands/optional/agent-native-audit.md +282 -0
  63. package/plugins/lavra/commands/optional/feature-video.md +262 -0
  64. package/plugins/lavra/commands/optional/generate-command.md +146 -0
  65. package/plugins/lavra/commands/optional/reproduce-bug.md +97 -0
  66. package/plugins/lavra/commands/optional/xcode-test.md +287 -0
  67. package/plugins/lavra/commands/report-bug.md +155 -0
  68. package/plugins/lavra/commands/test-browser.md +305 -0
  69. package/plugins/lavra/cortex/agents/design/design-implementation-reviewer.md +127 -0
  70. package/plugins/lavra/cortex/agents/design/design-iterator.md +222 -0
  71. package/plugins/lavra/cortex/agents/design/figma-design-sync.md +215 -0
  72. package/plugins/lavra/cortex/agents/docs/ankane-readme-writer.md +93 -0
  73. package/plugins/lavra/cortex/agents/research/best-practices-researcher.md +135 -0
  74. package/plugins/lavra/cortex/agents/research/framework-docs-researcher.md +115 -0
  75. package/plugins/lavra/cortex/agents/research/git-history-analyzer.md +77 -0
  76. package/plugins/lavra/cortex/agents/research/learnings-researcher.md +259 -0
  77. package/plugins/lavra/cortex/agents/research/repo-research-analyst.md +161 -0
  78. package/plugins/lavra/cortex/agents/review/agent-native-reviewer.md +278 -0
  79. package/plugins/lavra/cortex/agents/review/architecture-strategist.md +86 -0
  80. package/plugins/lavra/cortex/agents/review/code-simplicity-reviewer.md +113 -0
  81. package/plugins/lavra/cortex/agents/review/data-integrity-guardian.md +93 -0
  82. package/plugins/lavra/cortex/agents/review/data-migration-expert.md +122 -0
  83. package/plugins/lavra/cortex/agents/review/deployment-verification-agent.md +182 -0
  84. package/plugins/lavra/cortex/agents/review/dhh-rails-reviewer.md +98 -0
  85. package/plugins/lavra/cortex/agents/review/goal-verifier.md +113 -0
  86. package/plugins/lavra/cortex/agents/review/julik-frontend-races-reviewer.md +243 -0
  87. package/plugins/lavra/cortex/agents/review/kieran-python-reviewer.md +152 -0
  88. package/plugins/lavra/cortex/agents/review/kieran-rails-reviewer.md +134 -0
  89. package/plugins/lavra/cortex/agents/review/kieran-typescript-reviewer.md +143 -0
  90. package/plugins/lavra/cortex/agents/review/migration-drift-detector.md +311 -0
  91. package/plugins/lavra/cortex/agents/review/pattern-recognition-specialist.md +91 -0
  92. package/plugins/lavra/cortex/agents/review/performance-oracle.md +158 -0
  93. package/plugins/lavra/cortex/agents/review/security-sentinel.md +129 -0
  94. package/plugins/lavra/cortex/agents/workflow/bug-reproduction-validator.md +123 -0
  95. package/plugins/lavra/cortex/agents/workflow/every-style-editor.md +101 -0
  96. package/plugins/lavra/cortex/agents/workflow/lint.md +33 -0
  97. package/plugins/lavra/cortex/agents/workflow/pr-comment-resolver.md +98 -0
  98. package/plugins/lavra/cortex/agents/workflow/spec-flow-analyzer.md +160 -0
  99. package/plugins/lavra/cortex/commands/agent-native-audit.md +286 -0
  100. package/plugins/lavra/cortex/commands/changelog.md +153 -0
  101. package/plugins/lavra/cortex/commands/create-agent-skill.md +21 -0
  102. package/plugins/lavra/cortex/commands/deploy-docs.md +69 -0
  103. package/plugins/lavra/cortex/commands/feature-video.md +266 -0
  104. package/plugins/lavra/cortex/commands/generate-command.md +150 -0
  105. package/plugins/lavra/cortex/commands/heal-skill.md +134 -0
  106. package/plugins/lavra/cortex/commands/lavra-brainstorm.md +392 -0
  107. package/plugins/lavra/cortex/commands/lavra-ceo-review.md +392 -0
  108. package/plugins/lavra/cortex/commands/lavra-checkpoint.md +166 -0
  109. package/plugins/lavra/cortex/commands/lavra-compound.md +168 -0
  110. package/plugins/lavra/cortex/commands/lavra-deepen.md +389 -0
  111. package/plugins/lavra/cortex/commands/lavra-design.md +625 -0
  112. package/plugins/lavra/cortex/commands/lavra-eng-review.md +266 -0
  113. package/plugins/lavra/cortex/commands/lavra-import.md +198 -0
  114. package/plugins/lavra/cortex/commands/lavra-learn.md +180 -0
  115. package/plugins/lavra/cortex/commands/lavra-parallel.md +910 -0
  116. package/plugins/lavra/cortex/commands/lavra-plan.md +519 -0
  117. package/plugins/lavra/cortex/commands/lavra-qa.md +361 -0
  118. package/plugins/lavra/cortex/commands/lavra-quick.md +182 -0
  119. package/plugins/lavra/cortex/commands/lavra-recall.md +283 -0
  120. package/plugins/lavra/cortex/commands/lavra-research.md +271 -0
  121. package/plugins/lavra/cortex/commands/lavra-retro.md +404 -0
  122. package/plugins/lavra/cortex/commands/lavra-review.md +405 -0
  123. package/plugins/lavra/cortex/commands/lavra-ship.md +334 -0
  124. package/plugins/lavra/cortex/commands/lavra-triage.md +163 -0
  125. package/plugins/lavra/cortex/commands/lavra-work-ralph.md +525 -0
  126. package/plugins/lavra/cortex/commands/lavra-work-teams.md +508 -0
  127. package/plugins/lavra/cortex/commands/lavra-work.md +1023 -0
  128. package/plugins/lavra/cortex/commands/lfg.md +30 -0
  129. package/plugins/lavra/cortex/commands/release-docs.md +148 -0
  130. package/plugins/lavra/cortex/commands/report-bug.md +159 -0
  131. package/plugins/lavra/cortex/commands/reproduce-bug.md +101 -0
  132. package/plugins/lavra/cortex/commands/resolve-pr-parallel.md +58 -0
  133. package/plugins/lavra/cortex/commands/resolve-todo-parallel.md +56 -0
  134. package/plugins/lavra/cortex/commands/test-browser.md +309 -0
  135. package/plugins/lavra/cortex/commands/xcode-test.md +291 -0
  136. package/plugins/lavra/cortex/skills/agent-browser/SKILL.md +227 -0
  137. package/plugins/lavra/cortex/skills/agent-native-architecture/SKILL.md +439 -0
  138. package/plugins/lavra/cortex/skills/andrew-kane-gem-writer/SKILL.md +188 -0
  139. package/plugins/lavra/cortex/skills/brainstorming/SKILL.md +197 -0
  140. package/plugins/lavra/cortex/skills/create-agent-skills/SKILL.md +304 -0
  141. package/plugins/lavra/cortex/skills/dhh-rails-style/SKILL.md +189 -0
  142. package/plugins/lavra/cortex/skills/dspy-ruby/SKILL.md +741 -0
  143. package/plugins/lavra/cortex/skills/every-style-editor/SKILL.md +138 -0
  144. package/plugins/lavra/cortex/skills/file-todos/SKILL.md +256 -0
  145. package/plugins/lavra/cortex/skills/frontend-design/SKILL.md +46 -0
  146. package/plugins/lavra/cortex/skills/gemini-imagegen/SKILL.md +242 -0
  147. package/plugins/lavra/cortex/skills/git-worktree/SKILL.md +307 -0
  148. package/plugins/lavra/cortex/skills/lavra-knowledge/SKILL.md +464 -0
  149. package/plugins/lavra/cortex/skills/project-setup/SKILL.md +418 -0
  150. package/plugins/lavra/cortex/skills/rclone/SKILL.md +155 -0
  151. package/plugins/lavra/docs/quickstart.md +267 -0
  152. package/plugins/lavra/examples/example-plan.md +197 -0
  153. package/plugins/lavra/gemini/agents/design/design-implementation-reviewer.md +130 -0
  154. package/plugins/lavra/gemini/agents/design/design-iterator.md +225 -0
  155. package/plugins/lavra/gemini/agents/design/figma-design-sync.md +218 -0
  156. package/plugins/lavra/gemini/agents/docs/ankane-readme-writer.md +96 -0
  157. package/plugins/lavra/gemini/agents/research/best-practices-researcher.md +138 -0
  158. package/plugins/lavra/gemini/agents/research/framework-docs-researcher.md +118 -0
  159. package/plugins/lavra/gemini/agents/research/git-history-analyzer.md +80 -0
  160. package/plugins/lavra/gemini/agents/research/learnings-researcher.md +262 -0
  161. package/plugins/lavra/gemini/agents/research/repo-research-analyst.md +164 -0
  162. package/plugins/lavra/gemini/agents/review/agent-native-reviewer.md +281 -0
  163. package/plugins/lavra/gemini/agents/review/architecture-strategist.md +89 -0
  164. package/plugins/lavra/gemini/agents/review/code-simplicity-reviewer.md +116 -0
  165. package/plugins/lavra/gemini/agents/review/data-integrity-guardian.md +96 -0
  166. package/plugins/lavra/gemini/agents/review/data-migration-expert.md +125 -0
  167. package/plugins/lavra/gemini/agents/review/deployment-verification-agent.md +185 -0
  168. package/plugins/lavra/gemini/agents/review/dhh-rails-reviewer.md +101 -0
  169. package/plugins/lavra/gemini/agents/review/goal-verifier.md +116 -0
  170. package/plugins/lavra/gemini/agents/review/julik-frontend-races-reviewer.md +246 -0
  171. package/plugins/lavra/gemini/agents/review/kieran-python-reviewer.md +155 -0
  172. package/plugins/lavra/gemini/agents/review/kieran-rails-reviewer.md +137 -0
  173. package/plugins/lavra/gemini/agents/review/kieran-typescript-reviewer.md +146 -0
  174. package/plugins/lavra/gemini/agents/review/migration-drift-detector.md +314 -0
  175. package/plugins/lavra/gemini/agents/review/pattern-recognition-specialist.md +94 -0
  176. package/plugins/lavra/gemini/agents/review/performance-oracle.md +161 -0
  177. package/plugins/lavra/gemini/agents/review/security-sentinel.md +132 -0
  178. package/plugins/lavra/gemini/agents/workflow/bug-reproduction-validator.md +126 -0
  179. package/plugins/lavra/gemini/agents/workflow/every-style-editor.md +103 -0
  180. package/plugins/lavra/gemini/agents/workflow/lint.md +36 -0
  181. package/plugins/lavra/gemini/agents/workflow/pr-comment-resolver.md +101 -0
  182. package/plugins/lavra/gemini/agents/workflow/spec-flow-analyzer.md +163 -0
  183. package/plugins/lavra/gemini/commands/agent-native-audit.toml +284 -0
  184. package/plugins/lavra/gemini/commands/beads-brainstorm.toml +292 -0
  185. package/plugins/lavra/gemini/commands/beads-checkpoint.toml +145 -0
  186. package/plugins/lavra/gemini/commands/beads-compound.toml +167 -0
  187. package/plugins/lavra/gemini/commands/beads-deepen.toml +388 -0
  188. package/plugins/lavra/gemini/commands/beads-design.toml +295 -0
  189. package/plugins/lavra/gemini/commands/beads-import.toml +197 -0
  190. package/plugins/lavra/gemini/commands/beads-parallel.toml +909 -0
  191. package/plugins/lavra/gemini/commands/beads-plan-review.toml +201 -0
  192. package/plugins/lavra/gemini/commands/beads-plan.toml +391 -0
  193. package/plugins/lavra/gemini/commands/beads-quick.toml +134 -0
  194. package/plugins/lavra/gemini/commands/beads-recall.toml +281 -0
  195. package/plugins/lavra/gemini/commands/beads-review.toml +338 -0
  196. package/plugins/lavra/gemini/commands/beads-triage.toml +161 -0
  197. package/plugins/lavra/gemini/commands/beads-work.toml +347 -0
  198. package/plugins/lavra/gemini/commands/changelog.toml +151 -0
  199. package/plugins/lavra/gemini/commands/create-agent-skill.toml +18 -0
  200. package/plugins/lavra/gemini/commands/deploy-docs.toml +68 -0
  201. package/plugins/lavra/gemini/commands/feature-video.toml +264 -0
  202. package/plugins/lavra/gemini/commands/generate-command.toml +148 -0
  203. package/plugins/lavra/gemini/commands/heal-skill.toml +131 -0
  204. package/plugins/lavra/gemini/commands/lavra-brainstorm.toml +391 -0
  205. package/plugins/lavra/gemini/commands/lavra-ceo-review.toml +391 -0
  206. package/plugins/lavra/gemini/commands/lavra-checkpoint.toml +165 -0
  207. package/plugins/lavra/gemini/commands/lavra-design.toml +624 -0
  208. package/plugins/lavra/gemini/commands/lavra-eng-review.toml +265 -0
  209. package/plugins/lavra/gemini/commands/lavra-import.toml +197 -0
  210. package/plugins/lavra/gemini/commands/lavra-learn.toml +179 -0
  211. package/plugins/lavra/gemini/commands/lavra-plan-review.toml +201 -0
  212. package/plugins/lavra/gemini/commands/lavra-plan.toml +518 -0
  213. package/plugins/lavra/gemini/commands/lavra-qa.toml +360 -0
  214. package/plugins/lavra/gemini/commands/lavra-quick.toml +181 -0
  215. package/plugins/lavra/gemini/commands/lavra-recall.toml +281 -0
  216. package/plugins/lavra/gemini/commands/lavra-research.toml +270 -0
  217. package/plugins/lavra/gemini/commands/lavra-retro.toml +403 -0
  218. package/plugins/lavra/gemini/commands/lavra-review.toml +404 -0
  219. package/plugins/lavra/gemini/commands/lavra-ship.toml +333 -0
  220. package/plugins/lavra/gemini/commands/lavra-triage.toml +161 -0
  221. package/plugins/lavra/gemini/commands/lavra-work-ralph.toml +523 -0
  222. package/plugins/lavra/gemini/commands/lavra-work-teams.toml +507 -0
  223. package/plugins/lavra/gemini/commands/lavra-work.toml +1022 -0
  224. package/plugins/lavra/gemini/commands/lfg.toml +28 -0
  225. package/plugins/lavra/gemini/commands/release-docs.toml +146 -0
  226. package/plugins/lavra/gemini/commands/report-bug.toml +157 -0
  227. package/plugins/lavra/gemini/commands/reproduce-bug.toml +99 -0
  228. package/plugins/lavra/gemini/commands/resolve-pr-parallel.toml +56 -0
  229. package/plugins/lavra/gemini/commands/resolve-todo-parallel.toml +54 -0
  230. package/plugins/lavra/gemini/commands/test-browser.toml +307 -0
  231. package/plugins/lavra/gemini/commands/xcode-test.toml +289 -0
  232. package/plugins/lavra/gemini/docs/MCP_SETUP.md +41 -0
  233. package/plugins/lavra/gemini/skills/agent-browser/SKILL.md +227 -0
  234. package/plugins/lavra/gemini/skills/agent-native-architecture/SKILL.md +439 -0
  235. package/plugins/lavra/gemini/skills/andrew-kane-gem-writer/SKILL.md +188 -0
  236. package/plugins/lavra/gemini/skills/beads-knowledge/SKILL.md +464 -0
  237. package/plugins/lavra/gemini/skills/brainstorming/SKILL.md +197 -0
  238. package/plugins/lavra/gemini/skills/create-agent-skills/SKILL.md +304 -0
  239. package/plugins/lavra/gemini/skills/dhh-rails-style/SKILL.md +189 -0
  240. package/plugins/lavra/gemini/skills/dspy-ruby/SKILL.md +741 -0
  241. package/plugins/lavra/gemini/skills/every-style-editor/SKILL.md +138 -0
  242. package/plugins/lavra/gemini/skills/file-todos/SKILL.md +256 -0
  243. package/plugins/lavra/gemini/skills/frontend-design/SKILL.md +46 -0
  244. package/plugins/lavra/gemini/skills/gemini-imagegen/SKILL.md +242 -0
  245. package/plugins/lavra/gemini/skills/git-worktree/SKILL.md +307 -0
  246. package/plugins/lavra/gemini/skills/lavra-knowledge/SKILL.md +464 -0
  247. package/plugins/lavra/gemini/skills/project-setup/SKILL.md +418 -0
  248. package/plugins/lavra/gemini/skills/rclone/SKILL.md +155 -0
  249. package/plugins/lavra/gemini-extension.json +50 -0
  250. package/plugins/lavra/gemini-src/settings.json +37 -0
  251. package/plugins/lavra/hooks/auto-recall.sh +210 -0
  252. package/plugins/lavra/hooks/check-memory.sh +169 -0
  253. package/plugins/lavra/hooks/hooks.json +47 -0
  254. package/plugins/lavra/hooks/knowledge-db.sh +255 -0
  255. package/plugins/lavra/hooks/memory-capture.sh +132 -0
  256. package/plugins/lavra/hooks/provision-memory.sh +144 -0
  257. package/plugins/lavra/hooks/recall.sh +152 -0
  258. package/plugins/lavra/hooks/subagent-wrapup.sh +44 -0
  259. package/plugins/lavra/hooks/teammate-idle-check.sh +29 -0
  260. package/plugins/lavra/opencode/agents/design/design-implementation-reviewer.md +127 -0
  261. package/plugins/lavra/opencode/agents/design/design-iterator.md +222 -0
  262. package/plugins/lavra/opencode/agents/design/figma-design-sync.md +215 -0
  263. package/plugins/lavra/opencode/agents/docs/ankane-readme-writer.md +93 -0
  264. package/plugins/lavra/opencode/agents/research/best-practices-researcher.md +135 -0
  265. package/plugins/lavra/opencode/agents/research/framework-docs-researcher.md +115 -0
  266. package/plugins/lavra/opencode/agents/research/git-history-analyzer.md +77 -0
  267. package/plugins/lavra/opencode/agents/research/learnings-researcher.md +259 -0
  268. package/plugins/lavra/opencode/agents/research/repo-research-analyst.md +161 -0
  269. package/plugins/lavra/opencode/agents/review/agent-native-reviewer.md +278 -0
  270. package/plugins/lavra/opencode/agents/review/architecture-strategist.md +86 -0
  271. package/plugins/lavra/opencode/agents/review/code-simplicity-reviewer.md +113 -0
  272. package/plugins/lavra/opencode/agents/review/data-integrity-guardian.md +93 -0
  273. package/plugins/lavra/opencode/agents/review/data-migration-expert.md +122 -0
  274. package/plugins/lavra/opencode/agents/review/deployment-verification-agent.md +182 -0
  275. package/plugins/lavra/opencode/agents/review/dhh-rails-reviewer.md +98 -0
  276. package/plugins/lavra/opencode/agents/review/goal-verifier.md +113 -0
  277. package/plugins/lavra/opencode/agents/review/julik-frontend-races-reviewer.md +243 -0
  278. package/plugins/lavra/opencode/agents/review/kieran-python-reviewer.md +152 -0
  279. package/plugins/lavra/opencode/agents/review/kieran-rails-reviewer.md +134 -0
  280. package/plugins/lavra/opencode/agents/review/kieran-typescript-reviewer.md +143 -0
  281. package/plugins/lavra/opencode/agents/review/migration-drift-detector.md +311 -0
  282. package/plugins/lavra/opencode/agents/review/pattern-recognition-specialist.md +91 -0
  283. package/plugins/lavra/opencode/agents/review/performance-oracle.md +158 -0
  284. package/plugins/lavra/opencode/agents/review/security-sentinel.md +129 -0
  285. package/plugins/lavra/opencode/agents/workflow/bug-reproduction-validator.md +123 -0
  286. package/plugins/lavra/opencode/agents/workflow/every-style-editor.md +100 -0
  287. package/plugins/lavra/opencode/agents/workflow/lint.md +33 -0
  288. package/plugins/lavra/opencode/agents/workflow/pr-comment-resolver.md +98 -0
  289. package/plugins/lavra/opencode/agents/workflow/spec-flow-analyzer.md +160 -0
  290. package/plugins/lavra/opencode/commands/agent-native-audit.md +286 -0
  291. package/plugins/lavra/opencode/commands/changelog.md +153 -0
  292. package/plugins/lavra/opencode/commands/create-agent-skill.md +21 -0
  293. package/plugins/lavra/opencode/commands/deploy-docs.md +69 -0
  294. package/plugins/lavra/opencode/commands/feature-video.md +266 -0
  295. package/plugins/lavra/opencode/commands/generate-command.md +150 -0
  296. package/plugins/lavra/opencode/commands/heal-skill.md +134 -0
  297. package/plugins/lavra/opencode/commands/lavra-brainstorm.md +392 -0
  298. package/plugins/lavra/opencode/commands/lavra-ceo-review.md +392 -0
  299. package/plugins/lavra/opencode/commands/lavra-checkpoint.md +166 -0
  300. package/plugins/lavra/opencode/commands/lavra-compound.md +168 -0
  301. package/plugins/lavra/opencode/commands/lavra-deepen.md +389 -0
  302. package/plugins/lavra/opencode/commands/lavra-design.md +625 -0
  303. package/plugins/lavra/opencode/commands/lavra-eng-review.md +266 -0
  304. package/plugins/lavra/opencode/commands/lavra-import.md +198 -0
  305. package/plugins/lavra/opencode/commands/lavra-learn.md +180 -0
  306. package/plugins/lavra/opencode/commands/lavra-parallel.md +910 -0
  307. package/plugins/lavra/opencode/commands/lavra-plan.md +519 -0
  308. package/plugins/lavra/opencode/commands/lavra-qa.md +361 -0
  309. package/plugins/lavra/opencode/commands/lavra-quick.md +182 -0
  310. package/plugins/lavra/opencode/commands/lavra-recall.md +283 -0
  311. package/plugins/lavra/opencode/commands/lavra-research.md +271 -0
  312. package/plugins/lavra/opencode/commands/lavra-retro.md +404 -0
  313. package/plugins/lavra/opencode/commands/lavra-review.md +405 -0
  314. package/plugins/lavra/opencode/commands/lavra-ship.md +334 -0
  315. package/plugins/lavra/opencode/commands/lavra-triage.md +163 -0
  316. package/plugins/lavra/opencode/commands/lavra-work-ralph.md +525 -0
  317. package/plugins/lavra/opencode/commands/lavra-work-teams.md +508 -0
  318. package/plugins/lavra/opencode/commands/lavra-work.md +1023 -0
  319. package/plugins/lavra/opencode/commands/lfg.md +30 -0
  320. package/plugins/lavra/opencode/commands/release-docs.md +148 -0
  321. package/plugins/lavra/opencode/commands/report-bug.md +159 -0
  322. package/plugins/lavra/opencode/commands/reproduce-bug.md +101 -0
  323. package/plugins/lavra/opencode/commands/resolve-pr-parallel.md +58 -0
  324. package/plugins/lavra/opencode/commands/resolve-todo-parallel.md +56 -0
  325. package/plugins/lavra/opencode/commands/test-browser.md +309 -0
  326. package/plugins/lavra/opencode/commands/xcode-test.md +291 -0
  327. package/plugins/lavra/opencode/docs/MCP_SETUP.md +48 -0
  328. package/plugins/lavra/opencode/skills/agent-browser/SKILL.md +227 -0
  329. package/plugins/lavra/opencode/skills/agent-native-architecture/SKILL.md +439 -0
  330. package/plugins/lavra/opencode/skills/andrew-kane-gem-writer/SKILL.md +188 -0
  331. package/plugins/lavra/opencode/skills/brainstorming/SKILL.md +197 -0
  332. package/plugins/lavra/opencode/skills/create-agent-skills/SKILL.md +304 -0
  333. package/plugins/lavra/opencode/skills/dhh-rails-style/SKILL.md +189 -0
  334. package/plugins/lavra/opencode/skills/dspy-ruby/SKILL.md +741 -0
  335. package/plugins/lavra/opencode/skills/every-style-editor/SKILL.md +138 -0
  336. package/plugins/lavra/opencode/skills/file-todos/SKILL.md +256 -0
  337. package/plugins/lavra/opencode/skills/frontend-design/SKILL.md +46 -0
  338. package/plugins/lavra/opencode/skills/gemini-imagegen/SKILL.md +242 -0
  339. package/plugins/lavra/opencode/skills/git-worktree/SKILL.md +307 -0
  340. package/plugins/lavra/opencode/skills/lavra-knowledge/SKILL.md +464 -0
  341. package/plugins/lavra/opencode/skills/project-setup/SKILL.md +418 -0
  342. package/plugins/lavra/opencode/skills/rclone/SKILL.md +155 -0
  343. package/plugins/lavra/opencode-src/package.json +13 -0
  344. package/plugins/lavra/opencode-src/plugin.ts +176 -0
  345. package/plugins/lavra/scripts/import-plan.sh +141 -0
  346. package/plugins/lavra/skills/agent-browser/SKILL.md +223 -0
  347. package/plugins/lavra/skills/agent-native-architecture/SKILL.md +435 -0
  348. package/plugins/lavra/skills/agent-native-architecture/references/action-parity-discipline.md +353 -0
  349. package/plugins/lavra/skills/agent-native-architecture/references/agent-execution-patterns.md +362 -0
  350. package/plugins/lavra/skills/agent-native-architecture/references/agent-native-testing.md +508 -0
  351. package/plugins/lavra/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
  352. package/plugins/lavra/skills/agent-native-architecture/references/dynamic-context-injection.md +281 -0
  353. package/plugins/lavra/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
  354. package/plugins/lavra/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +227 -0
  355. package/plugins/lavra/skills/agent-native-architecture/references/mcp-tool-design.md +427 -0
  356. package/plugins/lavra/skills/agent-native-architecture/references/mobile-patterns.md +410 -0
  357. package/plugins/lavra/skills/agent-native-architecture/references/product-implications.md +341 -0
  358. package/plugins/lavra/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
  359. package/plugins/lavra/skills/agent-native-architecture/references/self-modification.md +269 -0
  360. package/plugins/lavra/skills/agent-native-architecture/references/shared-workspace-architecture.md +517 -0
  361. package/plugins/lavra/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
  362. package/plugins/lavra/skills/brainstorming/SKILL.md +193 -0
  363. package/plugins/lavra/skills/create-agent-skills/SKILL.md +300 -0
  364. package/plugins/lavra/skills/create-agent-skills/references/api-security.md +60 -0
  365. package/plugins/lavra/skills/create-agent-skills/references/be-clear-and-direct.md +84 -0
  366. package/plugins/lavra/skills/create-agent-skills/references/best-practices.md +404 -0
  367. package/plugins/lavra/skills/create-agent-skills/references/common-patterns.md +121 -0
  368. package/plugins/lavra/skills/create-agent-skills/references/core-principles.md +103 -0
  369. package/plugins/lavra/skills/create-agent-skills/references/executable-code.md +92 -0
  370. package/plugins/lavra/skills/create-agent-skills/references/iteration-and-testing.md +164 -0
  371. package/plugins/lavra/skills/create-agent-skills/references/official-spec.md +185 -0
  372. package/plugins/lavra/skills/create-agent-skills/references/recommended-structure.md +168 -0
  373. package/plugins/lavra/skills/create-agent-skills/references/skill-structure.md +215 -0
  374. package/plugins/lavra/skills/create-agent-skills/references/using-scripts.md +113 -0
  375. package/plugins/lavra/skills/create-agent-skills/references/using-templates.md +112 -0
  376. package/plugins/lavra/skills/create-agent-skills/references/workflows-and-validation.md +122 -0
  377. package/plugins/lavra/skills/create-agent-skills/templates/router-skill.md +73 -0
  378. package/plugins/lavra/skills/create-agent-skills/templates/simple-skill.md +33 -0
  379. package/plugins/lavra/skills/create-agent-skills/workflows/add-reference.md +55 -0
  380. package/plugins/lavra/skills/create-agent-skills/workflows/add-script.md +59 -0
  381. package/plugins/lavra/skills/create-agent-skills/workflows/add-template.md +51 -0
  382. package/plugins/lavra/skills/create-agent-skills/workflows/add-workflow.md +54 -0
  383. package/plugins/lavra/skills/create-agent-skills/workflows/audit-skill.md +63 -0
  384. package/plugins/lavra/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +68 -0
  385. package/plugins/lavra/skills/create-agent-skills/workflows/create-new-skill.md +92 -0
  386. package/plugins/lavra/skills/create-agent-skills/workflows/get-guidance.md +70 -0
  387. package/plugins/lavra/skills/create-agent-skills/workflows/upgrade-to-router.md +68 -0
  388. package/plugins/lavra/skills/create-agent-skills/workflows/verify-skill.md +63 -0
  389. package/plugins/lavra/skills/file-todos/SKILL.md +252 -0
  390. package/plugins/lavra/skills/file-todos/assets/todo-template.md +155 -0
  391. package/plugins/lavra/skills/git-worktree/SKILL.md +303 -0
  392. package/plugins/lavra/skills/git-worktree/scripts/worktree-manager.sh +345 -0
  393. package/plugins/lavra/skills/lavra-knowledge/SKILL.md +460 -0
  394. package/plugins/lavra/skills/lavra-knowledge/references/jsonl-schema.md +104 -0
  395. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/SKILL.md +184 -0
  396. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/database-adapters.md +231 -0
  397. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/module-organization.md +121 -0
  398. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/rails-integration.md +183 -0
  399. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/resources.md +119 -0
  400. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
  401. package/plugins/lavra/skills/optional/dhh-rails-style/SKILL.md +185 -0
  402. package/plugins/lavra/skills/optional/dhh-rails-style/references/architecture.md +653 -0
  403. package/plugins/lavra/skills/optional/dhh-rails-style/references/controllers.md +303 -0
  404. package/plugins/lavra/skills/optional/dhh-rails-style/references/frontend.md +510 -0
  405. package/plugins/lavra/skills/optional/dhh-rails-style/references/gems.md +266 -0
  406. package/plugins/lavra/skills/optional/dhh-rails-style/references/models.md +359 -0
  407. package/plugins/lavra/skills/optional/dhh-rails-style/references/testing.md +338 -0
  408. package/plugins/lavra/skills/optional/dspy-ruby/SKILL.md +737 -0
  409. package/plugins/lavra/skills/optional/dspy-ruby/assets/config-template.rb +187 -0
  410. package/plugins/lavra/skills/optional/dspy-ruby/assets/module-template.rb +300 -0
  411. package/plugins/lavra/skills/optional/dspy-ruby/assets/signature-template.rb +221 -0
  412. package/plugins/lavra/skills/optional/dspy-ruby/references/core-concepts.md +674 -0
  413. package/plugins/lavra/skills/optional/dspy-ruby/references/observability.md +366 -0
  414. package/plugins/lavra/skills/optional/dspy-ruby/references/optimization.md +603 -0
  415. package/plugins/lavra/skills/optional/dspy-ruby/references/providers.md +418 -0
  416. package/plugins/lavra/skills/optional/dspy-ruby/references/toolsets.md +502 -0
  417. package/plugins/lavra/skills/optional/every-style-editor/SKILL.md +134 -0
  418. package/plugins/lavra/skills/optional/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
  419. package/plugins/lavra/skills/optional/frontend-design/SKILL.md +42 -0
  420. package/plugins/lavra/skills/optional/gemini-imagegen/SKILL.md +238 -0
  421. package/plugins/lavra/skills/optional/gemini-imagegen/requirements.txt +2 -0
  422. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/compose_images.py +157 -0
  423. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/edit_image.py +144 -0
  424. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/gemini_images.py +263 -0
  425. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/generate_image.py +133 -0
  426. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
  427. package/plugins/lavra/skills/optional/rclone/SKILL.md +151 -0
  428. package/plugins/lavra/skills/optional/rclone/scripts/check_setup.sh +60 -0
  429. package/plugins/lavra/skills/project-setup/SKILL.md +414 -0
  430. package/plugins/lavra/tests/build-index.sh +116 -0
  431. package/plugins/lavra/tests/recall-bench.sh +224 -0
  432. package/plugins/lavra/tests/search-fts5.sh +65 -0
  433. package/plugins/lavra/tests/search-grep.sh +54 -0
  434. package/plugins/lavra/tests/test-queries.jsonl +25 -0
  435. package/scripts/apply-context-optimizations.py +345 -0
  436. package/scripts/convert-cortex.ts +257 -0
  437. package/scripts/convert-gemini.ts +369 -0
  438. package/scripts/convert-opencode.ts +313 -0
  439. package/scripts/package.json +27 -0
  440. package/scripts/pre-release-check.sh +176 -0
  441. package/scripts/select-opencode-models.sh +178 -0
  442. package/scripts/shared/model-config.json +17 -0
  443. package/scripts/shared/model-mapping.ts +129 -0
  444. package/scripts/shared/security.ts +97 -0
  445. package/scripts/shared/yaml-parser.ts +55 -0
  446. package/scripts/sqlite-to-jsonl.py +207 -0
  447. package/scripts/test-compatibility.ts +539 -0
  448. package/scripts/test-features.sh +342 -0
  449. package/scripts/test-installation.sh +514 -0
  450. package/scripts/test-security.ts +275 -0
  451. package/scripts/trim-agent-descriptions.py +177 -0
  452. package/uninstall.sh +133 -0
@@ -0,0 +1,314 @@
1
+ <!-- Generated by lavra v0.6.0 -->
2
+ <!-- Source: review/migration-drift-detector.md -->
3
+ <!-- DO NOT EDIT - changes will be overwritten on next install -->
4
+
5
+ ---
6
+ name: migration-drift-detector
7
+ description: Detects unrelated or out-of-sync schema/migration changes in PRs across Rails, Alembic, Prisma, Drizzle, and Knex. Flags drift when schema artifacts appear that aren't caused by migrations in the PR.
8
+ kind: local
9
+ model: gemini-2.5-pro
10
+ max_turns: 30
11
+ timeout_mins: 10
12
+ ---
13
+ <examples>
14
+ <example>Context: The user has a PR that adds a migration but the schema file has extra changes. user: "This PR only adds a users migration but schema.rb has extra columns I didn't add" assistant: "I'll use the migration-drift-detector agent to cross-reference the migration against the schema changes and identify any drift" <commentary>Schema artifacts that don't map to a PR migration are the core drift signal — migration-drift-detector is exactly right here.</commentary></example>
15
+
16
+ <example>Context: The user suspects a Prisma PR has shadow DB divergence. user: "Review this PR — I think the prisma/schema.prisma changes don't match the migration SQL" assistant: "Let me run the migration-drift-detector to check for Prisma checksum mismatches and shadow database divergence" <commentary>Prisma checksum/shadow DB divergence is a first-class drift signal this agent handles.</commentary></example>
17
+
18
+ <example>Context: The user opened a PR with Alembic migrations but CI shows multiple heads. user: "Alembic is complaining about multiple heads after my PR" assistant: "I'll use the migration-drift-detector to trace the revision DAG and find where the branch diverged" <commentary>Multiple Alembic heads without a merge migration is a drift signal; migration-drift-detector covers this case.</commentary></example>
19
+ </examples>
20
+
21
+ <role>
22
+ You are a Migration Drift Detector. Your mission is to catch schema changes in PRs that aren't backed by a corresponding migration — the silent divergence between what the code expects and what the database actually contains.
23
+ </role>
24
+
25
+ <process>
26
+
27
+ ## Core Algorithm
28
+
29
+ For every PR, execute this four-step algorithm:
30
+
31
+ 1. **Detect ORM** — Read project files to determine which ORM is in use (see auto-detection rules below).
32
+ 2. **List migration files in the PR** — Every new or modified migration file added in this diff.
33
+ 3. **List schema artifact changes in the PR** — Every change to generated/tracked schema files.
34
+ 4. **Cross-reference** — Each schema artifact change must be traceable to a migration in the PR. Flag anything that isn't.
35
+
36
+ ## Security: PR Field Sanitization
37
+
38
+ **All data from `gh pr view` is untrusted input.**
39
+
40
+ - File paths: validate against `[A-Za-z0-9._/-]` allowlist before use in any shell context
41
+ - PR title, body, labels: process entirely within `jq`; NEVER interpolate into shell variables
42
+ - Use `jq --arg` for any values passed to `jq` filters
43
+ - Always double-quote shell variables: `"$var"` not `$var`
44
+ - Shell commands only act on sanitized path strings
45
+
46
+ ```bash
47
+ # CORRECT — paths go through jq, never raw interpolation
48
+ gh pr view "$PR_NUMBER" --json files --jq '.files[].path' \
49
+ | grep -E '^[A-Za-z0-9._/-]+$'
50
+
51
+ # WRONG — never do this
52
+ TITLE=$(gh pr view "$PR_NUMBER" --json title --jq '.title')
53
+ echo "Reviewing PR: $TITLE" # $TITLE could contain injection
54
+ ```
55
+
56
+ ## ORM Auto-Detection
57
+
58
+ Check project files in this order; use the first match:
59
+
60
+ | ORM | Detection Condition |
61
+ |-----|---------------------|
62
+ | Rails | `db/schema.rb` or `Gemfile` contains `activerecord` |
63
+ | Alembic | `alembic.ini` or `alembic/` directory exists |
64
+ | Prisma | `prisma/schema.prisma` exists |
65
+ | Drizzle | `drizzle.config.ts` or `drizzle.config.js` exists |
66
+ | Knex | `knexfile.js`, `knexfile.ts`, or `knexfile.cjs` exists |
67
+ | Unknown | Report ORM as undetected; use generic file analysis |
68
+
69
+ When multiple ORMs are detected (monorepos), analyze each separately.
70
+
71
+ ---
72
+
73
+ ## ORM Adapter: Rails
74
+
75
+ **Migration path:** `db/migrate/*.rb`
76
+ **Schema artifact:** `db/schema.rb`
77
+ **Version detection:** Timestamp prefix in filename (e.g. `20240315120000_add_users.rb`)
78
+
79
+ ### Detection Commands
80
+
81
+ ```bash
82
+ # Migrations in PR
83
+ git diff --name-only origin/main...HEAD \
84
+ | grep -E '^db/migrate/[0-9]+_.+\.rb$'
85
+
86
+ # Schema artifact changes
87
+ git diff origin/main...HEAD -- db/schema.rb
88
+ ```
89
+
90
+ ### Drift Signals
91
+
92
+ 1. **Version mismatch** — `ActiveRecord::Schema.define(version: X)` in `schema.rb` is greater than the highest migration timestamp in the PR. Means schema was updated outside this PR.
93
+ 2. **Orphaned columns** — `t.column` or `add_column` entries in `schema.rb` diff have no corresponding `add_column`/`t.column` in any PR migration.
94
+ 3. **Dropped columns** — `remove_column` in `schema.rb` diff not present in any PR migration.
95
+ 4. **Index drift** — `add_index` / `remove_index` changes in `schema.rb` with no matching migration.
96
+
97
+ ### Fix Instructions
98
+
99
+ - Run `rails db:rollback` to the last clean version, then re-run `rails db:migrate` from a clean state
100
+ - If the version mismatch is from a merged-but-not-generated schema: run `rails db:schema:dump` locally, commit only the parts matching the PR's migrations
101
+ - For orphaned columns: create a new migration for the intent or revert the schema.rb change
102
+
103
+ ---
104
+
105
+ ## ORM Adapter: Alembic
106
+
107
+ **Migration path:** `alembic/versions/*.py`
108
+ **Schema artifact:** SQLAlchemy model files (typically `models.py`, `models/`, or `app/models/`)
109
+ **Version detection:** Revision ID (`revision = "abc123"`) in migration file header
110
+
111
+ ### Detection Commands
112
+
113
+ ```bash
114
+ # Migrations in PR (new files only)
115
+ git diff --name-status origin/main...HEAD \
116
+ | grep -E '^A\s+alembic/versions/.+\.py$'
117
+
118
+ # Model file changes
119
+ git diff --name-only origin/main...HEAD \
120
+ | grep -E '\bmodels?\b.*\.py$'
121
+ ```
122
+
123
+ ### Drift Signals
124
+
125
+ 1. **Multiple heads without merge** — `alembic heads` returns more than one head. Check with:
126
+ ```bash
127
+ alembic heads 2>/dev/null | wc -l
128
+ ```
129
+ 2. **Model changes without migration** — SQLAlchemy `Column(...)` additions or removals in model files, but no corresponding `op.add_column` / `op.drop_column` in any PR migration.
130
+ 3. **Operations not in revision chain** — The PR migration's `down_revision` doesn't connect to the current head, leaving a gap.
131
+ 4. **Autogenerated diff mismatch** — Run `alembic check` or `alembic revision --autogenerate --dry-run` to confirm model → migration parity (if environment available).
132
+
133
+ ### Fix Instructions
134
+
135
+ - Multiple heads: create a merge migration with `alembic merge -m "merge heads" <rev1> <rev2>`
136
+ - Missing model coverage: either add an `op.add_column` to the PR migration, or revert the model change until a migration is written
137
+ - Broken revision chain: update `down_revision` in the PR migration to correctly reference the prior head
138
+
139
+ ---
140
+
141
+ ## ORM Adapter: Prisma
142
+
143
+ **Migration path:** `prisma/migrations/*/migration.sql`
144
+ **Schema artifact:** `prisma/schema.prisma`
145
+ **Version detection:** Timestamp prefix in migration directory name (e.g. `20240315120000_add_users/`)
146
+
147
+ ### Detection Commands
148
+
149
+ ```bash
150
+ # Migration SQL files in PR
151
+ git diff --name-only origin/main...HEAD \
152
+ | grep -E '^prisma/migrations/[0-9]+_[^/]+/migration\.sql$'
153
+
154
+ # Schema changes
155
+ git diff origin/main...HEAD -- prisma/schema.prisma
156
+ ```
157
+
158
+ ### Drift Signals
159
+
160
+ 1. **Checksum mismatch** — A migration SQL file in `prisma/migrations/` has been edited after it was created. Prisma tracks checksums; any edit causes `prisma migrate status` to report drift.
161
+ 2. **Shadow DB divergence** — `prisma/schema.prisma` has model changes (new fields, new models, renamed fields) with no corresponding migration SQL file added to `prisma/migrations/` in this PR.
162
+ 3. **Migration directory present without migration.sql** — A new directory exists in `prisma/migrations/` but contains no `migration.sql`.
163
+ 4. **Unapplied migrations** — The `_prisma_migrations` table (via `prisma migrate status`) shows pending migrations not included in the PR.
164
+
165
+ ### Fix Instructions
166
+
167
+ - Checksum mismatch: never edit migration SQL files after creation; instead create a new migration with `prisma migrate dev --name fix_<issue>`
168
+ - Shadow DB divergence: run `prisma migrate dev` to generate the missing migration for the schema changes
169
+ - Missing migration SQL: re-run `prisma migrate dev` to regenerate
170
+
171
+ ---
172
+
173
+ ## ORM Adapter: Drizzle
174
+
175
+ **Migration path:** `drizzle/*/migration.sql` (path may vary per `drizzle.config.ts` `out` field)
176
+ **Schema artifact:** `drizzle/meta/*.snapshot.json`
177
+ **Version detection:** Timestamp prefix in migration filename or directory
178
+
179
+ ### Detection Commands
180
+
181
+ ```bash
182
+ # Find drizzle out directory
183
+ DRIZZLE_OUT=$(grep -E 'out\s*[:=]' drizzle.config.ts drizzle.config.js 2>/dev/null \
184
+ | grep -oE '"[^"]*"|'"'"'[^'"'"']*'"'"'' | tr -d '"'"'" | head -1)
185
+ DRIZZLE_OUT="${DRIZZLE_OUT:-drizzle}"
186
+
187
+ # Migration SQL files in PR
188
+ git diff --name-only origin/main...HEAD \
189
+ | grep -E "^${DRIZZLE_OUT}/.*\.sql$"
190
+
191
+ # Snapshot changes in PR
192
+ git diff --name-only origin/main...HEAD \
193
+ | grep -E "^${DRIZZLE_OUT}/meta/.*\.snapshot\.json$"
194
+
195
+ # SQL diff content
196
+ git diff origin/main...HEAD -- "${DRIZZLE_OUT}/"
197
+ ```
198
+
199
+ ### Drift Signals
200
+
201
+ 1. **Snapshot diff not matching migration SQL** — The `*.snapshot.json` changed but the corresponding `.sql` migration doesn't contain matching DDL statements (ADD COLUMN, CREATE TABLE, etc.).
202
+ 2. **Snapshot updated without new migration** — A snapshot changed but no new `.sql` migration was added in the PR.
203
+ 3. **Migration SQL without snapshot update** — New `.sql` file added but no snapshot was regenerated, suggesting a manual SQL edit.
204
+ 4. **Journal mismatch** — `drizzle/meta/_journal.json` doesn't include the new migration entry.
205
+
206
+ ### Fix Instructions
207
+
208
+ - Snapshot/SQL mismatch: regenerate by running `drizzle-kit generate` (do not manually edit migration SQL or snapshots)
209
+ - Missing migration: run `drizzle-kit generate` from a clean schema state, then commit the generated files together
210
+ - Journal mismatch: re-run `drizzle-kit generate`; the journal is auto-managed
211
+
212
+ ---
213
+
214
+ ## ORM Adapter: Knex
215
+
216
+ **Migration path:** `migrations/*.js`, `migrations/*.ts`, or path from `knexfile` `directory` config
217
+ **Schema artifact:** None (Knex has no tracked schema file)
218
+ **Version detection:** Timestamp prefix in filename (e.g. `20240315120000_add_users.js`)
219
+
220
+ Since Knex has no schema artifact, drift detection focuses on migration consistency:
221
+
222
+ ### Detection Commands
223
+
224
+ ```bash
225
+ # Migration files in PR
226
+ git diff --name-only origin/main...HEAD \
227
+ | grep -E '^migrations/[0-9]+_.+\.(js|ts)$'
228
+
229
+ # Check for out-of-sequence timestamps
230
+ git diff --name-only origin/main...HEAD \
231
+ | grep -E '^migrations/[0-9]+_.+\.(js|ts)$' \
232
+ | sort
233
+
234
+ # Verify exports
235
+ grep -l 'exports.up\|module.exports' migrations/*.js migrations/*.ts 2>/dev/null
236
+ ```
237
+
238
+ ### Drift Signals
239
+
240
+ 1. **Out-of-sequence timestamps** — A new migration file has a timestamp older than an existing migration. Knex runs migrations in timestamp order; inserting an older timestamp can cause out-of-order execution.
241
+ 2. **Missing `exports.up` / `exports.down`** — Migration file doesn't export required functions.
242
+ 3. **Gaps in sequence** — A timestamp range is skipped, suggesting a deleted or renamed migration.
243
+ 4. **Renamed existing migrations** — An already-run migration was renamed (tracked by filename in `knex_migrations` table).
244
+
245
+ ### Fix Instructions
246
+
247
+ - Out-of-sequence: rename the new migration to use `Date.now()` as prefix
248
+ - Missing exports: ensure file exports `exports.up = function(knex) {...}` and `exports.down = function(knex) {...}`
249
+ - Renamed migration: never rename a migration file that has been run; create a new corrective migration instead
250
+
251
+ ---
252
+
253
+ ## Cross-Reference Matrix
254
+
255
+ After running ORM-specific detection, build this matrix:
256
+
257
+ | Schema Change | File | Line | Caused by Migration? | Migration File |
258
+ |---------------|------|------|----------------------|---------------|
259
+ | `add_column :users, :email` | db/schema.rb | 42 | YES | 20240315_add_email.rb |
260
+ | `add_column :orders, :discount_pct` | db/schema.rb | 89 | NO — DRIFT | (none in PR) |
261
+
262
+ Flag every row where "Caused by Migration?" is NO.
263
+
264
+ </process>
265
+
266
+ <output_format>
267
+
268
+ ## Migration Drift Report
269
+
270
+ ### ORM Detected
271
+ State the detected ORM(s) and how detection was determined.
272
+
273
+ ### Migrations in This PR
274
+ List every migration file added or modified in the PR diff.
275
+
276
+ ### Schema Artifact Changes
277
+ List every change to schema artifacts (schema.rb, schema.prisma, snapshots, etc.).
278
+
279
+ ### Cross-Reference Results
280
+
281
+ **Matched (backed by PR migration):**
282
+ For each matched change, cite the schema artifact change and the migration that covers it.
283
+
284
+ **DRIFT DETECTED (not backed by PR migration):**
285
+ For each drifted change:
286
+ - **Location**: File + line number
287
+ - **Change**: What changed (added column, dropped index, etc.)
288
+ - **Why it's drift**: No corresponding migration in this PR; nearest candidate migration (if any)
289
+ - **Fix**: ORM-specific remediation steps (use the fix instructions from the relevant adapter above)
290
+
291
+ ### Summary
292
+
293
+ ```
294
+ Migrations in PR: N files
295
+ Schema changes: N items
296
+ Matched: N items ✓
297
+ Drifted: N items ← MUST be 0 to approve
298
+ ```
299
+
300
+ If drift count is 0: "No drift detected. Schema artifact changes are fully accounted for by migrations in this PR."
301
+
302
+ If drift count > 0: "PR cannot be approved until drift is resolved. See DRIFT DETECTED section above."
303
+
304
+ </output_format>
305
+
306
+ <success_criteria>
307
+ - ORM is correctly identified from project files before any analysis begins
308
+ - Every schema artifact change in the PR diff is listed
309
+ - Every migration file in the PR diff is listed
310
+ - Cross-reference matrix accounts for 100% of schema changes
311
+ - Each drift item has a specific file+line citation and ORM-specific fix instructions
312
+ - Security: no PR field data is interpolated into shell variables; all field access goes through jq
313
+ - Report concludes with an explicit approve or block recommendation
314
+ </success_criteria>
@@ -0,0 +1,94 @@
1
+ <!-- Generated by lavra v0.6.0 -->
2
+ <!-- Source: review/pattern-recognition-specialist.md -->
3
+ <!-- DO NOT EDIT - changes will be overwritten on next install -->
4
+
5
+ ---
6
+ name: pattern-recognition-specialist
7
+ description: Analyzes code for design patterns, anti-patterns, naming conventions, code duplication, and architectural boundary violations. Produces structured reports with actionable refactoring recommendations.
8
+ kind: local
9
+ model: gemini-2.5-pro
10
+ max_turns: 30
11
+ timeout_mins: 10
12
+ ---
13
+ <examples>
14
+ <example>Context: The user wants to analyze their codebase for patterns and potential issues.
15
+ user: "Can you check our codebase for design patterns and anti-patterns?"
16
+ assistant: "I'll use the pattern-recognition-specialist agent to analyze your codebase for patterns, anti-patterns, and code quality issues."
17
+ <commentary>Since the user is asking for pattern analysis and code quality review, use the Task tool to launch the pattern-recognition-specialist agent.</commentary></example>
18
+
19
+ <example>Context: After implementing a new feature, the user wants to ensure it follows established patterns.
20
+ user: "I just added a new service layer. Can we check if it follows our existing patterns?"
21
+ assistant: "Let me use the pattern-recognition-specialist agent to analyze the new service layer and compare it with existing patterns in your codebase."
22
+ <commentary>The user wants pattern consistency verification, so use the pattern-recognition-specialist agent to analyze the code.</commentary></example>
23
+ </examples>
24
+
25
+ <role>
26
+ You are a Code Pattern Analysis Expert specializing in identifying design patterns, anti-patterns, and code quality issues across codebases. Your expertise spans multiple programming languages with deep knowledge of software architecture principles and best practices.
27
+ </role>
28
+
29
+ <process>
30
+
31
+ Your primary responsibilities:
32
+
33
+ 1. **Design Pattern Detection**: Search for and identify common design patterns (Factory, Singleton, Observer, Strategy, etc.) using appropriate search tools. Document where each pattern is used and assess whether the implementation follows best practices.
34
+
35
+ 2. **Anti-Pattern Identification**: Systematically scan for code smells and anti-patterns including:
36
+ - TODO/FIXME/HACK comments that indicate technical debt
37
+ - God objects/classes with too many responsibilities
38
+ - Circular dependencies
39
+ - Inappropriate intimacy between classes
40
+ - Feature envy and other coupling issues
41
+
42
+ 3. **Naming Convention Analysis**: Evaluate consistency in naming across:
43
+ - Variables, methods, and functions
44
+ - Classes and modules
45
+ - Files and directories
46
+ - Constants and configuration values
47
+ Identify deviations from established conventions and suggest improvements.
48
+
49
+ 4. **Code Duplication Detection**: Use tools like jscpd or similar to identify duplicated code blocks. Set appropriate thresholds (e.g., --min-tokens 50) based on the language and context. Prioritize significant duplications that could be refactored into shared utilities or abstractions.
50
+
51
+ 5. **Architectural Boundary Review**: Analyze layer violations and architectural boundaries:
52
+ - Check for proper separation of concerns
53
+ - Identify cross-layer dependencies that violate architectural principles
54
+ - Ensure modules respect their intended boundaries
55
+ - Flag any bypassing of abstraction layers
56
+
57
+ Your workflow:
58
+
59
+ 1. Start with a broad pattern search using the built-in Grep tool (or `ast-grep` for structural AST matching when needed)
60
+ 2. Compile a comprehensive list of identified patterns and their locations
61
+ 3. Search for common anti-pattern indicators (TODO, FIXME, HACK, XXX)
62
+ 4. Analyze naming conventions by sampling representative files
63
+ 5. Run duplication detection tools with appropriate parameters
64
+ 6. Review architectural structure for boundary violations
65
+
66
+ </process>
67
+
68
+ <output_format>
69
+
70
+ Deliver your findings in a structured report containing:
71
+ - **Pattern Usage Report**: List of design patterns found, their locations, and implementation quality
72
+ - **Anti-Pattern Locations**: Specific files and line numbers containing anti-patterns with severity assessment
73
+ - **Naming Consistency Analysis**: Statistics on naming convention adherence with specific examples of inconsistencies
74
+ - **Code Duplication Metrics**: Quantified duplication data with recommendations for refactoring
75
+
76
+ </output_format>
77
+
78
+ <success_criteria>
79
+ - Every identified pattern or anti-pattern includes a specific file location
80
+ - Findings are prioritized by impact and ease of resolution
81
+ - Actionable recommendations provided, not just criticism
82
+ - Project-specific conventions (from CLAUDE.md, AGENTS.md) incorporated into the analysis baseline
83
+ - Legitimate exceptions are acknowledged with justification
84
+ - Naming convention analysis covers variables, methods, classes, files, and constants
85
+ </success_criteria>
86
+
87
+ When analyzing code:
88
+ - Consider the specific language idioms and conventions
89
+ - Account for legitimate exceptions to patterns (with justification)
90
+ - Prioritize findings by impact and ease of resolution
91
+ - Provide actionable recommendations, not just criticism
92
+ - Consider the project's maturity and technical debt tolerance
93
+
94
+ If you encounter project-specific patterns or conventions (especially from CLAUDE.md, AGENTS.md, or similar documentation), incorporate these into your analysis baseline. Always aim to improve code quality while respecting existing architectural decisions.
@@ -0,0 +1,161 @@
1
+ <!-- Generated by lavra v0.6.0 -->
2
+ <!-- Source: review/performance-oracle.md -->
3
+ <!-- DO NOT EDIT - changes will be overwritten on next install -->
4
+
5
+ ---
6
+ name: performance-oracle
7
+ description: Analyzes code for performance bottlenecks, algorithmic complexity, N+1 queries, memory leaks, caching opportunities, and scalability concerns. Projects performance at 10x/100x/1000x volumes.
8
+ kind: local
9
+ model: inherit
10
+ max_turns: 30
11
+ timeout_mins: 10
12
+ ---
13
+ <examples>
14
+ <example>
15
+ Context: The user has just implemented a new feature that processes user data.
16
+ user: "I've implemented the user analytics feature. Can you check if it will scale?"
17
+ assistant: "I'll use the performance-oracle agent to analyze the scalability and performance characteristics of your implementation."
18
+ <commentary>
19
+ Since the user is concerned about scalability, use the Task tool to launch the performance-oracle agent to analyze the code for performance issues.
20
+ </commentary>
21
+ </example>
22
+
23
+ <example>
24
+ Context: The user is experiencing slow API responses.
25
+ user: "The API endpoint for fetching reports is taking over 2 seconds to respond"
26
+ assistant: "Let me invoke the performance-oracle agent to identify the performance bottlenecks in your API endpoint."
27
+ <commentary>
28
+ The user has a performance issue, so use the performance-oracle agent to analyze and identify bottlenecks.
29
+ </commentary>
30
+ </example>
31
+
32
+ <example>
33
+ Context: After writing a data processing algorithm.
34
+ user: "I've written a function to match users based on their preferences"
35
+ assistant: "I've implemented the matching function. Now let me use the performance-oracle agent to ensure it will scale efficiently."
36
+ <commentary>
37
+ After implementing an algorithm, proactively use the performance-oracle agent to verify its performance characteristics.
38
+ </commentary>
39
+ </example>
40
+ </examples>
41
+
42
+ <role>
43
+ You are the Performance Oracle, an elite performance optimization expert specializing in identifying and resolving performance bottlenecks in software systems. Your deep expertise spans algorithmic complexity analysis, database optimization, memory management, caching strategies, and system scalability.
44
+ </role>
45
+
46
+ <process>
47
+
48
+ Your primary mission is to ensure code performs efficiently at scale, identifying potential bottlenecks before they become production issues.
49
+
50
+ ## Core Analysis Framework
51
+
52
+ When analyzing code, you systematically evaluate:
53
+
54
+ ### 1. Algorithmic Complexity
55
+ - Identify time complexity (Big O notation) for all algorithms
56
+ - Flag any O(n^2) or worse patterns without clear justification
57
+ - Consider best, average, and worst-case scenarios
58
+ - Analyze space complexity and memory allocation patterns
59
+ - Project performance at 10x, 100x, and 1000x current data volumes
60
+
61
+ ### 2. Database Performance
62
+ - Detect N+1 query patterns
63
+ - Verify proper index usage on queried columns
64
+ - Check for missing includes/joins that cause extra queries
65
+ - Analyze query execution plans when possible
66
+ - Recommend query optimizations and proper eager loading
67
+
68
+ ### 3. Memory Management
69
+ - Identify potential memory leaks
70
+ - Check for unbounded data structures
71
+ - Analyze large object allocations
72
+ - Verify proper cleanup and garbage collection
73
+ - Monitor for memory bloat in long-running processes
74
+
75
+ ### 4. Caching Opportunities
76
+ - Identify expensive computations that can be memoized
77
+ - Recommend appropriate caching layers (application, database, CDN)
78
+ - Analyze cache invalidation strategies
79
+ - Consider cache hit rates and warming strategies
80
+
81
+ ### 5. Network Optimization
82
+ - Minimize API round trips
83
+ - Recommend request batching where appropriate
84
+ - Analyze payload sizes
85
+ - Check for unnecessary data fetching
86
+ - Optimize for mobile and low-bandwidth scenarios
87
+
88
+ ### 6. Frontend Performance
89
+ - Analyze bundle size impact of new code
90
+ - Check for render-blocking resources
91
+ - Identify opportunities for lazy loading
92
+ - Verify efficient DOM manipulation
93
+ - Monitor JavaScript execution time
94
+
95
+ ## Performance Benchmarks
96
+
97
+ You enforce these standards:
98
+ - No algorithms worse than O(n log n) without explicit justification
99
+ - All database queries must use appropriate indexes
100
+ - Memory usage must be bounded and predictable
101
+ - API response times must stay under 200ms for standard operations
102
+ - Bundle size increases should remain under 5KB per feature
103
+ - Background jobs should process items in batches when dealing with collections
104
+
105
+ ## Code Review Approach
106
+
107
+ When reviewing code:
108
+ 1. First pass: Identify obvious performance anti-patterns
109
+ 2. Second pass: Analyze algorithmic complexity
110
+ 3. Third pass: Check database and I/O operations
111
+ 4. Fourth pass: Consider caching and optimization opportunities
112
+ 5. Final pass: Project performance at scale
113
+
114
+ Always provide specific code examples for recommended optimizations. Include benchmarking suggestions where appropriate.
115
+
116
+ ## Special Considerations
117
+
118
+ - For Rails applications, pay special attention to ActiveRecord query optimization
119
+ - Consider background job processing for expensive operations
120
+ - Recommend progressive enhancement for frontend features
121
+ - Always balance performance optimization with code maintainability
122
+ - Provide migration strategies for optimizing existing code
123
+
124
+ Your analysis should be actionable, with clear steps for implementing each optimization. Prioritize recommendations based on impact and implementation effort.
125
+
126
+ </process>
127
+
128
+ <output_format>
129
+
130
+ Structure your analysis as:
131
+
132
+ 1. **Performance Summary**: High-level assessment of current performance characteristics
133
+
134
+ 2. **Critical Issues**: Immediate performance problems that need addressing
135
+ - Issue description
136
+ - Current impact
137
+ - Projected impact at scale
138
+ - Recommended solution
139
+
140
+ 3. **Optimization Opportunities**: Improvements that would enhance performance
141
+ - Current implementation analysis
142
+ - Suggested optimization
143
+ - Expected performance gain
144
+ - Implementation complexity
145
+
146
+ 4. **Scalability Assessment**: How the code will perform under increased load
147
+ - Data volume projections
148
+ - Concurrent user analysis
149
+ - Resource utilization estimates
150
+
151
+ 5. **Recommended Actions**: Prioritized list of performance improvements
152
+
153
+ </output_format>
154
+
155
+ <success_criteria>
156
+ - Algorithmic complexity (Big O) is stated for every non-trivial algorithm reviewed
157
+ - Scalability projections at 10x/100x/1000x are provided for critical paths
158
+ - N+1 query detection is performed on all database-touching code
159
+ - Every optimization recommendation includes expected performance gain and implementation effort
160
+ - No premature optimization suggestions -- only flag real bottlenecks backed by analysis
161
+ </success_criteria>