javi-forge 0.1.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/.gitignore.template +105 -0
- package/.releaserc +44 -0
- package/README.md +45 -0
- package/ai-config/.skillignore +15 -0
- package/ai-config/AUTO_INVOKE.md +300 -0
- package/ai-config/agents/_TEMPLATE.md +93 -0
- package/ai-config/agents/business/api-designer.md +1657 -0
- package/ai-config/agents/business/business-analyst.md +1331 -0
- package/ai-config/agents/business/product-strategist.md +206 -0
- package/ai-config/agents/business/project-manager.md +178 -0
- package/ai-config/agents/business/requirements-analyst.md +1277 -0
- package/ai-config/agents/business/technical-writer.md +1679 -0
- package/ai-config/agents/creative/ux-designer.md +205 -0
- package/ai-config/agents/data-ai/ai-engineer.md +487 -0
- package/ai-config/agents/data-ai/analytics-engineer.md +953 -0
- package/ai-config/agents/data-ai/data-engineer.md +173 -0
- package/ai-config/agents/data-ai/data-scientist.md +672 -0
- package/ai-config/agents/data-ai/mlops-engineer.md +814 -0
- package/ai-config/agents/data-ai/prompt-engineer.md +772 -0
- package/ai-config/agents/development/angular-expert.md +620 -0
- package/ai-config/agents/development/backend-architect.md +795 -0
- package/ai-config/agents/development/database-specialist.md +212 -0
- package/ai-config/agents/development/frontend-specialist.md +686 -0
- package/ai-config/agents/development/fullstack-engineer.md +668 -0
- package/ai-config/agents/development/golang-pro.md +338 -0
- package/ai-config/agents/development/java-enterprise.md +400 -0
- package/ai-config/agents/development/javascript-pro.md +422 -0
- package/ai-config/agents/development/nextjs-pro.md +474 -0
- package/ai-config/agents/development/python-pro.md +570 -0
- package/ai-config/agents/development/react-pro.md +487 -0
- package/ai-config/agents/development/rust-pro.md +246 -0
- package/ai-config/agents/development/spring-boot-4-expert.md +326 -0
- package/ai-config/agents/development/typescript-pro.md +336 -0
- package/ai-config/agents/development/vue-specialist.md +605 -0
- package/ai-config/agents/infrastructure/cloud-architect.md +472 -0
- package/ai-config/agents/infrastructure/deployment-manager.md +358 -0
- package/ai-config/agents/infrastructure/devops-engineer.md +455 -0
- package/ai-config/agents/infrastructure/incident-responder.md +519 -0
- package/ai-config/agents/infrastructure/kubernetes-expert.md +705 -0
- package/ai-config/agents/infrastructure/monitoring-specialist.md +674 -0
- package/ai-config/agents/infrastructure/performance-engineer.md +658 -0
- package/ai-config/agents/orchestrator.md +241 -0
- package/ai-config/agents/quality/accessibility-auditor.md +1204 -0
- package/ai-config/agents/quality/code-reviewer-compact.md +123 -0
- package/ai-config/agents/quality/code-reviewer.md +363 -0
- package/ai-config/agents/quality/dependency-manager.md +743 -0
- package/ai-config/agents/quality/e2e-test-specialist.md +1005 -0
- package/ai-config/agents/quality/performance-tester.md +1086 -0
- package/ai-config/agents/quality/security-auditor.md +133 -0
- package/ai-config/agents/quality/test-engineer.md +453 -0
- package/ai-config/agents/specialists/api-designer.md +87 -0
- package/ai-config/agents/specialists/backend-architect.md +73 -0
- package/ai-config/agents/specialists/code-reviewer.md +77 -0
- package/ai-config/agents/specialists/db-optimizer.md +75 -0
- package/ai-config/agents/specialists/devops-engineer.md +83 -0
- package/ai-config/agents/specialists/documentation-writer.md +78 -0
- package/ai-config/agents/specialists/frontend-developer.md +75 -0
- package/ai-config/agents/specialists/performance-analyst.md +82 -0
- package/ai-config/agents/specialists/refactor-specialist.md +74 -0
- package/ai-config/agents/specialists/security-auditor.md +74 -0
- package/ai-config/agents/specialists/test-engineer.md +81 -0
- package/ai-config/agents/specialists/ux-consultant.md +76 -0
- package/ai-config/agents/specialized/agent-generator.md +1190 -0
- package/ai-config/agents/specialized/blockchain-developer.md +149 -0
- package/ai-config/agents/specialized/code-migrator.md +892 -0
- package/ai-config/agents/specialized/context-manager.md +978 -0
- package/ai-config/agents/specialized/documentation-writer.md +1078 -0
- package/ai-config/agents/specialized/ecommerce-expert.md +1756 -0
- package/ai-config/agents/specialized/embedded-engineer.md +1714 -0
- package/ai-config/agents/specialized/error-detective.md +1034 -0
- package/ai-config/agents/specialized/fintech-specialist.md +1659 -0
- package/ai-config/agents/specialized/freelance-project-planner-v2.md +1988 -0
- package/ai-config/agents/specialized/freelance-project-planner-v3.md +2136 -0
- package/ai-config/agents/specialized/freelance-project-planner-v4.md +4503 -0
- package/ai-config/agents/specialized/freelance-project-planner.md +722 -0
- package/ai-config/agents/specialized/game-developer.md +1963 -0
- package/ai-config/agents/specialized/healthcare-dev.md +1620 -0
- package/ai-config/agents/specialized/mobile-developer.md +188 -0
- package/ai-config/agents/specialized/parallel-plan-executor.md +506 -0
- package/ai-config/agents/specialized/plan-executor.md +485 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +485 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +3493 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +778 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +918 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +1537 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +2633 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +5610 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +335 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +215 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +260 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +379 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +355 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +279 -0
- package/ai-config/agents/specialized/template-writer.md +347 -0
- package/ai-config/agents/specialized/test-runner.md +99 -0
- package/ai-config/agents/specialized/vibekanban-smart-worker.md +244 -0
- package/ai-config/agents/specialized/wave-executor.md +138 -0
- package/ai-config/agents/specialized/workflow-optimizer.md +1114 -0
- package/ai-config/commands/git/changelog.md +32 -0
- package/ai-config/commands/git/ci-local.md +70 -0
- package/ai-config/commands/git/commit.md +35 -0
- package/ai-config/commands/git/fix-issue.md +23 -0
- package/ai-config/commands/git/pr-create.md +42 -0
- package/ai-config/commands/git/pr-review.md +50 -0
- package/ai-config/commands/git/worktree.md +39 -0
- package/ai-config/commands/refactoring/cleanup.md +24 -0
- package/ai-config/commands/refactoring/dead-code.md +40 -0
- package/ai-config/commands/refactoring/extract.md +31 -0
- package/ai-config/commands/testing/e2e.md +30 -0
- package/ai-config/commands/testing/tdd.md +36 -0
- package/ai-config/commands/testing/test-coverage.md +30 -0
- package/ai-config/commands/testing/test-fix.md +24 -0
- package/ai-config/commands/workflow/generate-agents-md.md +85 -0
- package/ai-config/commands/workflow/planning.md +47 -0
- package/ai-config/commands/workflows/compound.md +89 -0
- package/ai-config/commands/workflows/plan.md +77 -0
- package/ai-config/commands/workflows/review.md +78 -0
- package/ai-config/commands/workflows/work.md +75 -0
- package/ai-config/config.yaml +18 -0
- package/ai-config/hooks/_TEMPLATE.md +96 -0
- package/ai-config/hooks/block-dangerous-commands.md +75 -0
- package/ai-config/hooks/commit-guard.md +90 -0
- package/ai-config/hooks/context-loader.md +73 -0
- package/ai-config/hooks/improve-prompt.md +91 -0
- package/ai-config/hooks/learning-log.md +72 -0
- package/ai-config/hooks/model-router.md +86 -0
- package/ai-config/hooks/secret-scanner.md +64 -0
- package/ai-config/hooks/skill-validator.md +102 -0
- package/ai-config/hooks/task-artifact.md +114 -0
- package/ai-config/hooks/validate-workflow.md +100 -0
- package/ai-config/prompts/base.md +71 -0
- package/ai-config/prompts/modes/debug.md +34 -0
- package/ai-config/prompts/modes/deploy.md +40 -0
- package/ai-config/prompts/modes/research.md +32 -0
- package/ai-config/prompts/modes/review.md +33 -0
- package/ai-config/prompts/review-policy.md +79 -0
- package/ai-config/skills/_TEMPLATE.md +157 -0
- package/ai-config/skills/backend/api-gateway/SKILL.md +254 -0
- package/ai-config/skills/backend/bff-concepts/SKILL.md +239 -0
- package/ai-config/skills/backend/bff-spring/SKILL.md +364 -0
- package/ai-config/skills/backend/chi-router/SKILL.md +396 -0
- package/ai-config/skills/backend/error-handling/SKILL.md +255 -0
- package/ai-config/skills/backend/exceptions-spring/SKILL.md +323 -0
- package/ai-config/skills/backend/fastapi/SKILL.md +302 -0
- package/ai-config/skills/backend/gateway-spring/SKILL.md +390 -0
- package/ai-config/skills/backend/go-backend/SKILL.md +457 -0
- package/ai-config/skills/backend/gradle-multimodule/SKILL.md +274 -0
- package/ai-config/skills/backend/graphql-concepts/SKILL.md +352 -0
- package/ai-config/skills/backend/graphql-spring/SKILL.md +398 -0
- package/ai-config/skills/backend/grpc-concepts/SKILL.md +283 -0
- package/ai-config/skills/backend/grpc-spring/SKILL.md +445 -0
- package/ai-config/skills/backend/jwt-auth/SKILL.md +412 -0
- package/ai-config/skills/backend/notifications-concepts/SKILL.md +259 -0
- package/ai-config/skills/backend/recommendations-concepts/SKILL.md +261 -0
- package/ai-config/skills/backend/search-concepts/SKILL.md +263 -0
- package/ai-config/skills/backend/search-spring/SKILL.md +375 -0
- package/ai-config/skills/backend/spring-boot-4/SKILL.md +172 -0
- package/ai-config/skills/backend/websockets/SKILL.md +532 -0
- package/ai-config/skills/data-ai/ai-ml/SKILL.md +423 -0
- package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +195 -0
- package/ai-config/skills/data-ai/analytics-spring/SKILL.md +340 -0
- package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +440 -0
- package/ai-config/skills/data-ai/langchain/SKILL.md +238 -0
- package/ai-config/skills/data-ai/mlflow/SKILL.md +302 -0
- package/ai-config/skills/data-ai/onnx-inference/SKILL.md +290 -0
- package/ai-config/skills/data-ai/powerbi/SKILL.md +352 -0
- package/ai-config/skills/data-ai/pytorch/SKILL.md +274 -0
- package/ai-config/skills/data-ai/scikit-learn/SKILL.md +321 -0
- package/ai-config/skills/data-ai/vector-db/SKILL.md +301 -0
- package/ai-config/skills/database/graph-databases/SKILL.md +218 -0
- package/ai-config/skills/database/graph-spring/SKILL.md +361 -0
- package/ai-config/skills/database/pgx-postgres/SKILL.md +512 -0
- package/ai-config/skills/database/redis-cache/SKILL.md +343 -0
- package/ai-config/skills/database/sqlite-embedded/SKILL.md +388 -0
- package/ai-config/skills/database/timescaledb/SKILL.md +320 -0
- package/ai-config/skills/docs/api-documentation/SKILL.md +293 -0
- package/ai-config/skills/docs/docs-spring/SKILL.md +377 -0
- package/ai-config/skills/docs/mustache-templates/SKILL.md +190 -0
- package/ai-config/skills/docs/technical-docs/SKILL.md +447 -0
- package/ai-config/skills/frontend/astro-ssr/SKILL.md +441 -0
- package/ai-config/skills/frontend/frontend-design/SKILL.md +54 -0
- package/ai-config/skills/frontend/frontend-web/SKILL.md +368 -0
- package/ai-config/skills/frontend/mantine-ui/SKILL.md +396 -0
- package/ai-config/skills/frontend/tanstack-query/SKILL.md +439 -0
- package/ai-config/skills/frontend/zod-validation/SKILL.md +417 -0
- package/ai-config/skills/frontend/zustand-state/SKILL.md +350 -0
- package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +244 -0
- package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +378 -0
- package/ai-config/skills/infrastructure/devops-infra/SKILL.md +435 -0
- package/ai-config/skills/infrastructure/docker-containers/SKILL.md +420 -0
- package/ai-config/skills/infrastructure/kubernetes/SKILL.md +456 -0
- package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +546 -0
- package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +474 -0
- package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +315 -0
- package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +504 -0
- package/ai-config/skills/mobile/mobile-ionic/SKILL.md +448 -0
- package/ai-config/skills/prompt-improver/SKILL.md +125 -0
- package/ai-config/skills/quality/ghagga-review/SKILL.md +216 -0
- package/ai-config/skills/references/hooks-patterns/SKILL.md +238 -0
- package/ai-config/skills/references/mcp-servers/SKILL.md +275 -0
- package/ai-config/skills/references/plugins-reference/SKILL.md +110 -0
- package/ai-config/skills/references/skills-reference/SKILL.md +420 -0
- package/ai-config/skills/references/subagent-templates/SKILL.md +193 -0
- package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +410 -0
- package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +408 -0
- package/ai-config/skills/systems-iot/rust-systems/SKILL.md +386 -0
- package/ai-config/skills/systems-iot/tokio-async/SKILL.md +324 -0
- package/ai-config/skills/testing/playwright-e2e/SKILL.md +289 -0
- package/ai-config/skills/testing/testcontainers/SKILL.md +299 -0
- package/ai-config/skills/testing/vitest-testing/SKILL.md +381 -0
- package/ai-config/skills/workflow/ci-local-guide/SKILL.md +118 -0
- package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +299 -0
- package/ai-config/skills/workflow/claude-md-improver/SKILL.md +158 -0
- package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +117 -0
- package/ai-config/skills/workflow/git-github/SKILL.md +334 -0
- package/ai-config/skills/workflow/git-github/references/examples.md +160 -0
- package/ai-config/skills/workflow/git-workflow/SKILL.md +214 -0
- package/ai-config/skills/workflow/ide-plugins/SKILL.md +277 -0
- package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +401 -0
- package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +199 -0
- package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +100 -0
- package/ai-config/skills/workflow/verification-before-completion/SKILL.md +73 -0
- package/ai-config/skills/workflow/wave-workflow/SKILL.md +178 -0
- package/ci-local/README.md +170 -0
- package/ci-local/ci-local.sh +297 -0
- package/ci-local/hooks/commit-msg +74 -0
- package/ci-local/hooks/pre-commit +162 -0
- package/ci-local/hooks/pre-push +41 -0
- package/ci-local/install.sh +49 -0
- package/ci-local/semgrep.yml +214 -0
- package/dist/commands/analyze.d.ts +9 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +55 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/analyze.test.d.ts +2 -0
- package/dist/commands/analyze.test.d.ts.map +1 -0
- package/dist/commands/analyze.test.js +145 -0
- package/dist/commands/analyze.test.js.map +1 -0
- package/dist/commands/doctor.d.ts +7 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +158 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.test.d.ts +2 -0
- package/dist/commands/doctor.test.d.ts.map +1 -0
- package/dist/commands/doctor.test.js +200 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +283 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/init.test.d.ts +2 -0
- package/dist/commands/init.test.d.ts.map +1 -0
- package/dist/commands/init.test.js +271 -0
- package/dist/commands/init.test.js.map +1 -0
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +201 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +57 -0
- package/dist/constants.js.map +1 -0
- package/dist/e2e/aggressive.e2e.test.d.ts +2 -0
- package/dist/e2e/aggressive.e2e.test.d.ts.map +1 -0
- package/dist/e2e/aggressive.e2e.test.js +350 -0
- package/dist/e2e/aggressive.e2e.test.js.map +1 -0
- package/dist/e2e/commands.e2e.test.d.ts +2 -0
- package/dist/e2e/commands.e2e.test.d.ts.map +1 -0
- package/dist/e2e/commands.e2e.test.js +213 -0
- package/dist/e2e/commands.e2e.test.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/common.d.ts +17 -0
- package/dist/lib/common.d.ts.map +1 -0
- package/dist/lib/common.js +111 -0
- package/dist/lib/common.js.map +1 -0
- package/dist/lib/common.test.d.ts +2 -0
- package/dist/lib/common.test.d.ts.map +1 -0
- package/dist/lib/common.test.js +316 -0
- package/dist/lib/common.test.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +18 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +61 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +2 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +257 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/template.d.ts +24 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +78 -0
- package/dist/lib/template.js.map +1 -0
- package/dist/lib/template.test.d.ts +2 -0
- package/dist/lib/template.test.d.ts.map +1 -0
- package/dist/lib/template.test.js +201 -0
- package/dist/lib/template.test.js.map +1 -0
- package/dist/types/index.d.ts +48 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/AnalyzeUI.d.ts +7 -0
- package/dist/ui/AnalyzeUI.d.ts.map +1 -0
- package/dist/ui/AnalyzeUI.js +100 -0
- package/dist/ui/AnalyzeUI.js.map +1 -0
- package/dist/ui/App.d.ts +13 -0
- package/dist/ui/App.d.ts.map +1 -0
- package/dist/ui/App.js +100 -0
- package/dist/ui/App.js.map +1 -0
- package/dist/ui/CIContext.d.ts +9 -0
- package/dist/ui/CIContext.d.ts.map +1 -0
- package/dist/ui/CIContext.js +9 -0
- package/dist/ui/CIContext.js.map +1 -0
- package/dist/ui/CISelector.d.ts +8 -0
- package/dist/ui/CISelector.d.ts.map +1 -0
- package/dist/ui/CISelector.js +45 -0
- package/dist/ui/CISelector.js.map +1 -0
- package/dist/ui/Doctor.d.ts +3 -0
- package/dist/ui/Doctor.d.ts.map +1 -0
- package/dist/ui/Doctor.js +89 -0
- package/dist/ui/Doctor.js.map +1 -0
- package/dist/ui/Header.d.ts +8 -0
- package/dist/ui/Header.d.ts.map +1 -0
- package/dist/ui/Header.js +30 -0
- package/dist/ui/Header.js.map +1 -0
- package/dist/ui/MemorySelector.d.ts +8 -0
- package/dist/ui/MemorySelector.d.ts.map +1 -0
- package/dist/ui/MemorySelector.js +46 -0
- package/dist/ui/MemorySelector.js.map +1 -0
- package/dist/ui/NameInput.d.ts +8 -0
- package/dist/ui/NameInput.d.ts.map +1 -0
- package/dist/ui/NameInput.js +69 -0
- package/dist/ui/NameInput.js.map +1 -0
- package/dist/ui/OptionSelector.d.ts +12 -0
- package/dist/ui/OptionSelector.d.ts.map +1 -0
- package/dist/ui/OptionSelector.js +69 -0
- package/dist/ui/OptionSelector.js.map +1 -0
- package/dist/ui/Progress.d.ts +11 -0
- package/dist/ui/Progress.d.ts.map +1 -0
- package/dist/ui/Progress.js +58 -0
- package/dist/ui/Progress.js.map +1 -0
- package/dist/ui/StackSelector.d.ts +9 -0
- package/dist/ui/StackSelector.d.ts.map +1 -0
- package/dist/ui/StackSelector.js +65 -0
- package/dist/ui/StackSelector.js.map +1 -0
- package/dist/ui/Summary.d.ts +12 -0
- package/dist/ui/Summary.d.ts.map +1 -0
- package/dist/ui/Summary.js +114 -0
- package/dist/ui/Summary.js.map +1 -0
- package/dist/ui/SyncUI.d.ts +10 -0
- package/dist/ui/SyncUI.d.ts.map +1 -0
- package/dist/ui/SyncUI.js +64 -0
- package/dist/ui/SyncUI.js.map +1 -0
- package/dist/ui/Welcome.d.ts +7 -0
- package/dist/ui/Welcome.d.ts.map +1 -0
- package/dist/ui/Welcome.js +45 -0
- package/dist/ui/Welcome.js.map +1 -0
- package/dist/ui/theme.d.ts +10 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +9 -0
- package/dist/ui/theme.js.map +1 -0
- package/modules/engram/.gitignore-snippet.txt +6 -0
- package/modules/engram/.mcp-config-snippet.json +11 -0
- package/modules/engram/README.md +146 -0
- package/modules/engram/install-engram.sh +216 -0
- package/modules/ghagga/.env.example +43 -0
- package/modules/ghagga/README.md +153 -0
- package/modules/ghagga/docker-compose.yml +80 -0
- package/modules/ghagga/setup-ghagga.sh +139 -0
- package/modules/memory-simple/.project/NOTES.md +22 -0
- package/modules/memory-simple/README.md +23 -0
- package/modules/obsidian-brain/.obsidian/app.json +23 -0
- package/modules/obsidian-brain/.obsidian/appearance.json +5 -0
- package/modules/obsidian-brain/.obsidian/bookmarks.json +34 -0
- package/modules/obsidian-brain/.obsidian/community-plugins.json +1 -0
- package/modules/obsidian-brain/.obsidian/core-plugins-migration.json +21 -0
- package/modules/obsidian-brain/.obsidian/core-plugins.json +18 -0
- package/modules/obsidian-brain/.obsidian/daily-notes.json +5 -0
- package/modules/obsidian-brain/.obsidian/graph.json +37 -0
- package/modules/obsidian-brain/.obsidian/hotkeys.json +14 -0
- package/modules/obsidian-brain/.obsidian/plugins/dataview/data.json +25 -0
- package/modules/obsidian-brain/.obsidian/plugins/obsidian-kanban/data.json +29 -0
- package/modules/obsidian-brain/.obsidian/plugins/templater-obsidian/data.json +18 -0
- package/modules/obsidian-brain/.obsidian/snippets/project-memory.css +71 -0
- package/modules/obsidian-brain/.obsidian-gitignore-snippet.txt +8 -0
- package/modules/obsidian-brain/.project/Attachments/.gitkeep +0 -0
- package/modules/obsidian-brain/.project/Memory/BLOCKERS.md +78 -0
- package/modules/obsidian-brain/.project/Memory/CONTEXT.md +102 -0
- package/modules/obsidian-brain/.project/Memory/DASHBOARD.md +73 -0
- package/modules/obsidian-brain/.project/Memory/DECISIONS.md +87 -0
- package/modules/obsidian-brain/.project/Memory/KANBAN.md +15 -0
- package/modules/obsidian-brain/.project/Memory/README.md +61 -0
- package/modules/obsidian-brain/.project/Memory/WAVES.md +78 -0
- package/modules/obsidian-brain/.project/Sessions/TEMPLATE.md +99 -0
- package/modules/obsidian-brain/.project/Templates/ADR.md +33 -0
- package/modules/obsidian-brain/.project/Templates/Blocker.md +21 -0
- package/modules/obsidian-brain/.project/Templates/Session.md +88 -0
- package/modules/obsidian-brain/README.md +268 -0
- package/modules/obsidian-brain/new-wave.sh +182 -0
- package/package.json +51 -0
- package/schemas/agent.schema.json +34 -0
- package/schemas/ai-config.schema.json +28 -0
- package/schemas/skill.schema.json +44 -0
- package/src/commands/analyze.test.ts +145 -0
- package/src/commands/analyze.ts +69 -0
- package/src/commands/doctor.test.ts +208 -0
- package/src/commands/doctor.ts +163 -0
- package/src/commands/init.test.ts +298 -0
- package/src/commands/init.ts +285 -0
- package/src/constants.ts +69 -0
- package/src/e2e/aggressive.e2e.test.ts +557 -0
- package/src/e2e/commands.e2e.test.ts +298 -0
- package/src/index.tsx +106 -0
- package/src/lib/common.test.ts +318 -0
- package/src/lib/common.ts +127 -0
- package/src/lib/frontmatter.test.ts +291 -0
- package/src/lib/frontmatter.ts +77 -0
- package/src/lib/template.test.ts +226 -0
- package/src/lib/template.ts +99 -0
- package/src/types/index.ts +53 -0
- package/src/ui/AnalyzeUI.tsx +133 -0
- package/src/ui/App.tsx +175 -0
- package/src/ui/CIContext.tsx +25 -0
- package/src/ui/CISelector.tsx +72 -0
- package/src/ui/Doctor.tsx +122 -0
- package/src/ui/Header.tsx +48 -0
- package/src/ui/MemorySelector.tsx +73 -0
- package/src/ui/NameInput.tsx +82 -0
- package/src/ui/OptionSelector.tsx +100 -0
- package/src/ui/Progress.tsx +88 -0
- package/src/ui/StackSelector.tsx +101 -0
- package/src/ui/Summary.tsx +134 -0
- package/src/ui/Welcome.tsx +54 -0
- package/src/ui/theme.ts +10 -0
- package/stryker.config.json +19 -0
- package/tasks/_TEMPLATE/files-edited.md +3 -0
- package/tasks/_TEMPLATE/plan.md +3 -0
- package/tasks/_TEMPLATE/research.md +3 -0
- package/tasks/_TEMPLATE/verification.md +5 -0
- package/templates/common/dependabot/cargo.yml +11 -0
- package/templates/common/dependabot/github-actions.yml +16 -0
- package/templates/common/dependabot/gomod.yml +15 -0
- package/templates/common/dependabot/gradle.yml +15 -0
- package/templates/common/dependabot/header.yml +3 -0
- package/templates/common/dependabot/maven.yml +15 -0
- package/templates/common/dependabot/npm.yml +20 -0
- package/templates/common/dependabot/pip.yml +11 -0
- package/templates/dependabot.yml +162 -0
- package/templates/github/ci-go.yml +41 -0
- package/templates/github/ci-java.yml +45 -0
- package/templates/github/ci-monorepo.yml +150 -0
- package/templates/github/ci-node.yml +42 -0
- package/templates/github/ci-python.yml +42 -0
- package/templates/github/ci-rust.yml +42 -0
- package/templates/github/dependabot-automerge.yml +40 -0
- package/templates/gitlab/gitlab-ci-go.yml +88 -0
- package/templates/gitlab/gitlab-ci-java.yml +79 -0
- package/templates/gitlab/gitlab-ci-monorepo.yml +126 -0
- package/templates/gitlab/gitlab-ci-node.yml +63 -0
- package/templates/gitlab/gitlab-ci-python.yml +147 -0
- package/templates/gitlab/gitlab-ci-rust.yml +67 -0
- package/templates/global/claude-settings.json +98 -0
- package/templates/global/codex-config.toml +8 -0
- package/templates/global/copilot-instructions/base-rules.instructions.md +13 -0
- package/templates/global/copilot-instructions/sdd-orchestrator.instructions.md +37 -0
- package/templates/global/gemini-commands/cleanup.toml +20 -0
- package/templates/global/gemini-commands/commit.toml +15 -0
- package/templates/global/gemini-commands/dead-code.toml +22 -0
- package/templates/global/gemini-commands/plan.toml +30 -0
- package/templates/global/gemini-commands/review.toml +17 -0
- package/templates/global/gemini-commands/sdd-apply.toml +22 -0
- package/templates/global/gemini-commands/sdd-ff.toml +14 -0
- package/templates/global/gemini-commands/sdd-new.toml +21 -0
- package/templates/global/gemini-commands/sdd-verify.toml +21 -0
- package/templates/global/gemini-commands/tdd.toml +26 -0
- package/templates/global/gemini-settings.json +8 -0
- package/templates/global/opencode-config.json +44 -0
- package/templates/global/sdd-instructions.md +47 -0
- package/templates/global/sdd-orchestrator-claude.md +46 -0
- package/templates/global/sdd-orchestrator-copilot.md +34 -0
- package/templates/renovate.json +69 -0
- package/templates/woodpecker/monorepo/backend.yml +34 -0
- package/templates/woodpecker/monorepo/frontend.yml +34 -0
- package/templates/woodpecker/monorepo/summary.yml +25 -0
- package/templates/woodpecker/woodpecker-go.yml +51 -0
- package/templates/woodpecker/woodpecker-java.yml +67 -0
- package/templates/woodpecker/woodpecker-node.yml +47 -0
- package/templates/woodpecker/woodpecker-python.yml +108 -0
- package/templates/woodpecker/woodpecker-rust.yml +57 -0
- package/tsconfig.json +19 -0
- package/vitest.config.ts +16 -0
- package/workflows/reusable-build-go.yml +111 -0
- package/workflows/reusable-build-java.yml +120 -0
- package/workflows/reusable-build-node.yml +145 -0
- package/workflows/reusable-build-python.yml +159 -0
- package/workflows/reusable-build-rust.yml +135 -0
- package/workflows/reusable-docker.yml +120 -0
- package/workflows/reusable-ghagga-review.yml +165 -0
- package/workflows/reusable-release.yml +91 -0
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-executor
|
|
3
|
+
description: Autonomous execution orchestrator for implementation plans with VibeKanban integration
|
|
4
|
+
trigger: >
|
|
5
|
+
execute plan, plan executor, implementation plan, T-XXX, task execution,
|
|
6
|
+
autonomous execution, commit plan, plan orchestrator, execute next task
|
|
7
|
+
category: specialized
|
|
8
|
+
color: blue
|
|
9
|
+
tools: Task, Bash, Glob, Grep, Read, Write, Edit, MultiEdit, GitHub_MCP
|
|
10
|
+
config:
|
|
11
|
+
model: sonnet
|
|
12
|
+
metadata:
|
|
13
|
+
version: "2.0"
|
|
14
|
+
updated: "2026-02"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
You are an autonomous plan execution orchestrator for the APiGen 3.0 implementation plan. Your responsibility is to execute the 45-task implementation plan with minimal human intervention.
|
|
18
|
+
|
|
19
|
+
## Core Responsibilities
|
|
20
|
+
|
|
21
|
+
### 1. Task Selection & Preparation
|
|
22
|
+
|
|
23
|
+
When asked to execute the plan:
|
|
24
|
+
|
|
25
|
+
1. **Load VibeKanban tools**: `ToolSearch` with query "vibekanban"
|
|
26
|
+
2. **Fetch available tasks**: `mcp__vibe_kanban__list_tasks` with `status='todo'`
|
|
27
|
+
3. **Check dependencies**: Only select tasks where all dependencies are `done`
|
|
28
|
+
4. **Priority order**: Prefer tasks with `priority='high'` first, then by task ID
|
|
29
|
+
5. **Update status**: `mcp__vibe_kanban__update_task` to `status='inprogress'`
|
|
30
|
+
|
|
31
|
+
### 2. Task Implementation Plan Parsing
|
|
32
|
+
|
|
33
|
+
For selected task (e.g., T-001):
|
|
34
|
+
|
|
35
|
+
1. **Read detailed plan**: `Read` file `docs/implementation-plan/Phases/QX-2026/Tasks/T-001-*.md`
|
|
36
|
+
2. **Parse commit plan**: Extract all commits from the "Plan de Commits" section
|
|
37
|
+
3. **Extract metadata**: Get estimated commits, files, tests, coverage targets
|
|
38
|
+
4. **Identify dependencies**: Check if all dependency tasks are completed
|
|
39
|
+
|
|
40
|
+
### 3. Sequential Commit Execution
|
|
41
|
+
|
|
42
|
+
For each commit in the plan:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Commit N: `type(scope): description`
|
|
46
|
+
├─ Files: [file1.java, file2.java, ...]
|
|
47
|
+
├─ Changes: [code snippet or description]
|
|
48
|
+
├─ Tests: [test files to create]
|
|
49
|
+
└─ Coverage: XX%
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Execute in this order:**
|
|
53
|
+
|
|
54
|
+
#### Step 1: Pre-Commit Preparation
|
|
55
|
+
```bash
|
|
56
|
+
# Verify on correct branch
|
|
57
|
+
git checkout -b feat/T-XXX-feature-name || git checkout feat/T-XXX-feature-name
|
|
58
|
+
|
|
59
|
+
# Ensure clean state
|
|
60
|
+
git status
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Step 2: Implement Changes
|
|
64
|
+
- **Parse commit details** from T-XXX.md
|
|
65
|
+
- **Identify files** to create/modify (listed in commit section)
|
|
66
|
+
- **Delegate to vibekanban-smart-worker**:
|
|
67
|
+
```
|
|
68
|
+
Task(
|
|
69
|
+
subagent_type="vibekanban-smart-worker",
|
|
70
|
+
model="sonnet", # or opus for reviews
|
|
71
|
+
prompt=f"Implement commit {N}: {description}
|
|
72
|
+
Files: {files}
|
|
73
|
+
Changes: {code_snippet}
|
|
74
|
+
Tests: {test_files}"
|
|
75
|
+
)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### Step 3: Verify Compilation
|
|
79
|
+
```bash
|
|
80
|
+
./gradlew spotlessApply
|
|
81
|
+
./gradlew :apigen-<module>:classes --no-daemon
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**If compilation fails:**
|
|
85
|
+
1. Read error logs
|
|
86
|
+
2. Launch `error-detective` agent to analyze
|
|
87
|
+
3. Fix automatically
|
|
88
|
+
4. Retry compilation
|
|
89
|
+
5. If fails 3x → report to user, pause execution
|
|
90
|
+
|
|
91
|
+
#### Step 4: Run Tests
|
|
92
|
+
```bash
|
|
93
|
+
./gradlew :apigen-<module>:test --no-daemon
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**If tests fail:**
|
|
97
|
+
1. Read test failure logs
|
|
98
|
+
2. Analyze with error-detective
|
|
99
|
+
3. Fix implementation
|
|
100
|
+
4. Re-run tests
|
|
101
|
+
5. If fails 3x → report to user, pause execution
|
|
102
|
+
|
|
103
|
+
#### Step 5: Verify Coverage
|
|
104
|
+
```bash
|
|
105
|
+
./gradlew :apigen-<module>:jacocoTestReport
|
|
106
|
+
# Check coverage meets target (usually 80%+)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**If coverage below target:**
|
|
110
|
+
1. Identify uncovered lines
|
|
111
|
+
2. Add missing tests
|
|
112
|
+
3. Re-run test + coverage
|
|
113
|
+
|
|
114
|
+
#### Step 6: Commit
|
|
115
|
+
```bash
|
|
116
|
+
git add <files from commit plan>
|
|
117
|
+
git commit -m "type(scope): description
|
|
118
|
+
|
|
119
|
+
Co-Authored-By: NEVER ADD THIS - USER IS SOLE AUTHOR"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**CRITICAL**: NEVER mention Claude, AI, or co-authorship in commits!
|
|
123
|
+
|
|
124
|
+
#### Step 7: Progress Update
|
|
125
|
+
Update VibeKanban task description with progress:
|
|
126
|
+
```
|
|
127
|
+
## Progress
|
|
128
|
+
- ✅ Commit 1/20: feat(graphql): add subscription infrastructure
|
|
129
|
+
- ✅ Commit 2/20: feat(graphql): create SubscriptionPublisher
|
|
130
|
+
- 🔄 Commit 3/20: test(graphql): add SubscriptionPublisher tests (in progress)
|
|
131
|
+
- ⏳ Commit 4/20: pending
|
|
132
|
+
...
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 4. Task Completion
|
|
136
|
+
|
|
137
|
+
When all commits are done:
|
|
138
|
+
|
|
139
|
+
1. **Final verification**:
|
|
140
|
+
```bash
|
|
141
|
+
./gradlew spotlessApply
|
|
142
|
+
./gradlew :apigen-<module>:build --no-daemon
|
|
143
|
+
./gradlew :apigen-<module>:test --no-daemon
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
2. **Create PR** (if requested):
|
|
147
|
+
```bash
|
|
148
|
+
git push -u origin feat/T-XXX-feature-name
|
|
149
|
+
gh pr create --title "[T-XXX] Feature title" --body "$(cat <<'EOF'
|
|
150
|
+
## Summary
|
|
151
|
+
- Implemented feature X
|
|
152
|
+
- Added Y tests
|
|
153
|
+
- Coverage: Z%
|
|
154
|
+
|
|
155
|
+
## Commits
|
|
156
|
+
- 20 commits following conventional format
|
|
157
|
+
|
|
158
|
+
## Testing
|
|
159
|
+
- All tests passing
|
|
160
|
+
- Coverage above threshold
|
|
161
|
+
|
|
162
|
+
## Related Task
|
|
163
|
+
- VibeKanban task: T-XXX
|
|
164
|
+
EOF
|
|
165
|
+
)"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
3. **Update VibeKanban**:
|
|
169
|
+
```
|
|
170
|
+
mcp__vibe_kanban__update_task(
|
|
171
|
+
task_id=task_uuid,
|
|
172
|
+
status='inreview' # or 'done' if no PR needed
|
|
173
|
+
)
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
4. **Verify CI** (if PR created):
|
|
177
|
+
- Check CI status: `gh pr view <number> --json statusCheckRollup`
|
|
178
|
+
- If fails: analyze, fix, push
|
|
179
|
+
- If passes: update to `status='done'`
|
|
180
|
+
|
|
181
|
+
### 5. Error Handling & Recovery
|
|
182
|
+
|
|
183
|
+
#### Compilation Errors
|
|
184
|
+
```
|
|
185
|
+
1. Capture full error output
|
|
186
|
+
2. Launch error-detective agent with context
|
|
187
|
+
3. Apply suggested fixes
|
|
188
|
+
4. Retry (max 3 attempts)
|
|
189
|
+
5. If persistent → report to user with:
|
|
190
|
+
- Error details
|
|
191
|
+
- Attempted fixes
|
|
192
|
+
- Suggested manual intervention
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
#### Test Failures
|
|
196
|
+
```
|
|
197
|
+
1. Identify failing tests
|
|
198
|
+
2. Read test code and failure message
|
|
199
|
+
3. Analyze root cause
|
|
200
|
+
4. Fix implementation or test
|
|
201
|
+
5. Re-run (max 3 attempts)
|
|
202
|
+
6. If persistent → report to user
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### Dependency Issues
|
|
206
|
+
```
|
|
207
|
+
1. Check if dependency is in dependencies block of build.gradle
|
|
208
|
+
2. If missing → add it
|
|
209
|
+
3. Sync Gradle: ./gradlew --refresh-dependencies
|
|
210
|
+
4. Retry compilation
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
#### Git Conflicts
|
|
214
|
+
```
|
|
215
|
+
1. Pull latest from main: git pull origin main
|
|
216
|
+
2. Resolve conflicts automatically where possible
|
|
217
|
+
3. If complex conflicts → report to user
|
|
218
|
+
4. Never force push or lose changes
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### 6. Continuous Progress Reporting
|
|
222
|
+
|
|
223
|
+
Update user every N commits (configurable, default=5):
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
📊 Task Progress: T-001 GraphQL Subscriptions
|
|
227
|
+
|
|
228
|
+
✅ Phase 1: Infrastructure (7/7 commits)
|
|
229
|
+
- Dependencies added
|
|
230
|
+
- SubscriptionPublisher created
|
|
231
|
+
- Tests passing (92% coverage)
|
|
232
|
+
|
|
233
|
+
🔄 Phase 2: Generation (3/8 commits in progress)
|
|
234
|
+
- GraphQLSubscriptionFeature created
|
|
235
|
+
- Templates in progress...
|
|
236
|
+
|
|
237
|
+
⏳ Phase 3: Integration (0/5 commits)
|
|
238
|
+
|
|
239
|
+
Overall: 10/20 commits (50%)
|
|
240
|
+
Time elapsed: 2h 15m
|
|
241
|
+
Est. remaining: ~2h
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Integration with vibekanban-smart-worker
|
|
245
|
+
|
|
246
|
+
This orchestrator **coordinates** execution but **delegates** actual implementation:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
plan-executor (this agent):
|
|
250
|
+
├─ Reads T-XXX.md files
|
|
251
|
+
├─ Parses commit plans
|
|
252
|
+
├─ Manages sequencing
|
|
253
|
+
├─ Validates compilation/tests
|
|
254
|
+
├─ Handles CI verification
|
|
255
|
+
└─ Updates VibeKanban progress
|
|
256
|
+
|
|
257
|
+
vibekanban-smart-worker (delegated):
|
|
258
|
+
├─ Implements each commit
|
|
259
|
+
├─ Writes actual code
|
|
260
|
+
├─ Uses appropriate model (Opus/Haiku/Sonnet)
|
|
261
|
+
├─ Applies code quality standards
|
|
262
|
+
└─ Follows CLAUDE.md rules
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Delegation Pattern
|
|
266
|
+
```python
|
|
267
|
+
# Orchestrator delegates to smart-worker for each commit
|
|
268
|
+
for commit in commit_plan:
|
|
269
|
+
result = Task(
|
|
270
|
+
subagent_type="vibekanban-smart-worker",
|
|
271
|
+
model=determine_model(commit), # sonnet, opus, or haiku
|
|
272
|
+
prompt=build_implementation_prompt(commit),
|
|
273
|
+
description=f"Implement commit {commit.number}"
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
# Orchestrator validates result
|
|
277
|
+
compile_ok = verify_compilation()
|
|
278
|
+
tests_ok = verify_tests()
|
|
279
|
+
|
|
280
|
+
if not (compile_ok and tests_ok):
|
|
281
|
+
fix_and_retry()
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## Autonomous Execution Modes
|
|
285
|
+
|
|
286
|
+
### Mode 1: Full Autonomous (Default)
|
|
287
|
+
```
|
|
288
|
+
"Execute the next task from the implementation plan"
|
|
289
|
+
→ Selects task, executes all commits, creates PR, verifies CI
|
|
290
|
+
→ Minimal user intervention
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Mode 2: Commit-by-Commit
|
|
294
|
+
```
|
|
295
|
+
"Execute next commit from current task"
|
|
296
|
+
→ Executes one commit at a time
|
|
297
|
+
→ User reviews between commits
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Mode 3: Phase-by-Phase
|
|
301
|
+
```
|
|
302
|
+
"Execute Phase 1 of T-001"
|
|
303
|
+
→ Executes all commits in phase 1
|
|
304
|
+
→ Pauses for review before phase 2
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Mode 4: Dry Run
|
|
308
|
+
```
|
|
309
|
+
"Dry run execution of T-001"
|
|
310
|
+
→ Parses plan, shows what would be done
|
|
311
|
+
→ No actual changes
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
## Safety Mechanisms
|
|
315
|
+
|
|
316
|
+
### Pre-Execution Checks
|
|
317
|
+
- ✅ All dependencies completed
|
|
318
|
+
- ✅ Branch doesn't exist (or is current branch)
|
|
319
|
+
- ✅ Working directory is clean
|
|
320
|
+
- ✅ No merge conflicts with main
|
|
321
|
+
|
|
322
|
+
### During Execution
|
|
323
|
+
- ✅ Compilation after every commit
|
|
324
|
+
- ✅ Tests after every commit
|
|
325
|
+
- ✅ Coverage validation
|
|
326
|
+
- ✅ No force operations
|
|
327
|
+
|
|
328
|
+
### Post-Execution
|
|
329
|
+
- ✅ Full test suite passes
|
|
330
|
+
- ✅ Code formatted (spotlessApply)
|
|
331
|
+
- ✅ PR created if needed
|
|
332
|
+
- ✅ CI checks passing
|
|
333
|
+
|
|
334
|
+
### Abort Conditions
|
|
335
|
+
Stop execution and report to user if:
|
|
336
|
+
- ❌ Compilation fails 3x
|
|
337
|
+
- ❌ Tests fail 3x
|
|
338
|
+
- ❌ Coverage below threshold after fixes
|
|
339
|
+
- ❌ Git conflicts can't be auto-resolved
|
|
340
|
+
- ❌ CI checks fail 3x after auto-fixes
|
|
341
|
+
|
|
342
|
+
## Example Execution Flow
|
|
343
|
+
|
|
344
|
+
```
|
|
345
|
+
User: "Execute the next available task from the implementation plan"
|
|
346
|
+
|
|
347
|
+
Agent (plan-executor):
|
|
348
|
+
1. ✅ Loading VibeKanban...
|
|
349
|
+
2. ✅ Found 45 tasks, 3 are 'todo' with no dependencies
|
|
350
|
+
3. ✅ Selected T-001: GraphQL Subscriptions (priority: high)
|
|
351
|
+
4. ✅ Updated status: todo → inprogress
|
|
352
|
+
5. ✅ Reading plan: docs/implementation-plan/Phases/Q1-2026/Tasks/T-001-graphql-subscriptions.md
|
|
353
|
+
6. ✅ Found 20 commits to execute
|
|
354
|
+
|
|
355
|
+
📋 Task: T-001 GraphQL Subscriptions
|
|
356
|
+
🎯 Goal: Generate GraphQL Subscriptions for real-time updates
|
|
357
|
+
📊 Commits: 20 | Estimated: 2-3 weeks
|
|
358
|
+
🌿 Branch: feat/T-001-graphql-subscriptions
|
|
359
|
+
|
|
360
|
+
Executing Commit 1/20: feat(graphql): add subscription infrastructure dependencies
|
|
361
|
+
|
|
362
|
+
7. ✅ Delegating to vibekanban-smart-worker (model: sonnet)
|
|
363
|
+
8. ✅ Files modified: apigen-graphql/build.gradle
|
|
364
|
+
9. ✅ Dependencies added
|
|
365
|
+
10. ✅ Compilation successful
|
|
366
|
+
11. ✅ Tests passed (no tests for dependencies)
|
|
367
|
+
12. ✅ Committed
|
|
368
|
+
|
|
369
|
+
Executing Commit 2/20: feat(graphql): create SubscriptionPublisher for reactive event streaming
|
|
370
|
+
|
|
371
|
+
13. ✅ Delegating to vibekanban-smart-worker (model: sonnet)
|
|
372
|
+
14. ✅ File created: SubscriptionPublisher.java
|
|
373
|
+
15. ✅ Compilation successful
|
|
374
|
+
16. ✅ Unit tests added (deferred to commit 3)
|
|
375
|
+
17. ✅ Committed
|
|
376
|
+
|
|
377
|
+
[... continues for all 20 commits ...]
|
|
378
|
+
|
|
379
|
+
Executing Commit 20/20: chore(graphql): finalize subscription feature
|
|
380
|
+
|
|
381
|
+
18. ✅ All commits completed
|
|
382
|
+
19. ✅ Running full test suite...
|
|
383
|
+
20. ✅ All tests passed (487 tests)
|
|
384
|
+
21. ✅ Coverage: 89% (above 70% threshold)
|
|
385
|
+
22. ✅ Creating PR...
|
|
386
|
+
23. ✅ PR #156 created
|
|
387
|
+
24. ✅ Waiting for CI...
|
|
388
|
+
25. ✅ CI passed (5/5 checks)
|
|
389
|
+
26. ✅ Updated VibeKanban: inprogress → inreview
|
|
390
|
+
|
|
391
|
+
✅ Task T-001 Complete!
|
|
392
|
+
- 20/20 commits executed
|
|
393
|
+
- All tests passing
|
|
394
|
+
- PR ready for review: #156
|
|
395
|
+
- Time: 2h 47m
|
|
396
|
+
|
|
397
|
+
Next available task: T-002 Contract Testing
|
|
398
|
+
Execute? [yes/no]
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
## Configuration
|
|
402
|
+
|
|
403
|
+
Environment variables (optional):
|
|
404
|
+
```bash
|
|
405
|
+
# VibeKanban project ID
|
|
406
|
+
VIBEKANBAN_PROJECT_ID=uuid-here
|
|
407
|
+
|
|
408
|
+
# Execution mode
|
|
409
|
+
PLAN_EXECUTION_MODE=autonomous # or commit-by-commit, phase-by-phase
|
|
410
|
+
|
|
411
|
+
# Retry limits
|
|
412
|
+
MAX_COMPILATION_RETRIES=3
|
|
413
|
+
MAX_TEST_RETRIES=3
|
|
414
|
+
MAX_CI_RETRIES=3
|
|
415
|
+
|
|
416
|
+
# Auto-create PRs
|
|
417
|
+
AUTO_CREATE_PR=true
|
|
418
|
+
|
|
419
|
+
# Progress reporting frequency
|
|
420
|
+
REPORT_EVERY_N_COMMITS=5
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Output Format
|
|
424
|
+
|
|
425
|
+
### Progress Updates
|
|
426
|
+
```
|
|
427
|
+
📊 Task: T-XXX
|
|
428
|
+
Status: Phase Y (commit Z/N)
|
|
429
|
+
Time: Xh Ym
|
|
430
|
+
Coverage: XX%
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### Completion Report
|
|
434
|
+
```
|
|
435
|
+
✅ Task Complete: T-XXX
|
|
436
|
+
- Commits: N/N
|
|
437
|
+
- Tests: XXX passing
|
|
438
|
+
- Coverage: XX%
|
|
439
|
+
- PR: #YYY
|
|
440
|
+
- Status: inreview
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### Error Report
|
|
444
|
+
```
|
|
445
|
+
❌ Execution Paused: T-XXX
|
|
446
|
+
Issue: Compilation failed after 3 attempts
|
|
447
|
+
Last error: [error message]
|
|
448
|
+
Attempted fixes:
|
|
449
|
+
1. [fix 1]
|
|
450
|
+
2. [fix 2]
|
|
451
|
+
3. [fix 3]
|
|
452
|
+
|
|
453
|
+
Suggested: [manual intervention needed]
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
## Best Practices
|
|
457
|
+
|
|
458
|
+
1. **Always verify dependencies** before starting a task
|
|
459
|
+
2. **Commit frequently** following the plan's commit structure
|
|
460
|
+
3. **Never skip tests** even if compilation succeeds
|
|
461
|
+
4. **Update VibeKanban** progress regularly
|
|
462
|
+
5. **Report blockers** immediately, don't silently fail
|
|
463
|
+
6. **Preserve git history** - no force push, no rebase without reason
|
|
464
|
+
7. **Follow CLAUDE.md** - especially no AI attribution in commits
|
|
465
|
+
|
|
466
|
+
## Task Metadata Tracking
|
|
467
|
+
|
|
468
|
+
Maintain execution metadata:
|
|
469
|
+
```json
|
|
470
|
+
{
|
|
471
|
+
"task_id": "T-001",
|
|
472
|
+
"status": "in_progress",
|
|
473
|
+
"started_at": "2026-01-29T10:00:00Z",
|
|
474
|
+
"commits_completed": 15,
|
|
475
|
+
"commits_total": 20,
|
|
476
|
+
"current_phase": "Phase 2: Generation",
|
|
477
|
+
"tests_passing": 156,
|
|
478
|
+
"coverage_current": 87,
|
|
479
|
+
"errors_encountered": 2,
|
|
480
|
+
"errors_fixed": 2,
|
|
481
|
+
"estimated_completion": "2h 15m"
|
|
482
|
+
}
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
Update this in VibeKanban task description or in a separate tracking file.
|