@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,267 @@
1
+ # Quick Start Guide
2
+
3
+ ## Installation
4
+
5
+ ```bash
6
+ # From the plugin directory
7
+ cd ~/Documents/projects/lavra
8
+ ./install.sh /path/to/your-project
9
+
10
+ # Restart Claude Code
11
+ ```
12
+
13
+ ## Verify Installation
14
+
15
+ ```bash
16
+ cd /path/to/your-project
17
+
18
+ # Check that files were created
19
+ ls -la .claude/hooks/ # Should see auto-recall.sh, memory-capture.sh
20
+ ls -la .claude/commands/ # Should see lavra-*.md files
21
+ ls -la .lavra/memory/ # Should see knowledge.jsonl, recall.sh
22
+ ```
23
+
24
+ ## Configuration
25
+
26
+ ### Workflow config (automatic)
27
+
28
+ The installer creates `.lavra/config/lavra.json` with default settings. Edit to toggle:
29
+ - `workflow.research` -- skip research phase in `/lavra-design`
30
+ - `workflow.plan_review` -- skip plan review phase in `/lavra-design`
31
+ - `workflow.goal_verification` -- skip goal verification in `/lavra-work` and `/lavra-ship`
32
+ - `execution.max_parallel_agents` -- limit parallel subagents (default: 3)
33
+ - `execution.commit_granularity` -- `"task"` (default, atomic) or `"wave"` (legacy)
34
+
35
+ Existing projects get this file automatically on next session start (version self-heal).
36
+
37
+ ### Codebase analysis (optional, for brownfield projects)
38
+
39
+ If you're installing lavra into an existing project, run `/project-setup` to generate a codebase profile:
40
+
41
+ ```
42
+ /project-setup
43
+ ```
44
+
45
+ When prompted "Run codebase analysis?", choose Y. This dispatches 3 parallel agents to analyze your stack, architecture, and conventions, saving the results to `.lavra/config/codebase-profile.md`. This file is used by `/lavra-design` and `/lavra-work` as planning context.
46
+
47
+ ## Your First Workflow
48
+
49
+ ### 1. Create a bead
50
+
51
+ ```bash
52
+ bd create "Add user profile page" -d "Display user info with edit capability"
53
+ # Returns: BD-001
54
+ ```
55
+
56
+ ### 2. Plan it (optional but recommended)
57
+
58
+ ```
59
+ /lavra-plan BD-001
60
+ ```
61
+
62
+ This dispatches research agents to gather:
63
+ - Best practices for profile pages
64
+ - Framework documentation
65
+ - Existing patterns in your codebase
66
+
67
+ Creates child beads for each step.
68
+
69
+ ### 3. Work on it
70
+
71
+ ```
72
+ /lavra-work BD-001.1
73
+ ```
74
+
75
+ This:
76
+ - Shows you relevant knowledge automatically
77
+ - Updates status to in_progress
78
+ - Offers investigation if you want it
79
+
80
+ ### 4. Implement
81
+
82
+ Just code normally:
83
+ ```bash
84
+ # Edit files
85
+ # Make commits
86
+ ```
87
+
88
+ ### 5. Log learnings
89
+
90
+ ```bash
91
+ bd comments add BD-001.1 "LEARNED: Profile images should be lazy-loaded for performance"
92
+ bd comments add BD-001.1 "DECISION: Using Gravatar for default avatars"
93
+ bd comments add BD-001.1 "FACT: Max upload size is 5MB (nginx limit)"
94
+ ```
95
+
96
+ These get auto-captured to `.lavra/memory/knowledge.jsonl`.
97
+
98
+ ### 6. Review
99
+
100
+ ```
101
+ /lavra-review BD-001.1
102
+ ```
103
+
104
+ This dispatches multiple reviewers:
105
+ - Security audit
106
+ - Performance check
107
+ - Code quality review
108
+ - Architecture validation
109
+
110
+ Creates follow-up beads for any issues found.
111
+
112
+ ### 7. Close
113
+
114
+ ```bash
115
+ bd close BD-001.1
116
+ ```
117
+
118
+ ## Next Session
119
+
120
+ When you start a new session:
121
+
122
+ 1. The `auto-recall` hook runs automatically
123
+ 2. It sees you have open beads
124
+ 3. It searches knowledge for relevant entries
125
+ 4. Injects them as context
126
+
127
+ You get relevant learnings without manually searching!
128
+
129
+ ## Available Commands
130
+
131
+ | Command | Use When |
132
+ |---------|----------|
133
+ | `/lavra-plan {id or desc}` | Starting a complex feature, need research |
134
+ | `/lavra-work {id}` | Starting work on a bead |
135
+ | `/lavra-review {id}` | Before closing a bead, want multi-agent review |
136
+ | `/lavra-research {id or question}` | Need deep understanding before implementing |
137
+ | `/lavra-checkpoint` | Want to save progress during long session |
138
+
139
+ ## Manual Knowledge Search
140
+
141
+ ```bash
142
+ # Search by keyword
143
+ .lavra/memory/recall.sh "authentication"
144
+
145
+ # Show recent
146
+ .lavra/memory/recall.sh --recent 10
147
+
148
+ # Show stats
149
+ .lavra/memory/recall.sh --stats
150
+
151
+ # Filter by type
152
+ .lavra/memory/recall.sh "jwt" --type learned
153
+ ```
154
+
155
+ ## Example: Full Feature Flow
156
+
157
+ ```bash
158
+ # Day 1: Research and planning
159
+ bd create "Add two-factor authentication" -d "TOTP-based 2FA with QR codes"
160
+ # => BD-050
161
+
162
+ /lavra-plan BD-050
163
+ # Researches best practices, security considerations, framework options
164
+ # Creates child beads:
165
+ # BD-050.1: Database schema for OTP secrets
166
+ # BD-050.2: QR code generation endpoint
167
+ # BD-050.3: Verification endpoint
168
+ # BD-050.4: Settings UI
169
+
170
+ # Day 2: Implement first step
171
+ /lavra-work BD-050.1
172
+ # Auto-recalls security knowledge from yesterday's research
173
+
174
+ # Edit files, create migration
175
+ git add -A
176
+ git commit -m "Add OTP secrets table"
177
+
178
+ bd comments add BD-050.1 "LEARNED: OTP secrets MUST be encrypted at rest"
179
+ bd comments add BD-050.1 "DECISION: Using rotp gem for TOTP generation"
180
+ bd comments add BD-050.1 "FACT: Backup codes needed for account recovery"
181
+
182
+ /lavra-review BD-050.1
183
+ # Security review catches missing index on user_id
184
+ # Creates BD-051: Add index to otp_secrets.user_id
185
+
186
+ # Fix the issue
187
+ git add -A
188
+ git commit -m "Add index to otp_secrets.user_id"
189
+ bd close BD-051
190
+
191
+ bd close BD-050.1
192
+
193
+ # Continue with BD-050.2...
194
+ ```
195
+
196
+ ## Tips
197
+
198
+ 1. **Log liberally**: Every insight is valuable. Future you will thank you.
199
+
200
+ 2. **Use prefixes consistently**:
201
+ - `LEARNED:` - Technical insights, gotchas, discoveries
202
+ - `DECISION:` - Choices made and why
203
+ - `FACT:` - Constraints, requirements, environment details
204
+ - `PATTERN:` - Coding patterns, conventions, idioms
205
+ - `INVESTIGATION:` - Root cause analysis, how things work
206
+ - `DEVIATION:` - Auto-fixes applied outside bead scope
207
+
208
+ 3. **Review before closing**: `/lavra-review` catches issues early
209
+
210
+ 4. **Plan complex features**: `/lavra-plan` prevents rework by researching upfront
211
+
212
+ 5. **Checkpoint long sessions**: `/lavra-checkpoint` saves progress without losing context
213
+
214
+ 6. **Trust auto-recall**: Knowledge will be injected when relevant, no need to search manually
215
+
216
+ ## Troubleshooting
217
+
218
+ ### Knowledge not appearing at session start
219
+
220
+ ```bash
221
+ # Check if knowledge exists
222
+ .lavra/memory/recall.sh --stats
223
+
224
+ # Check if hook is installed
225
+ ls -la .claude/hooks/auto-recall.sh
226
+
227
+ # Check if hook is configured
228
+ cat .claude/settings.json | jq '.hooks.SessionStart'
229
+ ```
230
+
231
+ ### Commands not showing up
232
+
233
+ ```bash
234
+ # Check if commands are installed
235
+ ls -la .claude/commands/lavra-*.md
236
+
237
+ # Restart Claude Code (required after installation)
238
+ ```
239
+
240
+ ### Agents not found
241
+
242
+ The plugin references compound-engineering agents but doesn't install them. If you don't have compound-engineering installed, the agent dispatches in commands will fail. You can either:
243
+
244
+ 1. Install compound-engineering plugin
245
+ 2. Or modify the commands to use different agent names
246
+ 3. Or just use basic beads workflow without the agent commands
247
+
248
+ ## Uninstall
249
+
250
+ ```bash
251
+ cd ~/Documents/projects/lavra
252
+ ./uninstall.sh /path/to/your-project
253
+ ```
254
+
255
+ This removes the plugin but **preserves**:
256
+ - `.beads/` directory
257
+ - All your beads
258
+ - `knowledge.jsonl` with all accumulated knowledge
259
+
260
+ ## Next Steps
261
+
262
+ Once you're comfortable with the basic workflow:
263
+
264
+ 1. Read the full [README.md](README.md) for all features
265
+ 2. Check [COMPARISON.md](../COMPARISON.md) to understand vs semantic-beads
266
+ 3. Customize the commands in `.claude/commands/` for your workflow
267
+ 4. Add custom tags to `.claude/hooks/memory-capture.sh` for better search
@@ -0,0 +1,197 @@
1
+ # Add Two-Factor Authentication
2
+
3
+ Add TOTP-based two-factor authentication to protect user accounts.
4
+
5
+ ## Background
6
+
7
+ Users have requested 2FA for enhanced security. Current authentication is username/password only, which is vulnerable to credential stuffing attacks.
8
+
9
+ Market research shows 73% of competitors offer 2FA, and it's becoming table stakes for security-conscious users.
10
+
11
+ ## Research
12
+
13
+ **TOTP (Time-based One-Time Password)**
14
+ - RFC 6238 standard
15
+ - 6-digit codes that rotate every 30 seconds
16
+ - Compatible with Google Authenticator, Authy, 1Password, etc.
17
+ - More secure than SMS-based 2FA (no SIM swapping vulnerability)
18
+
19
+ **Ruby gems available**:
20
+ - `rotp` - TOTP generation and verification (8.3k downloads/week)
21
+ - `rqrcode` - QR code generation for setup (1.2M downloads/week)
22
+
23
+ **Security considerations**:
24
+ - OTP secrets MUST be encrypted at rest
25
+ - Backup codes needed for account recovery (10 single-use codes)
26
+ - Rate limiting on verification attempts (max 3 failures, then lockout)
27
+ - Must support account recovery flow if user loses device
28
+
29
+ ## Decisions
30
+
31
+ **Choice: TOTP over SMS**
32
+ - TOTP is more secure (no SIM swapping vulnerability)
33
+ - Works offline (no dependency on SMS delivery)
34
+ - Better UX (no waiting for SMS, works internationally)
35
+ - Industry best practice per NIST guidelines
36
+
37
+ **Choice: Required for admins, optional for users**
38
+ - Admins handle sensitive operations, require 2FA
39
+ - Users can opt-in for enhanced security
40
+ - Gradual rollout reduces support burden
41
+
42
+ **Choice: Using rotp + rqrcode gems**
43
+ - Battle-tested libraries
44
+ - Active maintenance
45
+ - Simple API
46
+
47
+ ## Implementation Steps
48
+
49
+ ### Step 1: Database Schema
50
+
51
+ Create `otp_secrets` table:
52
+ - user_id (indexed, unique)
53
+ - encrypted_secret (encrypted with Rails credentials)
54
+ - backup_codes (jsonb array, encrypted)
55
+ - enabled_at (timestamp)
56
+ - last_used_at (timestamp)
57
+
58
+ Migration checklist:
59
+ - Add foreign key constraint to users
60
+ - Add index on user_id
61
+ - Encrypt secret column using lockbox or similar
62
+ - Add validation for backup codes format
63
+
64
+ ### Step 2: OTP Secret Generation
65
+
66
+ Create `OtpService` to handle:
67
+ - Generate secure random secret (Base32 encoded)
68
+ - Encrypt and store secret
69
+ - Generate 10 backup codes (random 8-char alphanumeric)
70
+ - Return QR code provisioning URI for authenticator apps
71
+
72
+ API:
73
+ ```ruby
74
+ OtpService.enable_for_user(user)
75
+ # => { qr_code_uri: "otpauth://...", backup_codes: [...] }
76
+ ```
77
+
78
+ ### Step 3: QR Code Display Endpoint
79
+
80
+ Create `Settings::TwoFactorController#new`:
81
+ - GET /settings/two_factor/setup
82
+ - Generates OTP secret via OtpService
83
+ - Renders QR code using rqrcode
84
+ - Shows backup codes (one-time display)
85
+ - User must verify before enabling
86
+
87
+ Response includes:
88
+ - QR code image (SVG for crispness)
89
+ - Manual entry key (for apps that don't scan QR)
90
+ - 10 backup codes to save
91
+
92
+ ### Step 4: Verification Endpoint
93
+
94
+ Create `Settings::TwoFactorController#create`:
95
+ - POST /settings/two_factor/verify
96
+ - Accepts 6-digit OTP code
97
+ - Verifies against stored secret using rotp
98
+ - Enables 2FA on success
99
+ - Rate limits: max 3 attempts, 5-minute lockout
100
+
101
+ Error cases:
102
+ - Invalid code (wrong digits)
103
+ - Expired code (clock drift tolerance: 30 seconds)
104
+ - Rate limit exceeded
105
+ - Secret not found
106
+
107
+ ### Step 5: Login Flow Integration
108
+
109
+ Modify `SessionsController#create`:
110
+ - After successful password authentication
111
+ - If user has 2FA enabled, redirect to 2FA verification
112
+ - Session marked as "partial" (authenticated but not 2FA verified)
113
+ - Must verify OTP before full session granted
114
+
115
+ Add `SessionsController#verify_otp`:
116
+ - POST /sessions/verify_otp
117
+ - Accepts 6-digit code or backup code
118
+ - Verifies and completes login
119
+ - Invalidates backup code if used
120
+ - Rate limits: max 3 attempts, 5-minute lockout
121
+
122
+ ### Step 6: Settings UI
123
+
124
+ Add 2FA section to user settings:
125
+ - Show status (enabled/disabled)
126
+ - Enable button → goes to setup flow
127
+ - Disable button (requires password confirmation)
128
+ - Regenerate backup codes option
129
+ - View recovery options
130
+
131
+ UI includes:
132
+ - Clear status indicator (badge/icon)
133
+ - Setup instructions
134
+ - Troubleshooting help link
135
+
136
+ ### Step 7: Account Recovery Flow
137
+
138
+ Add recovery mechanism for lost devices:
139
+ - User can disable 2FA via email confirmation link
140
+ - Requires password + email verification
141
+ - Notifies user via email when 2FA is disabled
142
+ - Logs security event for audit trail
143
+
144
+ Security:
145
+ - Email link expires in 1 hour
146
+ - Single use only
147
+ - Requires password entry after clicking link
148
+ - Rate limited: max 3 requests per day
149
+
150
+ ## Testing Checklist
151
+
152
+ - [ ] Setup flow generates valid TOTP secret
153
+ - [ ] QR code scannable by Google Authenticator
154
+ - [ ] Backup codes work for login
155
+ - [ ] Backup codes invalidated after use
156
+ - [ ] Rate limiting prevents brute force
157
+ - [ ] Clock drift handled (30-second window)
158
+ - [ ] Account recovery flow works
159
+ - [ ] Email notifications sent correctly
160
+ - [ ] Admin 2FA enforcement works
161
+ - [ ] User opt-in works
162
+
163
+ ## Rollout Plan
164
+
165
+ **Phase 1: Internal testing (Week 1)**
166
+ - Deploy to staging
167
+ - Team members test with their accounts
168
+ - Validate all edge cases
169
+
170
+ **Phase 2: Admins required (Week 2)**
171
+ - Require all admin accounts to enable 2FA
172
+ - Support team prepares for user questions
173
+ - Monitor for issues
174
+
175
+ **Phase 3: User opt-in (Week 3)**
176
+ - Announce feature to all users
177
+ - Settings page shows option
178
+ - Monitor adoption rate
179
+
180
+ **Phase 4: Encourage adoption (Week 4+)**
181
+ - In-app banners for high-value accounts
182
+ - Email campaign explaining benefits
183
+ - Track metrics: adoption rate, support tickets
184
+
185
+ ## Success Metrics
186
+
187
+ - 100% admin adoption within 1 week
188
+ - 25% user adoption within 1 month
189
+ - <5 support tickets per 1000 users
190
+ - Zero account takeovers on 2FA-enabled accounts
191
+
192
+ ## Dependencies
193
+
194
+ - Rails 7.0+ (has encrypted attributes built-in)
195
+ - rotp gem
196
+ - rqrcode gem
197
+ - Email delivery working (for recovery flow)
@@ -0,0 +1,130 @@
1
+ <!-- Generated by lavra v0.6.0 -->
2
+ <!-- Source: design/design-implementation-reviewer.md -->
3
+ <!-- DO NOT EDIT - changes will be overwritten on next install -->
4
+
5
+ ---
6
+ name: design-implementation-reviewer
7
+ description: Verifies UI implementations match Figma design specifications. Use after HTML/CSS/React components are created or modified to compare implementation against Figma and identify discrepancies.
8
+ kind: local
9
+ model: gemini-2.5-pro
10
+ max_turns: 30
11
+ timeout_mins: 10
12
+ ---
13
+ <examples>
14
+ <example>
15
+ Context: The user has just implemented a new component based on a Figma design.
16
+ user: "I've finished implementing the hero section based on the Figma design"
17
+ assistant: "I'll review how well your implementation matches the Figma design."
18
+ <commentary>
19
+ Since UI implementation has been completed, use the design-implementation-reviewer agent to compare the live version with Figma.
20
+ </commentary>
21
+ </example>
22
+
23
+ <example>
24
+ Context: After the general code agent has implemented design changes.
25
+ user: "Update the button styles to match the new design system"
26
+ assistant: "I've updated the button styles. Now let me verify the implementation matches the Figma specifications."
27
+ <commentary>
28
+ After implementing design changes, proactively use the design-implementation-reviewer to ensure accuracy.
29
+ </commentary>
30
+ </example>
31
+ </examples>
32
+
33
+ <role>
34
+ You are an expert UI/UX implementation reviewer specializing in ensuring pixel-perfect fidelity between Figma designs and live implementations. You have deep expertise in visual design principles, CSS, responsive design, and cross-browser compatibility.
35
+ </role>
36
+
37
+ <process>
38
+
39
+ 1. **Capture Implementation State**
40
+ - Use agent-browser CLI to capture screenshots of the implemented UI
41
+ - Test different viewport sizes if the design includes responsive breakpoints
42
+ - Capture interactive states (hover, focus, active) when relevant
43
+ - Document the URL and selectors of the components being reviewed
44
+
45
+ ```bash
46
+ agent-browser open [url]
47
+ agent-browser snapshot -i
48
+ agent-browser screenshot output.png
49
+ # For hover states:
50
+ agent-browser hover @e1
51
+ agent-browser screenshot hover-state.png
52
+ ```
53
+
54
+ 2. **Retrieve Design Specifications**
55
+ - Use the Figma MCP to access the corresponding design files
56
+ - Extract design tokens (colors, typography, spacing, shadows)
57
+ - Identify component specifications and design system rules
58
+ - Note any design annotations or developer handoff notes
59
+
60
+ 3. **Conduct Systematic Comparison**
61
+ - **Visual Fidelity**: Compare layouts, spacing, alignment, and proportions
62
+ - **Typography**: Verify font families, sizes, weights, line heights, and letter spacing
63
+ - **Colors**: Check background colors, text colors, borders, and gradients
64
+ - **Spacing**: Measure padding, margins, and gaps against design specs
65
+ - **Interactive Elements**: Verify button states, form inputs, and animations
66
+ - **Responsive Behavior**: Ensure breakpoints match design specifications
67
+ - **Accessibility**: Note any WCAG compliance issues visible in the implementation
68
+
69
+ 4. **Generate Structured Review**
70
+ Structure your review as follows:
71
+ ```
72
+ ## Design Implementation Review
73
+
74
+ ### Correctly Implemented
75
+ - [List elements that match the design perfectly]
76
+
77
+ ### Minor Discrepancies
78
+ - [Issue]: [Current implementation] vs [Expected from Figma]
79
+ - Impact: [Low/Medium]
80
+ - Fix: [Specific CSS/code change needed]
81
+
82
+ ### Major Issues
83
+ - [Issue]: [Description of significant deviation]
84
+ - Impact: High
85
+ - Fix: [Detailed correction steps]
86
+
87
+ ### Measurements
88
+ - [Component]: Figma: [value] | Implementation: [value]
89
+
90
+ ### Recommendations
91
+ - [Suggestions for improving design consistency]
92
+ ```
93
+
94
+ 5. **Provide Actionable Fixes**
95
+ - Include specific CSS properties and values that need adjustment
96
+ - Reference design tokens from the design system when applicable
97
+ - Suggest code snippets for complex fixes
98
+ - Prioritize fixes based on visual impact and user experience
99
+
100
+ </process>
101
+
102
+ ## Important Guidelines
103
+
104
+ - **Be Precise**: Use exact pixel values, hex codes, and specific CSS properties
105
+ - **Consider Context**: Some variations might be intentional (e.g., browser rendering differences)
106
+ - **Focus on User Impact**: Prioritize issues that affect usability or brand consistency
107
+ - **Account for Technical Constraints**: Recognize when perfect fidelity might not be technically feasible
108
+ - **Reference Design System**: When available, cite design system documentation
109
+ - **Test Across States**: Don't just review static appearance; consider interactive states
110
+
111
+ ## Edge Cases to Consider
112
+
113
+ - Browser-specific rendering differences
114
+ - Font availability and fallbacks
115
+ - Dynamic content that might affect layout
116
+ - Animations and transitions not visible in static designs
117
+ - Accessibility improvements that might deviate from pure visual design
118
+
119
+ When you encounter ambiguity between the design and implementation requirements, clearly note the discrepancy and provide recommendations for both strict design adherence and practical implementation approaches.
120
+
121
+ <success_criteria>
122
+ - Screenshots captured at all relevant viewport sizes and interactive states
123
+ - Design tokens (colors, typography, spacing) compared with exact values
124
+ - Discrepancies categorized by severity (minor vs major) with specific CSS fixes
125
+ - Responsive breakpoints verified against design specifications
126
+ - Accessibility issues noted where implementation deviates from WCAG compliance
127
+ - Review structured with Correctly Implemented, Minor Discrepancies, and Major Issues sections
128
+ </success_criteria>
129
+
130
+ Your goal is to ensure the implementation delivers the intended user experience while maintaining design consistency and technical excellence.