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,355 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solo-dev-planner-workflow
|
|
3
|
+
description: "Diagrama de flujo del Solo Dev Planner"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 🎯 Flujo de Uso del Skill Modular
|
|
7
|
+
|
|
8
|
+
## 📁 Estructura de Archivos
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
📂 .claude/agents/specialized/solo-dev-planner/
|
|
12
|
+
│
|
|
13
|
+
├── 📄 solo-dev-planner.md 👈 LOADER (este es el "skill")
|
|
14
|
+
│ │
|
|
15
|
+
│ ├─ Frontmatter YAML:
|
|
16
|
+
│ │ name: solo-dev-planner
|
|
17
|
+
│ │ tools: Read, Write, ...
|
|
18
|
+
│ │
|
|
19
|
+
│ └─ Lógica de router:
|
|
20
|
+
│ "¿Usuario pregunta X? → Lee módulo Y"
|
|
21
|
+
│
|
|
22
|
+
├── 📘 00-INDEX.md (Guía de navegación)
|
|
23
|
+
├── 📗 01-CORE.md (Filosofía + Workflow)
|
|
24
|
+
├── 📙 02-SELF-CORRECTION.md (Auto-fix)
|
|
25
|
+
├── 📕 03-PROGRESSIVE-SETUP.md (MVP/Alpha/Beta)
|
|
26
|
+
├── 📔 04-DEPLOYMENT.md (Koyeb/Railway/Coolify)
|
|
27
|
+
├── 📓 05-TESTING.md (Strategy + Testcontainers)
|
|
28
|
+
└── 📒 06-OPERATIONS.md (DB/Secrets/Monitoring)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🔄 Flujo de Ejecución
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
37
|
+
│ 1. USUARIO INVOCA SKILL │
|
|
38
|
+
└─────────────────────────────────────────────────────────────┘
|
|
39
|
+
▼
|
|
40
|
+
@solo-dev-planner quiero deployar a Koyeb
|
|
41
|
+
▼
|
|
42
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
43
|
+
│ 2. CLAUDE LEE: solo-dev-planner.md (loader) │
|
|
44
|
+
│ ↳ Identifica: "deploy" + "Koyeb" → Necesita módulo 04 │
|
|
45
|
+
└─────────────────────────────────────────────────────────────┘
|
|
46
|
+
▼
|
|
47
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
48
|
+
│ 3. CLAUDE USA TOOL: read │
|
|
49
|
+
│ ↳ Lee archivo: 04-DEPLOYMENT.md (completo) │
|
|
50
|
+
│ ↳ 2,500 líneas sobre deployment │
|
|
51
|
+
└─────────────────────────────────────────────────────────────┘
|
|
52
|
+
▼
|
|
53
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
54
|
+
│ 4. CLAUDE PROCESA CONTENIDO DEL MÓDULO │
|
|
55
|
+
│ ↳ Encuentra sección de Koyeb │
|
|
56
|
+
│ ↳ Extrae setup, configs, comandos │
|
|
57
|
+
└─────────────────────────────────────────────────────────────┘
|
|
58
|
+
▼
|
|
59
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
60
|
+
│ 5. CLAUDE RESPONDE CON INFORMACIÓN DEL MÓDULO │
|
|
61
|
+
│ ↳ "Perfecto, Koyeb es ideal porque..." │
|
|
62
|
+
│ ↳ Pasos de setup │
|
|
63
|
+
│ ↳ Comandos concretos │
|
|
64
|
+
└─────────────────────────────────────────────────────────────┘
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 🎮 Ejemplos Prácticos
|
|
70
|
+
|
|
71
|
+
### Ejemplo 1: Nuevo Proyecto
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
75
|
+
│ Usuario en chat: │
|
|
76
|
+
│ @solo-dev-planner necesito empezar un proyecto TypeScript │
|
|
77
|
+
└──────────────────────────────────────────────────────────────┘
|
|
78
|
+
▼
|
|
79
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
80
|
+
│ Loader (solo-dev-planner.md): │
|
|
81
|
+
│ • Detecta: "empezar proyecto" + "TypeScript" │
|
|
82
|
+
│ • Decision: Necesita 01-CORE + 03-PROGRESSIVE-SETUP │
|
|
83
|
+
└──────────────────────────────────────────────────────────────┘
|
|
84
|
+
▼
|
|
85
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
86
|
+
│ Claude ejecuta (internamente): │
|
|
87
|
+
│ read("solo-dev-planner/01-CORE.md") │
|
|
88
|
+
│ read("solo-dev-planner/03-PROGRESSIVE-SETUP.md") │
|
|
89
|
+
└──────────────────────────────────────────────────────────────┘
|
|
90
|
+
▼
|
|
91
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
92
|
+
│ Claude responde: │
|
|
93
|
+
│ │
|
|
94
|
+
│ "¡Perfecto! Vamos a usar Progressive Setup para empezar │
|
|
95
|
+
│ rápido. Puedes estar codeando en 15 minutos. │
|
|
96
|
+
│ │
|
|
97
|
+
│ FASE 1: MVP (5-15 minutos) │
|
|
98
|
+
│ ================================ │
|
|
99
|
+
│ │
|
|
100
|
+
│ 1. Instalar Mise: │
|
|
101
|
+
│ brew install mise │
|
|
102
|
+
│ │
|
|
103
|
+
│ 2. Setup del proyecto: │
|
|
104
|
+
│ mise run setup:mvp │
|
|
105
|
+
│ │
|
|
106
|
+
│ 3. Esto configura: │
|
|
107
|
+
│ ✓ Node 20 con Bun │
|
|
108
|
+
│ ✓ SQLite local (sin Docker) │
|
|
109
|
+
│ ✓ Git hooks │
|
|
110
|
+
│ ✓ .env básico │
|
|
111
|
+
│ │
|
|
112
|
+
│ 4. Iniciar desarrollo: │
|
|
113
|
+
│ mise run dev │
|
|
114
|
+
│ │
|
|
115
|
+
│ ¿Listo para empezar?" │
|
|
116
|
+
└──────────────────────────────────────────────────────────────┘
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Ejemplo 2: Troubleshooting
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
123
|
+
│ Usuario: │
|
|
124
|
+
│ @solo-dev-planner los tests fallan y no sé por qué │
|
|
125
|
+
└──────────────────────────────────────────────────────────────┘
|
|
126
|
+
▼
|
|
127
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
128
|
+
│ Loader: │
|
|
129
|
+
│ • Detecta: "tests fallan" │
|
|
130
|
+
│ • Decision: Necesita 02-SELF-CORRECTION │
|
|
131
|
+
└──────────────────────────────────────────────────────────────┘
|
|
132
|
+
▼
|
|
133
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
134
|
+
│ Claude ejecuta: │
|
|
135
|
+
│ read("solo-dev-planner/02-SELF-CORRECTION.md") │
|
|
136
|
+
└──────────────────────────────────────────────────────────────┘
|
|
137
|
+
▼
|
|
138
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
139
|
+
│ Claude responde: │
|
|
140
|
+
│ │
|
|
141
|
+
│ "Vamos a usar el protocolo de auto-corrección. El skill │
|
|
142
|
+
│ tiene un sistema que intenta arreglar errores común │
|
|
143
|
+
│ automáticamente (hasta 3 intentos). │
|
|
144
|
+
│ │
|
|
145
|
+
│ Ejecuta esto: │
|
|
146
|
+
│ mise run fix:auto │
|
|
147
|
+
│ │
|
|
148
|
+
│ Esto hará: │
|
|
149
|
+
│ 1. Detectar tipo de error (tests) │
|
|
150
|
+
│ 2. Limpiar cache (.pytest_cache, coverage) │
|
|
151
|
+
│ 3. Resetear test database │
|
|
152
|
+
│ 4. Re-ejecutar tests │
|
|
153
|
+
│ │
|
|
154
|
+
│ Si falla después de 3 intentos, el script te mostrará: │
|
|
155
|
+
│ ⛔ BLOCKED: Solicito intervención humana │
|
|
156
|
+
│ │
|
|
157
|
+
│ Y podremos ver el error específico para debuggearlo. │
|
|
158
|
+
│ ¿Ejecuto el comando?" │
|
|
159
|
+
└──────────────────────────────────────────────────────────────┘
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 🧠 Lógica del Loader
|
|
165
|
+
|
|
166
|
+
El archivo `solo-dev-planner.md` funciona como un **router inteligente**:
|
|
167
|
+
|
|
168
|
+
```typescript
|
|
169
|
+
// Pseudocódigo de cómo funciona
|
|
170
|
+
|
|
171
|
+
function handleUserQuery(query: string) {
|
|
172
|
+
// 1. Analizar query
|
|
173
|
+
const intent = analyzeIntent(query);
|
|
174
|
+
|
|
175
|
+
// 2. Mapear a módulo(s)
|
|
176
|
+
const modules = mapToModules(intent);
|
|
177
|
+
|
|
178
|
+
// 3. Leer módulo(s)
|
|
179
|
+
const content = modules.map(m => readFile(m));
|
|
180
|
+
|
|
181
|
+
// 4. Responder
|
|
182
|
+
return generateResponse(content, query);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// Ejemplos de mapeo:
|
|
186
|
+
const moduleMap = {
|
|
187
|
+
"nuevo proyecto": ["01-CORE", "03-PROGRESSIVE-SETUP"],
|
|
188
|
+
"tests fallan": ["02-SELF-CORRECTION"],
|
|
189
|
+
"deployar": ["04-DEPLOYMENT"],
|
|
190
|
+
"configurar DB": ["06-OPERATIONS"],
|
|
191
|
+
"setup rápido": ["03-PROGRESSIVE-SETUP"],
|
|
192
|
+
};
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 📊 Comparación: Antes vs Ahora
|
|
198
|
+
|
|
199
|
+
### ANTES (Skill Monolítico)
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
.claude/agents/specialized/solo-dev-planner.md
|
|
203
|
+
│
|
|
204
|
+
└── 13,241 líneas
|
|
205
|
+
│
|
|
206
|
+
└── Claude lee TODO cada vez (40k tokens)
|
|
207
|
+
↓
|
|
208
|
+
⚠️ Lento (10 segundos)
|
|
209
|
+
⚠️ Costoso en tokens
|
|
210
|
+
⚠️ Difícil de navegar
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### AHORA (Skill Modular)
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
.claude/agents/specialized/solo-dev-planner/
|
|
217
|
+
│
|
|
218
|
+
├── solo-dev-planner.md (loader - 200 líneas)
|
|
219
|
+
│ │
|
|
220
|
+
│ └── Lee SOLO módulo(s) necesario(s)
|
|
221
|
+
│ ↓
|
|
222
|
+
│ ✅ Rápido (2 segundos)
|
|
223
|
+
│ ✅ Eficiente (5k-10k tokens)
|
|
224
|
+
│ ✅ Especializado
|
|
225
|
+
│
|
|
226
|
+
├── 01-CORE.md (3,500 líneas)
|
|
227
|
+
├── 02-SELF-CORRECTION.md (1,800 líneas)
|
|
228
|
+
├── 03-PROGRESSIVE-SETUP.md (2,000 líneas)
|
|
229
|
+
├── 04-DEPLOYMENT.md (2,500 líneas)
|
|
230
|
+
├── 05-TESTING.md (2,200 líneas)
|
|
231
|
+
└── 06-OPERATIONS.md (2,800 líneas)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## 🎯 Ventajas del Sistema Modular
|
|
237
|
+
|
|
238
|
+
### Para el Usuario
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
✅ Mismo comando: @solo-dev-planner
|
|
242
|
+
✅ Respuestas más rápidas
|
|
243
|
+
✅ Más precisas (carga solo lo relevante)
|
|
244
|
+
✅ Fácil actualizar módulos individuales
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Para Claude
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
✅ Menos tokens por query (-75%)
|
|
251
|
+
✅ Carga más rápida (-80%)
|
|
252
|
+
✅ Respuestas más precisas
|
|
253
|
+
✅ Context window optimizado
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Para Mantenimiento
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
✅ Actualizar 1 módulo sin tocar otros
|
|
260
|
+
✅ Agregar nuevos módulos fácilmente
|
|
261
|
+
✅ Debug más simple
|
|
262
|
+
✅ Versionado por módulo
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## 🔍 Cómo Claude Identifica el Módulo
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
// Keywords → Módulos
|
|
271
|
+
const keywordMap = {
|
|
272
|
+
// Nuevo proyecto / Setup
|
|
273
|
+
"nuevo proyecto": ["01-CORE", "03-PROGRESSIVE-SETUP"],
|
|
274
|
+
"empezar": ["01-CORE", "03-PROGRESSIVE-SETUP"],
|
|
275
|
+
"setup": ["03-PROGRESSIVE-SETUP"],
|
|
276
|
+
"mvp": ["03-PROGRESSIVE-SETUP"],
|
|
277
|
+
|
|
278
|
+
// Errores / Troubleshooting
|
|
279
|
+
"error": ["02-SELF-CORRECTION"],
|
|
280
|
+
"falla": ["02-SELF-CORRECTION"],
|
|
281
|
+
"no funciona": ["02-SELF-CORRECTION"],
|
|
282
|
+
"bug": ["02-SELF-CORRECTION"],
|
|
283
|
+
|
|
284
|
+
// Tests
|
|
285
|
+
"test": ["05-TESTING"],
|
|
286
|
+
"testcontainers": ["05-TESTING"],
|
|
287
|
+
"coverage": ["05-TESTING"],
|
|
288
|
+
|
|
289
|
+
// Deploy
|
|
290
|
+
"deploy": ["04-DEPLOYMENT"],
|
|
291
|
+
"koyeb": ["04-DEPLOYMENT"],
|
|
292
|
+
"railway": ["04-DEPLOYMENT"],
|
|
293
|
+
"coolify": ["04-DEPLOYMENT"],
|
|
294
|
+
"producción": ["04-DEPLOYMENT"],
|
|
295
|
+
|
|
296
|
+
// Operations
|
|
297
|
+
"database": ["06-OPERATIONS"],
|
|
298
|
+
"secrets": ["06-OPERATIONS"],
|
|
299
|
+
"monitoring": ["06-OPERATIONS"],
|
|
300
|
+
"migraciones": ["06-OPERATIONS"],
|
|
301
|
+
|
|
302
|
+
// Filosofía
|
|
303
|
+
"filosofía": ["01-CORE"],
|
|
304
|
+
"workflow": ["01-CORE"],
|
|
305
|
+
"atomic sequential": ["01-CORE"],
|
|
306
|
+
};
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 🚀 Resumen Visual
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
┌─────────────────────────────────────────────────────┐
|
|
315
|
+
│ │
|
|
316
|
+
│ Tú escribes: │
|
|
317
|
+
│ @solo-dev-planner <cualquier pregunta> │
|
|
318
|
+
│ │
|
|
319
|
+
└─────────────────────────────────────────────────────┘
|
|
320
|
+
▼
|
|
321
|
+
┌─────────────────────────────────────────────────────┐
|
|
322
|
+
│ │
|
|
323
|
+
│ Claude (automáticamente): │
|
|
324
|
+
│ 1. Lee loader (200 líneas) │
|
|
325
|
+
│ 2. Identifica módulo(s) necesario(s) │
|
|
326
|
+
│ 3. Lee SOLO ese módulo (1,800-3,500 líneas) │
|
|
327
|
+
│ 4. Responde basándose en el módulo │
|
|
328
|
+
│ │
|
|
329
|
+
└─────────────────────────────────────────────────────┘
|
|
330
|
+
▼
|
|
331
|
+
┌─────────────────────────────────────────────────────┐
|
|
332
|
+
│ │
|
|
333
|
+
│ Resultado: │
|
|
334
|
+
│ ✅ Respuesta precisa y detallada │
|
|
335
|
+
│ ✅ En 2 segundos (vs 10 antes) │
|
|
336
|
+
│ ✅ Usando 5k-10k tokens (vs 40k antes) │
|
|
337
|
+
│ ✅ 100% basado en contenido del skill │
|
|
338
|
+
│ │
|
|
339
|
+
└─────────────────────────────────────────────────────┘
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 🎉 ¡Es Transparente para el Usuario!
|
|
345
|
+
|
|
346
|
+
**No cambia nada en tu workflow:**
|
|
347
|
+
|
|
348
|
+
```
|
|
349
|
+
Antes: @solo-dev-planner quiero deployar
|
|
350
|
+
Ahora: @solo-dev-planner quiero deployar
|
|
351
|
+
|
|
352
|
+
Mismo comando, mejores resultados ✅
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**La modularización es interna, invisible para ti, pero hace todo más eficiente.**
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solo-dev-planner
|
|
3
|
+
description: Agente modular para solo developers. Carga módulos según necesidad. Setup en 15 min, deploy global, auto-fix de errores.
|
|
4
|
+
trigger: >
|
|
5
|
+
solo dev, solo developer, indie developer, one-person team, modular planning,
|
|
6
|
+
quick setup, self-correction, auto-fix, developer productivity
|
|
7
|
+
category: specialized
|
|
8
|
+
color: cyan
|
|
9
|
+
tools: Write, Read, MultiEdit, Bash, Grep, Glob, GitHub_MCP
|
|
10
|
+
config:
|
|
11
|
+
model: opus
|
|
12
|
+
mcp_servers:
|
|
13
|
+
- github
|
|
14
|
+
metadata:
|
|
15
|
+
version: "2.0"
|
|
16
|
+
updated: "2026-02"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 🚀 Solo Dev Planner - Skill Modular (Loader)
|
|
20
|
+
|
|
21
|
+
Este es el **skill principal** que carga módulos según necesidad.
|
|
22
|
+
|
|
23
|
+
## 📋 **Instrucciones para Claude**
|
|
24
|
+
|
|
25
|
+
**IMPORTANTE:** Este skill es modular. Los módulos completos están en archivos separados en esta misma carpeta.
|
|
26
|
+
|
|
27
|
+
### **Cuando el usuario pida ayuda, sigue este proceso:**
|
|
28
|
+
|
|
29
|
+
1. **Identifica qué necesita el usuario**
|
|
30
|
+
2. **Lee el(los) módulo(s) relevante(s)**
|
|
31
|
+
3. **Responde basándote en el módulo**
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 📚 **Módulos Disponibles**
|
|
36
|
+
|
|
37
|
+
Todos los módulos están en: `.claude/agents/specialized/solo-dev-planner/`
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
📁 solo-dev-planner/
|
|
41
|
+
├── solo-dev-planner.md ← Estás aquí (loader)
|
|
42
|
+
├── 00-INDEX.md ← Guía de navegación
|
|
43
|
+
├── 01-CORE.md ← Filosofía + Workflow
|
|
44
|
+
├── 02-SELF-CORRECTION.md ← Auto-fix protocol
|
|
45
|
+
├── 03-PROGRESSIVE-SETUP.md ← Setup MVP/Alpha/Beta
|
|
46
|
+
├── 04-DEPLOYMENT.md ← Koyeb/Railway/Coolify
|
|
47
|
+
├── 05-TESTING.md ← Strategy + Testcontainers
|
|
48
|
+
└── 06-OPERATIONS.md ← DB/Secrets/Monitoring
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🎯 **Mapa de Decisión: ¿Qué Módulo Leer?**
|
|
54
|
+
|
|
55
|
+
### **Usuario pregunta sobre:**
|
|
56
|
+
|
|
57
|
+
**"Quiero empezar un proyecto nuevo"**
|
|
58
|
+
→ Lee: `01-CORE.md` + `03-PROGRESSIVE-SETUP.md`
|
|
59
|
+
|
|
60
|
+
**"Tengo errores que no puedo resolver"**
|
|
61
|
+
→ Lee: `02-SELF-CORRECTION.md`
|
|
62
|
+
|
|
63
|
+
**"Necesito configurar tests"**
|
|
64
|
+
→ Lee: `05-TESTING.md`
|
|
65
|
+
|
|
66
|
+
**"Cómo deployar a producción"**
|
|
67
|
+
→ Lee: `04-DEPLOYMENT.md`
|
|
68
|
+
|
|
69
|
+
**"Configurar base de datos / secrets / monitoring"**
|
|
70
|
+
→ Lee: `06-OPERATIONS.md`
|
|
71
|
+
|
|
72
|
+
**"Explicar la filosofía del workflow"**
|
|
73
|
+
→ Lee: `01-CORE.md` (sección Filosofía)
|
|
74
|
+
|
|
75
|
+
**"Setup rápido en 15 minutos"**
|
|
76
|
+
→ Lee: `03-PROGRESSIVE-SETUP.md` (FASE 1: MVP)
|
|
77
|
+
|
|
78
|
+
**"Qué módulo necesito para X"**
|
|
79
|
+
→ Lee: `00-INDEX.md`
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 🔄 **Protocolo de Carga de Módulos**
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
interface ModuleLoader {
|
|
87
|
+
async loadModule(moduleName: string): Promise<Content> {
|
|
88
|
+
// 1. Identificar módulo necesario
|
|
89
|
+
const module = this.identifyModule(userQuery);
|
|
90
|
+
|
|
91
|
+
// 2. Leer archivo del módulo
|
|
92
|
+
const content = await readFile(`solo-dev-planner/${module}.md`);
|
|
93
|
+
|
|
94
|
+
// 3. Procesar y responder
|
|
95
|
+
return this.processAndRespond(content, userQuery);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**SIEMPRE lee el módulo completo antes de responder.**
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 📖 **Contenido Base (Mini-Resumen)**
|
|
105
|
+
|
|
106
|
+
Mientras cargas el módulo completo, aquí tienes un resumen ultra-rápido:
|
|
107
|
+
|
|
108
|
+
### **Filosofía Core**
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
✓ Solo developer workflow
|
|
112
|
+
✓ Atomic Sequential Merges (1 rama → merge rápido)
|
|
113
|
+
✓ WIP Limit = 1 (máximo foco)
|
|
114
|
+
✓ CI como único reviewer
|
|
115
|
+
✓ Setup en 15 minutos (MVP)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### **Stack Moderno por Defecto**
|
|
119
|
+
|
|
120
|
+
| Lenguaje | Tool | Por qué |
|
|
121
|
+
|----------|------|---------|
|
|
122
|
+
| **TypeScript** | Bun + Biome | 10x más rápido |
|
|
123
|
+
| **Python** | uv | 100x más rápido que pip |
|
|
124
|
+
| **Go** | Go 1.25+ | Generics, mejor performance |
|
|
125
|
+
| **Java** | Gradle + Kotlin | Build moderno |
|
|
126
|
+
|
|
127
|
+
### **Workflow Diario**
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# 1. Crear rama
|
|
131
|
+
git checkout develop
|
|
132
|
+
git pull
|
|
133
|
+
git checkout -b feat/01-user-auth
|
|
134
|
+
|
|
135
|
+
# 2. Desarrollar + commits frecuentes
|
|
136
|
+
git add .
|
|
137
|
+
git commit -m "add: User model"
|
|
138
|
+
|
|
139
|
+
# 3. Push + PR
|
|
140
|
+
git push -u origin feat/01-user-auth
|
|
141
|
+
gh pr create --fill
|
|
142
|
+
|
|
143
|
+
# 4. CI pasa → Auto-merge
|
|
144
|
+
# (GitHub auto-merge cuando CI verde)
|
|
145
|
+
|
|
146
|
+
# 5. Siguiente paso
|
|
147
|
+
git checkout develop
|
|
148
|
+
git pull
|
|
149
|
+
git checkout -b feat/02-user-login
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### **Setup Rápido**
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# MVP (15 minutos)
|
|
156
|
+
mise run setup:mvp
|
|
157
|
+
mise run dev
|
|
158
|
+
|
|
159
|
+
# Alpha (cuando estés listo)
|
|
160
|
+
mise run setup:alpha
|
|
161
|
+
|
|
162
|
+
# Beta (pre-producción)
|
|
163
|
+
mise run setup:beta
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🚨 **IMPORTANTE: Siempre Lee el Módulo Completo**
|
|
169
|
+
|
|
170
|
+
**NO respondas solo con este resumen.** Este es solo contexto base.
|
|
171
|
+
|
|
172
|
+
**SIEMPRE:**
|
|
173
|
+
1. Identifica qué módulo(s) necesita el usuario
|
|
174
|
+
2. Lee el archivo completo del módulo
|
|
175
|
+
3. Responde basándote en el contenido del módulo
|
|
176
|
+
|
|
177
|
+
**Ejemplo:**
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Usuario: "Cómo configuro Testcontainers?"
|
|
181
|
+
|
|
182
|
+
Proceso correcto:
|
|
183
|
+
1. Identificar: Necesita módulo 05-TESTING.md
|
|
184
|
+
2. Leer: todo el archivo 05-TESTING.md
|
|
185
|
+
3. Responder: basándote en la sección de Testcontainers
|
|
186
|
+
|
|
187
|
+
Proceso INCORRECTO:
|
|
188
|
+
❌ Responder solo con conocimiento general
|
|
189
|
+
❌ No leer el módulo
|
|
190
|
+
❌ Inventar información
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 🎮 **Comandos Rápidos para el Usuario**
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Setup inicial
|
|
199
|
+
mise run setup # Wizard interactivo
|
|
200
|
+
mise run setup:mvp # Solo MVP (15 min)
|
|
201
|
+
mise run setup:alpha # Upgrade a Alpha
|
|
202
|
+
mise run setup:beta # Upgrade a Beta
|
|
203
|
+
|
|
204
|
+
# Desarrollo
|
|
205
|
+
mise run dev # Iniciar app
|
|
206
|
+
mise run test # Tests
|
|
207
|
+
mise run lint # Linter
|
|
208
|
+
|
|
209
|
+
# Auto-fix (cuando algo falla)
|
|
210
|
+
mise run fix:auto # Auto-detecta y arregla
|
|
211
|
+
|
|
212
|
+
# Deploy
|
|
213
|
+
mise run deploy # Deploy a plataforma configurada
|
|
214
|
+
mise run logs # Ver logs de producción
|
|
215
|
+
|
|
216
|
+
# Context (para Claude Code)
|
|
217
|
+
mise run context # Estado del proyecto en JSON
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 📊 **Troubleshooting Rápido**
|
|
223
|
+
|
|
224
|
+
**Problema:** Tests fallan
|
|
225
|
+
→ **Lee:** `02-SELF-CORRECTION.md` → auto-fix tests
|
|
226
|
+
→ **Ejecuta:** `mise run fix:auto`
|
|
227
|
+
|
|
228
|
+
**Problema:** Lint errors
|
|
229
|
+
→ **Lee:** `02-SELF-CORRECTION.md` → auto-fix lint
|
|
230
|
+
→ **Ejecuta:** `bash scripts/auto-fix.sh lint`
|
|
231
|
+
|
|
232
|
+
**Problema:** Database connection failed
|
|
233
|
+
→ **Lee:** `02-SELF-CORRECTION.md` → auto-fix database
|
|
234
|
+
→ **Ejecuta:** `mise run fix:database`
|
|
235
|
+
|
|
236
|
+
**Problema:** No sé qué módulo necesito
|
|
237
|
+
→ **Lee:** `00-INDEX.md`
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 🎯 **Checklist Pre-Respuesta**
|
|
242
|
+
|
|
243
|
+
Antes de responder al usuario:
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
☑ ¿Identifiqué el módulo correcto?
|
|
247
|
+
☑ ¿Leí el archivo completo del módulo?
|
|
248
|
+
☑ ¿Mi respuesta se basa en el contenido del módulo?
|
|
249
|
+
☑ ¿Necesito leer módulos adicionales?
|
|
250
|
+
☑ ¿Puedo dar ejemplos concretos del módulo?
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 📁 **Estructura de Archivos (Recordatorio)**
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
.claude/agents/specialized/solo-dev-planner/
|
|
259
|
+
├── solo-dev-planner.md ← Loader (este archivo)
|
|
260
|
+
├── 00-INDEX.md ← Guía navegación
|
|
261
|
+
├── 01-CORE.md ← 3,500 líneas
|
|
262
|
+
├── 02-SELF-CORRECTION.md ← 1,800 líneas
|
|
263
|
+
├── 03-PROGRESSIVE-SETUP.md ← 2,000 líneas
|
|
264
|
+
├── 04-DEPLOYMENT.md ← 2,500 líneas
|
|
265
|
+
├── 05-TESTING.md ← 2,200 líneas
|
|
266
|
+
└── 06-OPERATIONS.md ← 2,800 líneas
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 🚀 **¡Listo para Usar!**
|
|
272
|
+
|
|
273
|
+
**Proceso:**
|
|
274
|
+
1. Usuario hace pregunta
|
|
275
|
+
2. Identificas módulo(s) necesario(s)
|
|
276
|
+
3. Lees el módulo completo
|
|
277
|
+
4. Respondes con información del módulo
|
|
278
|
+
|
|
279
|
+
**Recuerda:** Los módulos tienen la información completa y detallada. Este archivo es solo un loader/router.
|