@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.
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/bin/install.js +302 -0
- package/bin/plan-export.js +300 -0
- package/bin/plan-view.js +695 -0
- package/install.sh +136 -0
- package/package.json +28 -0
- package/plugins/lavra/.claude-plugin/plugin.json +22 -0
- package/plugins/lavra/.mcp.json +8 -0
- package/plugins/lavra/README.md +125 -0
- package/plugins/lavra/agents/design/design-implementation-reviewer.md +123 -0
- package/plugins/lavra/agents/design/design-iterator.md +219 -0
- package/plugins/lavra/agents/design/figma-design-sync.md +212 -0
- package/plugins/lavra/agents/docs/ankane-readme-writer.md +90 -0
- package/plugins/lavra/agents/research/best-practices-researcher.md +131 -0
- package/plugins/lavra/agents/research/framework-docs-researcher.md +111 -0
- package/plugins/lavra/agents/research/git-history-analyzer.md +73 -0
- package/plugins/lavra/agents/research/learnings-researcher.md +255 -0
- package/plugins/lavra/agents/research/repo-research-analyst.md +157 -0
- package/plugins/lavra/agents/review/agent-native-reviewer.md +274 -0
- package/plugins/lavra/agents/review/architecture-strategist.md +82 -0
- package/plugins/lavra/agents/review/code-simplicity-reviewer.md +109 -0
- package/plugins/lavra/agents/review/data-integrity-guardian.md +89 -0
- package/plugins/lavra/agents/review/data-migration-expert.md +118 -0
- package/plugins/lavra/agents/review/deployment-verification-agent.md +178 -0
- package/plugins/lavra/agents/review/dhh-rails-reviewer.md +94 -0
- package/plugins/lavra/agents/review/goal-verifier.md +109 -0
- package/plugins/lavra/agents/review/julik-frontend-races-reviewer.md +239 -0
- package/plugins/lavra/agents/review/kieran-python-reviewer.md +148 -0
- package/plugins/lavra/agents/review/kieran-rails-reviewer.md +130 -0
- package/plugins/lavra/agents/review/kieran-typescript-reviewer.md +139 -0
- package/plugins/lavra/agents/review/migration-drift-detector.md +307 -0
- package/plugins/lavra/agents/review/pattern-recognition-specialist.md +87 -0
- package/plugins/lavra/agents/review/performance-oracle.md +154 -0
- package/plugins/lavra/agents/review/security-sentinel.md +125 -0
- package/plugins/lavra/agents/workflow/bug-reproduction-validator.md +119 -0
- package/plugins/lavra/agents/workflow/every-style-editor.md +97 -0
- package/plugins/lavra/agents/workflow/lint.md +30 -0
- package/plugins/lavra/agents/workflow/pr-comment-resolver.md +95 -0
- package/plugins/lavra/agents/workflow/spec-flow-analyzer.md +156 -0
- package/plugins/lavra/commands/changelog.md +149 -0
- package/plugins/lavra/commands/heal-skill.md +130 -0
- package/plugins/lavra/commands/lavra-brainstorm.md +388 -0
- package/plugins/lavra/commands/lavra-ceo-review.md +388 -0
- package/plugins/lavra/commands/lavra-checkpoint.md +162 -0
- package/plugins/lavra/commands/lavra-design.md +621 -0
- package/plugins/lavra/commands/lavra-eng-review.md +262 -0
- package/plugins/lavra/commands/lavra-import.md +194 -0
- package/plugins/lavra/commands/lavra-learn.md +176 -0
- package/plugins/lavra/commands/lavra-plan.md +515 -0
- package/plugins/lavra/commands/lavra-qa.md +357 -0
- package/plugins/lavra/commands/lavra-quick.md +178 -0
- package/plugins/lavra/commands/lavra-recall.md +279 -0
- package/plugins/lavra/commands/lavra-research.md +267 -0
- package/plugins/lavra/commands/lavra-retro.md +400 -0
- package/plugins/lavra/commands/lavra-review.md +401 -0
- package/plugins/lavra/commands/lavra-ship.md +330 -0
- package/plugins/lavra/commands/lavra-triage.md +159 -0
- package/plugins/lavra/commands/lavra-work-ralph.md +521 -0
- package/plugins/lavra/commands/lavra-work-teams.md +504 -0
- package/plugins/lavra/commands/lavra-work.md +1019 -0
- package/plugins/lavra/commands/optional/agent-native-audit.md +282 -0
- package/plugins/lavra/commands/optional/feature-video.md +262 -0
- package/plugins/lavra/commands/optional/generate-command.md +146 -0
- package/plugins/lavra/commands/optional/reproduce-bug.md +97 -0
- package/plugins/lavra/commands/optional/xcode-test.md +287 -0
- package/plugins/lavra/commands/report-bug.md +155 -0
- package/plugins/lavra/commands/test-browser.md +305 -0
- package/plugins/lavra/cortex/agents/design/design-implementation-reviewer.md +127 -0
- package/plugins/lavra/cortex/agents/design/design-iterator.md +222 -0
- package/plugins/lavra/cortex/agents/design/figma-design-sync.md +215 -0
- package/plugins/lavra/cortex/agents/docs/ankane-readme-writer.md +93 -0
- package/plugins/lavra/cortex/agents/research/best-practices-researcher.md +135 -0
- package/plugins/lavra/cortex/agents/research/framework-docs-researcher.md +115 -0
- package/plugins/lavra/cortex/agents/research/git-history-analyzer.md +77 -0
- package/plugins/lavra/cortex/agents/research/learnings-researcher.md +259 -0
- package/plugins/lavra/cortex/agents/research/repo-research-analyst.md +161 -0
- package/plugins/lavra/cortex/agents/review/agent-native-reviewer.md +278 -0
- package/plugins/lavra/cortex/agents/review/architecture-strategist.md +86 -0
- package/plugins/lavra/cortex/agents/review/code-simplicity-reviewer.md +113 -0
- package/plugins/lavra/cortex/agents/review/data-integrity-guardian.md +93 -0
- package/plugins/lavra/cortex/agents/review/data-migration-expert.md +122 -0
- package/plugins/lavra/cortex/agents/review/deployment-verification-agent.md +182 -0
- package/plugins/lavra/cortex/agents/review/dhh-rails-reviewer.md +98 -0
- package/plugins/lavra/cortex/agents/review/goal-verifier.md +113 -0
- package/plugins/lavra/cortex/agents/review/julik-frontend-races-reviewer.md +243 -0
- package/plugins/lavra/cortex/agents/review/kieran-python-reviewer.md +152 -0
- package/plugins/lavra/cortex/agents/review/kieran-rails-reviewer.md +134 -0
- package/plugins/lavra/cortex/agents/review/kieran-typescript-reviewer.md +143 -0
- package/plugins/lavra/cortex/agents/review/migration-drift-detector.md +311 -0
- package/plugins/lavra/cortex/agents/review/pattern-recognition-specialist.md +91 -0
- package/plugins/lavra/cortex/agents/review/performance-oracle.md +158 -0
- package/plugins/lavra/cortex/agents/review/security-sentinel.md +129 -0
- package/plugins/lavra/cortex/agents/workflow/bug-reproduction-validator.md +123 -0
- package/plugins/lavra/cortex/agents/workflow/every-style-editor.md +101 -0
- package/plugins/lavra/cortex/agents/workflow/lint.md +33 -0
- package/plugins/lavra/cortex/agents/workflow/pr-comment-resolver.md +98 -0
- package/plugins/lavra/cortex/agents/workflow/spec-flow-analyzer.md +160 -0
- package/plugins/lavra/cortex/commands/agent-native-audit.md +286 -0
- package/plugins/lavra/cortex/commands/changelog.md +153 -0
- package/plugins/lavra/cortex/commands/create-agent-skill.md +21 -0
- package/plugins/lavra/cortex/commands/deploy-docs.md +69 -0
- package/plugins/lavra/cortex/commands/feature-video.md +266 -0
- package/plugins/lavra/cortex/commands/generate-command.md +150 -0
- package/plugins/lavra/cortex/commands/heal-skill.md +134 -0
- package/plugins/lavra/cortex/commands/lavra-brainstorm.md +392 -0
- package/plugins/lavra/cortex/commands/lavra-ceo-review.md +392 -0
- package/plugins/lavra/cortex/commands/lavra-checkpoint.md +166 -0
- package/plugins/lavra/cortex/commands/lavra-compound.md +168 -0
- package/plugins/lavra/cortex/commands/lavra-deepen.md +389 -0
- package/plugins/lavra/cortex/commands/lavra-design.md +625 -0
- package/plugins/lavra/cortex/commands/lavra-eng-review.md +266 -0
- package/plugins/lavra/cortex/commands/lavra-import.md +198 -0
- package/plugins/lavra/cortex/commands/lavra-learn.md +180 -0
- package/plugins/lavra/cortex/commands/lavra-parallel.md +910 -0
- package/plugins/lavra/cortex/commands/lavra-plan.md +519 -0
- package/plugins/lavra/cortex/commands/lavra-qa.md +361 -0
- package/plugins/lavra/cortex/commands/lavra-quick.md +182 -0
- package/plugins/lavra/cortex/commands/lavra-recall.md +283 -0
- package/plugins/lavra/cortex/commands/lavra-research.md +271 -0
- package/plugins/lavra/cortex/commands/lavra-retro.md +404 -0
- package/plugins/lavra/cortex/commands/lavra-review.md +405 -0
- package/plugins/lavra/cortex/commands/lavra-ship.md +334 -0
- package/plugins/lavra/cortex/commands/lavra-triage.md +163 -0
- package/plugins/lavra/cortex/commands/lavra-work-ralph.md +525 -0
- package/plugins/lavra/cortex/commands/lavra-work-teams.md +508 -0
- package/plugins/lavra/cortex/commands/lavra-work.md +1023 -0
- package/plugins/lavra/cortex/commands/lfg.md +30 -0
- package/plugins/lavra/cortex/commands/release-docs.md +148 -0
- package/plugins/lavra/cortex/commands/report-bug.md +159 -0
- package/plugins/lavra/cortex/commands/reproduce-bug.md +101 -0
- package/plugins/lavra/cortex/commands/resolve-pr-parallel.md +58 -0
- package/plugins/lavra/cortex/commands/resolve-todo-parallel.md +56 -0
- package/plugins/lavra/cortex/commands/test-browser.md +309 -0
- package/plugins/lavra/cortex/commands/xcode-test.md +291 -0
- package/plugins/lavra/cortex/skills/agent-browser/SKILL.md +227 -0
- package/plugins/lavra/cortex/skills/agent-native-architecture/SKILL.md +439 -0
- package/plugins/lavra/cortex/skills/andrew-kane-gem-writer/SKILL.md +188 -0
- package/plugins/lavra/cortex/skills/brainstorming/SKILL.md +197 -0
- package/plugins/lavra/cortex/skills/create-agent-skills/SKILL.md +304 -0
- package/plugins/lavra/cortex/skills/dhh-rails-style/SKILL.md +189 -0
- package/plugins/lavra/cortex/skills/dspy-ruby/SKILL.md +741 -0
- package/plugins/lavra/cortex/skills/every-style-editor/SKILL.md +138 -0
- package/plugins/lavra/cortex/skills/file-todos/SKILL.md +256 -0
- package/plugins/lavra/cortex/skills/frontend-design/SKILL.md +46 -0
- package/plugins/lavra/cortex/skills/gemini-imagegen/SKILL.md +242 -0
- package/plugins/lavra/cortex/skills/git-worktree/SKILL.md +307 -0
- package/plugins/lavra/cortex/skills/lavra-knowledge/SKILL.md +464 -0
- package/plugins/lavra/cortex/skills/project-setup/SKILL.md +418 -0
- package/plugins/lavra/cortex/skills/rclone/SKILL.md +155 -0
- package/plugins/lavra/docs/quickstart.md +267 -0
- package/plugins/lavra/examples/example-plan.md +197 -0
- package/plugins/lavra/gemini/agents/design/design-implementation-reviewer.md +130 -0
- package/plugins/lavra/gemini/agents/design/design-iterator.md +225 -0
- package/plugins/lavra/gemini/agents/design/figma-design-sync.md +218 -0
- package/plugins/lavra/gemini/agents/docs/ankane-readme-writer.md +96 -0
- package/plugins/lavra/gemini/agents/research/best-practices-researcher.md +138 -0
- package/plugins/lavra/gemini/agents/research/framework-docs-researcher.md +118 -0
- package/plugins/lavra/gemini/agents/research/git-history-analyzer.md +80 -0
- package/plugins/lavra/gemini/agents/research/learnings-researcher.md +262 -0
- package/plugins/lavra/gemini/agents/research/repo-research-analyst.md +164 -0
- package/plugins/lavra/gemini/agents/review/agent-native-reviewer.md +281 -0
- package/plugins/lavra/gemini/agents/review/architecture-strategist.md +89 -0
- package/plugins/lavra/gemini/agents/review/code-simplicity-reviewer.md +116 -0
- package/plugins/lavra/gemini/agents/review/data-integrity-guardian.md +96 -0
- package/plugins/lavra/gemini/agents/review/data-migration-expert.md +125 -0
- package/plugins/lavra/gemini/agents/review/deployment-verification-agent.md +185 -0
- package/plugins/lavra/gemini/agents/review/dhh-rails-reviewer.md +101 -0
- package/plugins/lavra/gemini/agents/review/goal-verifier.md +116 -0
- package/plugins/lavra/gemini/agents/review/julik-frontend-races-reviewer.md +246 -0
- package/plugins/lavra/gemini/agents/review/kieran-python-reviewer.md +155 -0
- package/plugins/lavra/gemini/agents/review/kieran-rails-reviewer.md +137 -0
- package/plugins/lavra/gemini/agents/review/kieran-typescript-reviewer.md +146 -0
- package/plugins/lavra/gemini/agents/review/migration-drift-detector.md +314 -0
- package/plugins/lavra/gemini/agents/review/pattern-recognition-specialist.md +94 -0
- package/plugins/lavra/gemini/agents/review/performance-oracle.md +161 -0
- package/plugins/lavra/gemini/agents/review/security-sentinel.md +132 -0
- package/plugins/lavra/gemini/agents/workflow/bug-reproduction-validator.md +126 -0
- package/plugins/lavra/gemini/agents/workflow/every-style-editor.md +103 -0
- package/plugins/lavra/gemini/agents/workflow/lint.md +36 -0
- package/plugins/lavra/gemini/agents/workflow/pr-comment-resolver.md +101 -0
- package/plugins/lavra/gemini/agents/workflow/spec-flow-analyzer.md +163 -0
- package/plugins/lavra/gemini/commands/agent-native-audit.toml +284 -0
- package/plugins/lavra/gemini/commands/beads-brainstorm.toml +292 -0
- package/plugins/lavra/gemini/commands/beads-checkpoint.toml +145 -0
- package/plugins/lavra/gemini/commands/beads-compound.toml +167 -0
- package/plugins/lavra/gemini/commands/beads-deepen.toml +388 -0
- package/plugins/lavra/gemini/commands/beads-design.toml +295 -0
- package/plugins/lavra/gemini/commands/beads-import.toml +197 -0
- package/plugins/lavra/gemini/commands/beads-parallel.toml +909 -0
- package/plugins/lavra/gemini/commands/beads-plan-review.toml +201 -0
- package/plugins/lavra/gemini/commands/beads-plan.toml +391 -0
- package/plugins/lavra/gemini/commands/beads-quick.toml +134 -0
- package/plugins/lavra/gemini/commands/beads-recall.toml +281 -0
- package/plugins/lavra/gemini/commands/beads-review.toml +338 -0
- package/plugins/lavra/gemini/commands/beads-triage.toml +161 -0
- package/plugins/lavra/gemini/commands/beads-work.toml +347 -0
- package/plugins/lavra/gemini/commands/changelog.toml +151 -0
- package/plugins/lavra/gemini/commands/create-agent-skill.toml +18 -0
- package/plugins/lavra/gemini/commands/deploy-docs.toml +68 -0
- package/plugins/lavra/gemini/commands/feature-video.toml +264 -0
- package/plugins/lavra/gemini/commands/generate-command.toml +148 -0
- package/plugins/lavra/gemini/commands/heal-skill.toml +131 -0
- package/plugins/lavra/gemini/commands/lavra-brainstorm.toml +391 -0
- package/plugins/lavra/gemini/commands/lavra-ceo-review.toml +391 -0
- package/plugins/lavra/gemini/commands/lavra-checkpoint.toml +165 -0
- package/plugins/lavra/gemini/commands/lavra-design.toml +624 -0
- package/plugins/lavra/gemini/commands/lavra-eng-review.toml +265 -0
- package/plugins/lavra/gemini/commands/lavra-import.toml +197 -0
- package/plugins/lavra/gemini/commands/lavra-learn.toml +179 -0
- package/plugins/lavra/gemini/commands/lavra-plan-review.toml +201 -0
- package/plugins/lavra/gemini/commands/lavra-plan.toml +518 -0
- package/plugins/lavra/gemini/commands/lavra-qa.toml +360 -0
- package/plugins/lavra/gemini/commands/lavra-quick.toml +181 -0
- package/plugins/lavra/gemini/commands/lavra-recall.toml +281 -0
- package/plugins/lavra/gemini/commands/lavra-research.toml +270 -0
- package/plugins/lavra/gemini/commands/lavra-retro.toml +403 -0
- package/plugins/lavra/gemini/commands/lavra-review.toml +404 -0
- package/plugins/lavra/gemini/commands/lavra-ship.toml +333 -0
- package/plugins/lavra/gemini/commands/lavra-triage.toml +161 -0
- package/plugins/lavra/gemini/commands/lavra-work-ralph.toml +523 -0
- package/plugins/lavra/gemini/commands/lavra-work-teams.toml +507 -0
- package/plugins/lavra/gemini/commands/lavra-work.toml +1022 -0
- package/plugins/lavra/gemini/commands/lfg.toml +28 -0
- package/plugins/lavra/gemini/commands/release-docs.toml +146 -0
- package/plugins/lavra/gemini/commands/report-bug.toml +157 -0
- package/plugins/lavra/gemini/commands/reproduce-bug.toml +99 -0
- package/plugins/lavra/gemini/commands/resolve-pr-parallel.toml +56 -0
- package/plugins/lavra/gemini/commands/resolve-todo-parallel.toml +54 -0
- package/plugins/lavra/gemini/commands/test-browser.toml +307 -0
- package/plugins/lavra/gemini/commands/xcode-test.toml +289 -0
- package/plugins/lavra/gemini/docs/MCP_SETUP.md +41 -0
- package/plugins/lavra/gemini/skills/agent-browser/SKILL.md +227 -0
- package/plugins/lavra/gemini/skills/agent-native-architecture/SKILL.md +439 -0
- package/plugins/lavra/gemini/skills/andrew-kane-gem-writer/SKILL.md +188 -0
- package/plugins/lavra/gemini/skills/beads-knowledge/SKILL.md +464 -0
- package/plugins/lavra/gemini/skills/brainstorming/SKILL.md +197 -0
- package/plugins/lavra/gemini/skills/create-agent-skills/SKILL.md +304 -0
- package/plugins/lavra/gemini/skills/dhh-rails-style/SKILL.md +189 -0
- package/plugins/lavra/gemini/skills/dspy-ruby/SKILL.md +741 -0
- package/plugins/lavra/gemini/skills/every-style-editor/SKILL.md +138 -0
- package/plugins/lavra/gemini/skills/file-todos/SKILL.md +256 -0
- package/plugins/lavra/gemini/skills/frontend-design/SKILL.md +46 -0
- package/plugins/lavra/gemini/skills/gemini-imagegen/SKILL.md +242 -0
- package/plugins/lavra/gemini/skills/git-worktree/SKILL.md +307 -0
- package/plugins/lavra/gemini/skills/lavra-knowledge/SKILL.md +464 -0
- package/plugins/lavra/gemini/skills/project-setup/SKILL.md +418 -0
- package/plugins/lavra/gemini/skills/rclone/SKILL.md +155 -0
- package/plugins/lavra/gemini-extension.json +50 -0
- package/plugins/lavra/gemini-src/settings.json +37 -0
- package/plugins/lavra/hooks/auto-recall.sh +210 -0
- package/plugins/lavra/hooks/check-memory.sh +169 -0
- package/plugins/lavra/hooks/hooks.json +47 -0
- package/plugins/lavra/hooks/knowledge-db.sh +255 -0
- package/plugins/lavra/hooks/memory-capture.sh +132 -0
- package/plugins/lavra/hooks/provision-memory.sh +144 -0
- package/plugins/lavra/hooks/recall.sh +152 -0
- package/plugins/lavra/hooks/subagent-wrapup.sh +44 -0
- package/plugins/lavra/hooks/teammate-idle-check.sh +29 -0
- package/plugins/lavra/opencode/agents/design/design-implementation-reviewer.md +127 -0
- package/plugins/lavra/opencode/agents/design/design-iterator.md +222 -0
- package/plugins/lavra/opencode/agents/design/figma-design-sync.md +215 -0
- package/plugins/lavra/opencode/agents/docs/ankane-readme-writer.md +93 -0
- package/plugins/lavra/opencode/agents/research/best-practices-researcher.md +135 -0
- package/plugins/lavra/opencode/agents/research/framework-docs-researcher.md +115 -0
- package/plugins/lavra/opencode/agents/research/git-history-analyzer.md +77 -0
- package/plugins/lavra/opencode/agents/research/learnings-researcher.md +259 -0
- package/plugins/lavra/opencode/agents/research/repo-research-analyst.md +161 -0
- package/plugins/lavra/opencode/agents/review/agent-native-reviewer.md +278 -0
- package/plugins/lavra/opencode/agents/review/architecture-strategist.md +86 -0
- package/plugins/lavra/opencode/agents/review/code-simplicity-reviewer.md +113 -0
- package/plugins/lavra/opencode/agents/review/data-integrity-guardian.md +93 -0
- package/plugins/lavra/opencode/agents/review/data-migration-expert.md +122 -0
- package/plugins/lavra/opencode/agents/review/deployment-verification-agent.md +182 -0
- package/plugins/lavra/opencode/agents/review/dhh-rails-reviewer.md +98 -0
- package/plugins/lavra/opencode/agents/review/goal-verifier.md +113 -0
- package/plugins/lavra/opencode/agents/review/julik-frontend-races-reviewer.md +243 -0
- package/plugins/lavra/opencode/agents/review/kieran-python-reviewer.md +152 -0
- package/plugins/lavra/opencode/agents/review/kieran-rails-reviewer.md +134 -0
- package/plugins/lavra/opencode/agents/review/kieran-typescript-reviewer.md +143 -0
- package/plugins/lavra/opencode/agents/review/migration-drift-detector.md +311 -0
- package/plugins/lavra/opencode/agents/review/pattern-recognition-specialist.md +91 -0
- package/plugins/lavra/opencode/agents/review/performance-oracle.md +158 -0
- package/plugins/lavra/opencode/agents/review/security-sentinel.md +129 -0
- package/plugins/lavra/opencode/agents/workflow/bug-reproduction-validator.md +123 -0
- package/plugins/lavra/opencode/agents/workflow/every-style-editor.md +100 -0
- package/plugins/lavra/opencode/agents/workflow/lint.md +33 -0
- package/plugins/lavra/opencode/agents/workflow/pr-comment-resolver.md +98 -0
- package/plugins/lavra/opencode/agents/workflow/spec-flow-analyzer.md +160 -0
- package/plugins/lavra/opencode/commands/agent-native-audit.md +286 -0
- package/plugins/lavra/opencode/commands/changelog.md +153 -0
- package/plugins/lavra/opencode/commands/create-agent-skill.md +21 -0
- package/plugins/lavra/opencode/commands/deploy-docs.md +69 -0
- package/plugins/lavra/opencode/commands/feature-video.md +266 -0
- package/plugins/lavra/opencode/commands/generate-command.md +150 -0
- package/plugins/lavra/opencode/commands/heal-skill.md +134 -0
- package/plugins/lavra/opencode/commands/lavra-brainstorm.md +392 -0
- package/plugins/lavra/opencode/commands/lavra-ceo-review.md +392 -0
- package/plugins/lavra/opencode/commands/lavra-checkpoint.md +166 -0
- package/plugins/lavra/opencode/commands/lavra-compound.md +168 -0
- package/plugins/lavra/opencode/commands/lavra-deepen.md +389 -0
- package/plugins/lavra/opencode/commands/lavra-design.md +625 -0
- package/plugins/lavra/opencode/commands/lavra-eng-review.md +266 -0
- package/plugins/lavra/opencode/commands/lavra-import.md +198 -0
- package/plugins/lavra/opencode/commands/lavra-learn.md +180 -0
- package/plugins/lavra/opencode/commands/lavra-parallel.md +910 -0
- package/plugins/lavra/opencode/commands/lavra-plan.md +519 -0
- package/plugins/lavra/opencode/commands/lavra-qa.md +361 -0
- package/plugins/lavra/opencode/commands/lavra-quick.md +182 -0
- package/plugins/lavra/opencode/commands/lavra-recall.md +283 -0
- package/plugins/lavra/opencode/commands/lavra-research.md +271 -0
- package/plugins/lavra/opencode/commands/lavra-retro.md +404 -0
- package/plugins/lavra/opencode/commands/lavra-review.md +405 -0
- package/plugins/lavra/opencode/commands/lavra-ship.md +334 -0
- package/plugins/lavra/opencode/commands/lavra-triage.md +163 -0
- package/plugins/lavra/opencode/commands/lavra-work-ralph.md +525 -0
- package/plugins/lavra/opencode/commands/lavra-work-teams.md +508 -0
- package/plugins/lavra/opencode/commands/lavra-work.md +1023 -0
- package/plugins/lavra/opencode/commands/lfg.md +30 -0
- package/plugins/lavra/opencode/commands/release-docs.md +148 -0
- package/plugins/lavra/opencode/commands/report-bug.md +159 -0
- package/plugins/lavra/opencode/commands/reproduce-bug.md +101 -0
- package/plugins/lavra/opencode/commands/resolve-pr-parallel.md +58 -0
- package/plugins/lavra/opencode/commands/resolve-todo-parallel.md +56 -0
- package/plugins/lavra/opencode/commands/test-browser.md +309 -0
- package/plugins/lavra/opencode/commands/xcode-test.md +291 -0
- package/plugins/lavra/opencode/docs/MCP_SETUP.md +48 -0
- package/plugins/lavra/opencode/skills/agent-browser/SKILL.md +227 -0
- package/plugins/lavra/opencode/skills/agent-native-architecture/SKILL.md +439 -0
- package/plugins/lavra/opencode/skills/andrew-kane-gem-writer/SKILL.md +188 -0
- package/plugins/lavra/opencode/skills/brainstorming/SKILL.md +197 -0
- package/plugins/lavra/opencode/skills/create-agent-skills/SKILL.md +304 -0
- package/plugins/lavra/opencode/skills/dhh-rails-style/SKILL.md +189 -0
- package/plugins/lavra/opencode/skills/dspy-ruby/SKILL.md +741 -0
- package/plugins/lavra/opencode/skills/every-style-editor/SKILL.md +138 -0
- package/plugins/lavra/opencode/skills/file-todos/SKILL.md +256 -0
- package/plugins/lavra/opencode/skills/frontend-design/SKILL.md +46 -0
- package/plugins/lavra/opencode/skills/gemini-imagegen/SKILL.md +242 -0
- package/plugins/lavra/opencode/skills/git-worktree/SKILL.md +307 -0
- package/plugins/lavra/opencode/skills/lavra-knowledge/SKILL.md +464 -0
- package/plugins/lavra/opencode/skills/project-setup/SKILL.md +418 -0
- package/plugins/lavra/opencode/skills/rclone/SKILL.md +155 -0
- package/plugins/lavra/opencode-src/package.json +13 -0
- package/plugins/lavra/opencode-src/plugin.ts +176 -0
- package/plugins/lavra/scripts/import-plan.sh +141 -0
- package/plugins/lavra/skills/agent-browser/SKILL.md +223 -0
- package/plugins/lavra/skills/agent-native-architecture/SKILL.md +435 -0
- package/plugins/lavra/skills/agent-native-architecture/references/action-parity-discipline.md +353 -0
- package/plugins/lavra/skills/agent-native-architecture/references/agent-execution-patterns.md +362 -0
- package/plugins/lavra/skills/agent-native-architecture/references/agent-native-testing.md +508 -0
- package/plugins/lavra/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
- package/plugins/lavra/skills/agent-native-architecture/references/dynamic-context-injection.md +281 -0
- package/plugins/lavra/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
- package/plugins/lavra/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +227 -0
- package/plugins/lavra/skills/agent-native-architecture/references/mcp-tool-design.md +427 -0
- package/plugins/lavra/skills/agent-native-architecture/references/mobile-patterns.md +410 -0
- package/plugins/lavra/skills/agent-native-architecture/references/product-implications.md +341 -0
- package/plugins/lavra/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
- package/plugins/lavra/skills/agent-native-architecture/references/self-modification.md +269 -0
- package/plugins/lavra/skills/agent-native-architecture/references/shared-workspace-architecture.md +517 -0
- package/plugins/lavra/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
- package/plugins/lavra/skills/brainstorming/SKILL.md +193 -0
- package/plugins/lavra/skills/create-agent-skills/SKILL.md +300 -0
- package/plugins/lavra/skills/create-agent-skills/references/api-security.md +60 -0
- package/plugins/lavra/skills/create-agent-skills/references/be-clear-and-direct.md +84 -0
- package/plugins/lavra/skills/create-agent-skills/references/best-practices.md +404 -0
- package/plugins/lavra/skills/create-agent-skills/references/common-patterns.md +121 -0
- package/plugins/lavra/skills/create-agent-skills/references/core-principles.md +103 -0
- package/plugins/lavra/skills/create-agent-skills/references/executable-code.md +92 -0
- package/plugins/lavra/skills/create-agent-skills/references/iteration-and-testing.md +164 -0
- package/plugins/lavra/skills/create-agent-skills/references/official-spec.md +185 -0
- package/plugins/lavra/skills/create-agent-skills/references/recommended-structure.md +168 -0
- package/plugins/lavra/skills/create-agent-skills/references/skill-structure.md +215 -0
- package/plugins/lavra/skills/create-agent-skills/references/using-scripts.md +113 -0
- package/plugins/lavra/skills/create-agent-skills/references/using-templates.md +112 -0
- package/plugins/lavra/skills/create-agent-skills/references/workflows-and-validation.md +122 -0
- package/plugins/lavra/skills/create-agent-skills/templates/router-skill.md +73 -0
- package/plugins/lavra/skills/create-agent-skills/templates/simple-skill.md +33 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-reference.md +55 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-script.md +59 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-template.md +51 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-workflow.md +54 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/audit-skill.md +63 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +68 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/create-new-skill.md +92 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/get-guidance.md +70 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/upgrade-to-router.md +68 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/verify-skill.md +63 -0
- package/plugins/lavra/skills/file-todos/SKILL.md +252 -0
- package/plugins/lavra/skills/file-todos/assets/todo-template.md +155 -0
- package/plugins/lavra/skills/git-worktree/SKILL.md +303 -0
- package/plugins/lavra/skills/git-worktree/scripts/worktree-manager.sh +345 -0
- package/plugins/lavra/skills/lavra-knowledge/SKILL.md +460 -0
- package/plugins/lavra/skills/lavra-knowledge/references/jsonl-schema.md +104 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/SKILL.md +184 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/database-adapters.md +231 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/module-organization.md +121 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/rails-integration.md +183 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/resources.md +119 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/SKILL.md +185 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/architecture.md +653 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/controllers.md +303 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/frontend.md +510 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/gems.md +266 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/models.md +359 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/testing.md +338 -0
- package/plugins/lavra/skills/optional/dspy-ruby/SKILL.md +737 -0
- package/plugins/lavra/skills/optional/dspy-ruby/assets/config-template.rb +187 -0
- package/plugins/lavra/skills/optional/dspy-ruby/assets/module-template.rb +300 -0
- package/plugins/lavra/skills/optional/dspy-ruby/assets/signature-template.rb +221 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/core-concepts.md +674 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/observability.md +366 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/optimization.md +603 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/providers.md +418 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/toolsets.md +502 -0
- package/plugins/lavra/skills/optional/every-style-editor/SKILL.md +134 -0
- package/plugins/lavra/skills/optional/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
- package/plugins/lavra/skills/optional/frontend-design/SKILL.md +42 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/SKILL.md +238 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/requirements.txt +2 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/compose_images.py +157 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/edit_image.py +144 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/gemini_images.py +263 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/generate_image.py +133 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
- package/plugins/lavra/skills/optional/rclone/SKILL.md +151 -0
- package/plugins/lavra/skills/optional/rclone/scripts/check_setup.sh +60 -0
- package/plugins/lavra/skills/project-setup/SKILL.md +414 -0
- package/plugins/lavra/tests/build-index.sh +116 -0
- package/plugins/lavra/tests/recall-bench.sh +224 -0
- package/plugins/lavra/tests/search-fts5.sh +65 -0
- package/plugins/lavra/tests/search-grep.sh +54 -0
- package/plugins/lavra/tests/test-queries.jsonl +25 -0
- package/scripts/apply-context-optimizations.py +345 -0
- package/scripts/convert-cortex.ts +257 -0
- package/scripts/convert-gemini.ts +369 -0
- package/scripts/convert-opencode.ts +313 -0
- package/scripts/package.json +27 -0
- package/scripts/pre-release-check.sh +176 -0
- package/scripts/select-opencode-models.sh +178 -0
- package/scripts/shared/model-config.json +17 -0
- package/scripts/shared/model-mapping.ts +129 -0
- package/scripts/shared/security.ts +97 -0
- package/scripts/shared/yaml-parser.ts +55 -0
- package/scripts/sqlite-to-jsonl.py +207 -0
- package/scripts/test-compatibility.ts +539 -0
- package/scripts/test-features.sh +342 -0
- package/scripts/test-installation.sh +514 -0
- package/scripts/test-security.ts +275 -0
- package/scripts/trim-agent-descriptions.py +177 -0
- package/uninstall.sh +133 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: lavra-ship.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: lavra-ship
|
|
7
|
+
description: Fully automated ship sequence from code-ready to PR-open with beads closed and knowledge captured
|
|
8
|
+
argument-hint: "[bead ID or branch name]"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Fully automated ship sequence. One command to go from "code is ready" to "PR is open, beads are closed, knowledge is captured." Procedural and deterministic -- every step either passes or the pipeline halts with a clear reason.
|
|
13
|
+
</objective>
|
|
14
|
+
|
|
15
|
+
<execution_context>
|
|
16
|
+
<ship_target> #$ARGUMENTS </ship_target>
|
|
17
|
+
|
|
18
|
+
<requirements>
|
|
19
|
+
- Git repository with GitHub CLI (`gh`) installed and authenticated
|
|
20
|
+
- `bd` CLI installed for bead management
|
|
21
|
+
- Code changes already committed or staged (this is a ship command, not a work command)
|
|
22
|
+
</requirements>
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
|
|
27
|
+
### Phase 1: Pre-Flight Checks
|
|
28
|
+
|
|
29
|
+
Validate that the workspace is in a shippable state. Any failure here halts the pipeline.
|
|
30
|
+
|
|
31
|
+
1. **Branch Safety**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
current_branch=$(git branch --show-current)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If `current_branch` is `main` or `master`: HALT. Print "Cannot ship from main/master. Create a feature branch first." Do not proceed.
|
|
38
|
+
|
|
39
|
+
2. **Working Tree Status**
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
git status --porcelain
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If there are uncommitted changes:
|
|
46
|
+
- Show the list of modified/untracked files
|
|
47
|
+
- Ask: "There are uncommitted changes. Commit them now before shipping?"
|
|
48
|
+
- If yes: stage relevant files, create a commit with a conventional message
|
|
49
|
+
- If no: HALT. Print "Uncommitted changes must be resolved before shipping."
|
|
50
|
+
|
|
51
|
+
3. **Bead Status**
|
|
52
|
+
|
|
53
|
+
If a bead ID was provided as argument, use that. Otherwise, detect from branch name or in-progress beads:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Try branch name first (bd-{ID}/... pattern)
|
|
57
|
+
bead_id=$(echo "$current_branch" | grep -oE 'bd-[a-z0-9-]+' | head -1)
|
|
58
|
+
|
|
59
|
+
# Fall back to in-progress beads
|
|
60
|
+
if [ -z "$bead_id" ]; then
|
|
61
|
+
bd list --status=in_progress --json | jq -r '.[].id'
|
|
62
|
+
fi
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If beads are still `in_progress`:
|
|
66
|
+
- List them with titles
|
|
67
|
+
- Warn: "These beads are still in_progress. They will be closed after the PR is created."
|
|
68
|
+
- Proceed (this is a warning, not a blocker)
|
|
69
|
+
|
|
70
|
+
If no beads are found: proceed without bead tracking (branch-only ship).
|
|
71
|
+
|
|
72
|
+
### Phase 2: Sync with Upstream
|
|
73
|
+
|
|
74
|
+
Rebase onto the latest default branch to avoid merge conflicts in the PR.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
default_branch=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
|
|
78
|
+
if [ -z "$default_branch" ]; then
|
|
79
|
+
default_branch=$(git rev-parse --verify origin/main >/dev/null 2>&1 && echo "main" || echo "master")
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
git fetch origin "$default_branch"
|
|
83
|
+
git rebase "origin/$default_branch"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
If rebase conflicts occur: HALT. Print the conflicting files and instruct:
|
|
87
|
+
- "Rebase conflicts detected. Resolve conflicts, then run `git rebase --continue` and re-run /lavra-ship."
|
|
88
|
+
|
|
89
|
+
Do not force-push. Do not skip the rebase.
|
|
90
|
+
|
|
91
|
+
### Phase 3: Run Tests
|
|
92
|
+
|
|
93
|
+
Auto-detect the project's test runner and execute it. If no test runner is found, skip with a note.
|
|
94
|
+
|
|
95
|
+
**Detection order** (check for existence, run the first match):
|
|
96
|
+
|
|
97
|
+
| Check | Command |
|
|
98
|
+
|-------|---------|
|
|
99
|
+
| `package.json` has `"test"` script | `npm test` or `yarn test` or `bun test` |
|
|
100
|
+
| `package.json` has `"check"` script | `npm run check` |
|
|
101
|
+
| `Makefile` has `test` target | `make test` |
|
|
102
|
+
| `pytest.ini`, `pyproject.toml` with pytest, or `tests/` dir with Python files | `pytest` |
|
|
103
|
+
| `Gemfile` with rspec or `spec/` dir | `bundle exec rspec` |
|
|
104
|
+
| `Cargo.toml` | `cargo test` |
|
|
105
|
+
| `go.mod` | `go test ./...` |
|
|
106
|
+
| `.github/workflows/` with test jobs | Note: "CI will run tests. Skipping local test run." |
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Detect and run (pseudo-code -- implement the detection logic)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If tests fail: HALT. Print the failure output. Do not proceed -- broken code does not ship.
|
|
113
|
+
|
|
114
|
+
If no test runner detected: print "No test runner detected. Skipping local tests." and proceed.
|
|
115
|
+
|
|
116
|
+
### Phase 4: Pre-Landing Review Gate
|
|
117
|
+
|
|
118
|
+
Run a lightweight review focused on ship-blockers only. This is NOT a full /lavra-review -- it checks for things that should never ship.
|
|
119
|
+
|
|
120
|
+
**4a. Goal Verification** *(skippable via `lavra.json` `workflow.goal_verification: false`)*
|
|
121
|
+
|
|
122
|
+
Read workflow config:
|
|
123
|
+
```bash
|
|
124
|
+
[ -f .lavra/config/lavra.json ] && cat .lavra/config/lavra.json
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Parse `model_profile` from the config (default: `"balanced"`). For each bead being shipped that has a `## Validation` section, dispatch the `goal-verifier` agent. Add `model: opus` when `model_profile` is `"quality"`:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Task(goal-verifier, "Verify goal completion for {BEAD_ID}. Validation criteria: {validation section}. What section: {what section}.")
|
|
131
|
+
-- add model: opus if profile=quality
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Interpret results:**
|
|
135
|
+
- Exists-level failures → CRITICAL (halt the ship)
|
|
136
|
+
- Substantive-level failures → CRITICAL (halt the ship)
|
|
137
|
+
- Wired-level failures → WARNING (proceed but include in PR body)
|
|
138
|
+
|
|
139
|
+
Store goal verification results for the PR body.
|
|
140
|
+
|
|
141
|
+
**4b. Security & Quality Scan**
|
|
142
|
+
|
|
143
|
+
Scan the diff for:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
git diff "origin/$default_branch"...HEAD
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Check for these categories:**
|
|
150
|
+
|
|
151
|
+
1. **Security issues**: hardcoded secrets, API keys, passwords, tokens, private keys in the diff
|
|
152
|
+
2. **Debug leftovers**: `console.log`, `debugger`, `binding.pry`, `byebug`, `import pdb`, `print(` used for debugging, `TODO: remove`
|
|
153
|
+
3. **Hardcoded values**: localhost URLs, hardcoded IPs, test credentials that should be environment variables
|
|
154
|
+
4. **Unresolved conflicts**: `<<<<<<<`, `=======`, `>>>>>>>`
|
|
155
|
+
|
|
156
|
+
**Severity classification:**
|
|
157
|
+
|
|
158
|
+
- CRITICAL (halts the ship): secrets, unresolved conflicts, credentials
|
|
159
|
+
- WARNING (noted but proceeds): debug leftovers, TODOs, hardcoded localhost
|
|
160
|
+
|
|
161
|
+
If CRITICAL issues found: HALT. List each issue with file and line number. Print "Critical issues must be resolved before shipping."
|
|
162
|
+
|
|
163
|
+
If only WARNING issues: print the warnings, then proceed. Include them in the PR description.
|
|
164
|
+
|
|
165
|
+
### Phase 5: Create PR
|
|
166
|
+
|
|
167
|
+
Generate the PR from the accumulated context.
|
|
168
|
+
|
|
169
|
+
1. **Gather PR context**
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Commits on this branch not in default branch
|
|
173
|
+
git log --oneline "origin/$default_branch"..HEAD
|
|
174
|
+
|
|
175
|
+
# Files changed
|
|
176
|
+
git diff --stat "origin/$default_branch"...HEAD
|
|
177
|
+
|
|
178
|
+
# Bead titles (if beads were found)
|
|
179
|
+
bd show {BEAD_ID} --json | jq -r '.title'
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
2. **Generate PR title**
|
|
183
|
+
|
|
184
|
+
- If single bead: use bead title, prefixed with bead ID
|
|
185
|
+
- If multiple beads: summarize the common theme
|
|
186
|
+
- If no beads: derive from branch name, converting hyphens to spaces
|
|
187
|
+
- Keep under 70 characters
|
|
188
|
+
|
|
189
|
+
3. **Push and create PR**
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
git push -u origin "$current_branch"
|
|
193
|
+
|
|
194
|
+
gh pr create --title "{generated title}" --body "$(cat <<'PRBODY'
|
|
195
|
+
## Summary
|
|
196
|
+
|
|
197
|
+
{1-3 bullet points describing what changed and why}
|
|
198
|
+
|
|
199
|
+
## Beads Addressed
|
|
200
|
+
|
|
201
|
+
{list of bead IDs and titles, or "N/A" if no beads}
|
|
202
|
+
|
|
203
|
+
## Goal Verification
|
|
204
|
+
|
|
205
|
+
{goal-verifier results table, or "Skipped (no Validation sections)" or "Disabled via lavra.json"}
|
|
206
|
+
|
|
207
|
+
## Deviations
|
|
208
|
+
|
|
209
|
+
{count} deviation(s) logged during implementation:
|
|
210
|
+
{list of DEVIATION: comments from beads, or "None"}
|
|
211
|
+
|
|
212
|
+
## Test Results
|
|
213
|
+
|
|
214
|
+
{test runner output summary, or "No local test runner detected -- relying on CI"}
|
|
215
|
+
|
|
216
|
+
## Review Notes
|
|
217
|
+
|
|
218
|
+
{any WARNING items from Phase 4, or "No issues detected"}
|
|
219
|
+
|
|
220
|
+
## Changes
|
|
221
|
+
|
|
222
|
+
{git diff --stat summary}
|
|
223
|
+
PRBODY
|
|
224
|
+
)"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Capture and store the PR URL from the output.
|
|
228
|
+
|
|
229
|
+
### Phase 6: Close Beads and Capture Knowledge
|
|
230
|
+
|
|
231
|
+
For each bead that was in_progress:
|
|
232
|
+
|
|
233
|
+
1. **Check for knowledge comments**
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
bd show {BEAD_ID} | grep -cE "LEARNED:|DECISION:|FACT:|PATTERN:|INVESTIGATION:|DEVIATION:"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
If zero knowledge comments exist on the bead: log at least one before closing.
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
bd comments add {BEAD_ID} "LEARNED: {most significant insight from the work}"
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
2. **Close the bead**
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
bd close {BEAD_ID} --reason="Shipped in PR {PR_URL}"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
3. **Check for compound-worthy findings**
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
bd show {BEAD_ID} | grep -cE "LEARNED:|INVESTIGATION:"
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
If LEARNED or INVESTIGATION comments exist, note this for the summary -- the user may want to run /lavra-compound later to extract reusable knowledge.
|
|
258
|
+
|
|
259
|
+
### Phase 7: Push Beads Backup
|
|
260
|
+
|
|
261
|
+
Persist the bead state so it survives across machines and sessions.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
bd backup
|
|
265
|
+
git add .beads/backup/
|
|
266
|
+
git commit -m "chore: sync beads backup after shipping"
|
|
267
|
+
git push
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Phase 8: Summary
|
|
271
|
+
|
|
272
|
+
Print a concise ship report:
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
## Ship Complete
|
|
276
|
+
|
|
277
|
+
**PR:** {PR_URL}
|
|
278
|
+
**Branch:** {current_branch} -> {default_branch}
|
|
279
|
+
|
|
280
|
+
### Beads Closed
|
|
281
|
+
- {BEAD_ID}: {title}
|
|
282
|
+
- {BEAD_ID}: {title}
|
|
283
|
+
(or "No beads tracked for this ship")
|
|
284
|
+
|
|
285
|
+
### Knowledge Captured
|
|
286
|
+
- {count} knowledge entries logged across {count} beads
|
|
287
|
+
(or "No knowledge entries -- consider running /lavra-compound")
|
|
288
|
+
|
|
289
|
+
### Warnings
|
|
290
|
+
- {any WARNING items from Phase 4}
|
|
291
|
+
(or "None")
|
|
292
|
+
|
|
293
|
+
### Suggested Follow-ups
|
|
294
|
+
- Review the PR: {PR_URL}
|
|
295
|
+
- Run /lavra-compound to extract reusable knowledge (if LEARNED/INVESTIGATION comments found)
|
|
296
|
+
- Monitor CI results: gh pr checks {PR_NUMBER}
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
</process>
|
|
300
|
+
|
|
301
|
+
<success_criteria>
|
|
302
|
+
- [ ] Branch is not main/master
|
|
303
|
+
- [ ] No uncommitted changes at ship time
|
|
304
|
+
- [ ] Rebased on latest default branch without conflicts
|
|
305
|
+
- [ ] Tests pass (or no test runner detected)
|
|
306
|
+
- [ ] No critical security or quality issues in the diff
|
|
307
|
+
- [ ] PR created with descriptive title and body
|
|
308
|
+
- [ ] All in_progress beads closed with reason linking to PR
|
|
309
|
+
- [ ] At least one knowledge comment per closed bead
|
|
310
|
+
- [ ] Beads backup pushed to remote
|
|
311
|
+
- [ ] Summary printed with PR URL and next steps
|
|
312
|
+
</success_criteria>
|
|
313
|
+
|
|
314
|
+
<guardrails>
|
|
315
|
+
|
|
316
|
+
### Never Force-Push
|
|
317
|
+
Use `git push`, never `git push --force` or `git push --force-with-lease`. If the push fails, diagnose and fix -- do not override.
|
|
318
|
+
|
|
319
|
+
### Never Push to Main/Master
|
|
320
|
+
If the current branch is main or master, halt immediately. Ship creates PRs, it does not push directly to protected branches.
|
|
321
|
+
|
|
322
|
+
### Stop on Test Failures
|
|
323
|
+
If tests fail, the pipeline halts. Do not skip tests, do not ignore failures. Broken code does not ship.
|
|
324
|
+
|
|
325
|
+
### Stop on Critical Review Findings
|
|
326
|
+
Secrets, credentials, and unresolved merge conflicts are ship-blockers. The pipeline halts until they are resolved.
|
|
327
|
+
|
|
328
|
+
### Do Not Substitute for Full Review
|
|
329
|
+
Phase 4 is a safety net, not a code review. It catches ship-blockers only. For thorough review, use /lavra-review before or after /lavra-ship.
|
|
330
|
+
|
|
331
|
+
### Bead Closure is Permanent
|
|
332
|
+
Beads are closed with a reason linking to the PR. If the PR is later rejected, the user must manually reopen beads. This command does not handle PR rejection workflows.
|
|
333
|
+
|
|
334
|
+
</guardrails>
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: lavra-triage.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: lavra-triage
|
|
7
|
+
description: Triage and categorize beads for prioritization
|
|
8
|
+
argument-hint: "[bead ID or empty]"
|
|
9
|
+
disable-model-invocation: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Present all findings, decisions, or issues one by one for triage. Go through each bead and decide whether to keep, modify, dismiss, or defer it. Useful for triaging code review findings, security audit results, performance analysis, or any categorized findings that need tracking.
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<execution_context>
|
|
17
|
+
<bead_input> #$ARGUMENTS </bead_input>
|
|
18
|
+
|
|
19
|
+
**First, determine if the argument is a bead ID or empty:**
|
|
20
|
+
|
|
21
|
+
Check if the argument matches a bead ID pattern:
|
|
22
|
+
- Pattern: lowercase alphanumeric segments separated by hyphens (e.g., `bikiniup-xhr`, `beads-123`, `fix-auth-bug2`)
|
|
23
|
+
- Regex: `^[a-z0-9]+-[a-z0-9]+(-[a-z0-9]+)*$`
|
|
24
|
+
|
|
25
|
+
**If the argument matches a bead ID pattern:**
|
|
26
|
+
|
|
27
|
+
1. Try to load the bead using the Bash tool:
|
|
28
|
+
```bash
|
|
29
|
+
bd show "#$ARGUMENTS" --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. If the bead exists:
|
|
33
|
+
- Extract the `title` and `type` fields from the JSON array (first element)
|
|
34
|
+
- Example: `bd show "#$ARGUMENTS" --json | jq -r '.[0].type'`
|
|
35
|
+
- Announce: "Triaging bead #$ARGUMENTS: {title}"
|
|
36
|
+
|
|
37
|
+
**If the bead is an epic:**
|
|
38
|
+
- List all child beads:
|
|
39
|
+
```bash
|
|
40
|
+
bd list --parent "#$ARGUMENTS" --json
|
|
41
|
+
```
|
|
42
|
+
- Triage the epic's child beads
|
|
43
|
+
|
|
44
|
+
**If the bead is not an epic:**
|
|
45
|
+
- Triage just that single bead
|
|
46
|
+
|
|
47
|
+
3. If the bead doesn't exist (command fails):
|
|
48
|
+
- Report: "Bead ID '#$ARGUMENTS' not found. Please check the ID or provide a valid bead ID."
|
|
49
|
+
- Stop execution
|
|
50
|
+
|
|
51
|
+
**If the argument does NOT match a bead ID pattern (or is empty):**
|
|
52
|
+
- Triage all open beads (original behavior):
|
|
53
|
+
```bash
|
|
54
|
+
bd list --status=open --json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Read each bead's full details:
|
|
58
|
+
```bash
|
|
59
|
+
bd show {BEAD_ID}
|
|
60
|
+
```
|
|
61
|
+
</execution_context>
|
|
62
|
+
|
|
63
|
+
<process>
|
|
64
|
+
|
|
65
|
+
### Step 1: Present Each Bead
|
|
66
|
+
|
|
67
|
+
For each bead, present in this format:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
---
|
|
71
|
+
Bead #X: {BEAD_ID} - [Brief Title]
|
|
72
|
+
|
|
73
|
+
Severity: P1 (CRITICAL) / P2 (IMPORTANT) / P3 (NICE-TO-HAVE)
|
|
74
|
+
|
|
75
|
+
Category: [Security/Performance/Architecture/Bug/Feature/etc.]
|
|
76
|
+
|
|
77
|
+
Description:
|
|
78
|
+
[Detailed explanation from bead description]
|
|
79
|
+
|
|
80
|
+
Location: [file_path:line_number if applicable]
|
|
81
|
+
|
|
82
|
+
Problem Scenario:
|
|
83
|
+
[Step by step what's wrong or could happen]
|
|
84
|
+
|
|
85
|
+
Proposed Solution:
|
|
86
|
+
[How to fix it]
|
|
87
|
+
|
|
88
|
+
Estimated Effort: [Small (< 2 hours) / Medium (2-8 hours) / Large (> 8 hours)]
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
What would you like to do with this bead?
|
|
92
|
+
1. Keep - approve for work
|
|
93
|
+
2. Modify - change priority, description, or details
|
|
94
|
+
3. Dismiss - close/remove this bead
|
|
95
|
+
4. Defer - keep but lower priority
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Step 2: Handle User Decision
|
|
99
|
+
|
|
100
|
+
**When user says "Keep":**
|
|
101
|
+
1. Update bead status to ready: `bd update {BEAD_ID} --status=open`
|
|
102
|
+
2. Confirm: "Approved: `{BEAD_ID}` - {title} -> Ready to work on"
|
|
103
|
+
|
|
104
|
+
**When user says "Modify":**
|
|
105
|
+
- Ask what to modify (priority, description, details)
|
|
106
|
+
- Update the bead: `bd update {BEAD_ID} --priority {N} -d "{new description}"`
|
|
107
|
+
- Present revised version
|
|
108
|
+
- Ask again: Keep/Modify/Dismiss/Defer
|
|
109
|
+
|
|
110
|
+
**When user says "Dismiss":**
|
|
111
|
+
- Close the bead: `bd close {BEAD_ID} --reason "Dismissed during triage"`
|
|
112
|
+
- Log: `bd comments add {BEAD_ID} "DECISION: Dismissed during triage - {reason}"`
|
|
113
|
+
- Skip to next item
|
|
114
|
+
|
|
115
|
+
**When user says "Defer":**
|
|
116
|
+
- Lower priority: `bd update {BEAD_ID} --priority 5`
|
|
117
|
+
- Add tag: `bd update {BEAD_ID} --tags "deferred"`
|
|
118
|
+
- Log: `bd comments add {BEAD_ID} "DECISION: Deferred during triage - {reason}"`
|
|
119
|
+
|
|
120
|
+
### Step 3: Progress Tracking
|
|
121
|
+
|
|
122
|
+
Every time you present a bead, include:
|
|
123
|
+
- **Progress:** X/Y completed (e.g., "3/10 completed")
|
|
124
|
+
|
|
125
|
+
### Step 4: Final Summary
|
|
126
|
+
|
|
127
|
+
After all items processed:
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
## Triage Complete
|
|
131
|
+
|
|
132
|
+
**Total Items:** [X]
|
|
133
|
+
**Kept (ready for work):** [Y]
|
|
134
|
+
**Modified:** [Z]
|
|
135
|
+
**Dismissed:** [A]
|
|
136
|
+
**Deferred:** [B]
|
|
137
|
+
|
|
138
|
+
### Approved Beads (Ready for Work):
|
|
139
|
+
- {BD-XXX}: {title} - Priority {N}
|
|
140
|
+
- {BD-YYY}: {title} - Priority {N}
|
|
141
|
+
|
|
142
|
+
### Dismissed Beads:
|
|
143
|
+
- {BD-ZZZ}: {title} - Reason: {reason}
|
|
144
|
+
|
|
145
|
+
### Deferred Beads:
|
|
146
|
+
- {BD-AAA}: {title} - Reason: {reason}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
</process>
|
|
150
|
+
|
|
151
|
+
<guardrails>
|
|
152
|
+
- DO NOT implement fixes or write code during triage
|
|
153
|
+
- Triage is for decisions only
|
|
154
|
+
- Implementation happens in `/lavra-work`
|
|
155
|
+
</guardrails>
|
|
156
|
+
|
|
157
|
+
<handoff>
|
|
158
|
+
What would you like to do next?
|
|
159
|
+
|
|
160
|
+
1. Run /lavra-work to resolve the approved beads
|
|
161
|
+
2. Run /lavra-work {BEAD_ID} on a specific bead
|
|
162
|
+
3. Nothing for now
|
|
163
|
+
</handoff>
|