javi-forge 1.2.0 β†’ 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/ci-local/ci-local.sh +29 -9
  2. package/ci-local/hooks/commit-msg +0 -0
  3. package/ci-local/hooks/pre-commit +1 -1
  4. package/ci-local/hooks/pre-push +0 -0
  5. package/ci-local/install.sh +0 -0
  6. package/ci-local/lib/common.sh +183 -0
  7. package/dist/__integration__/helpers.d.ts +20 -0
  8. package/dist/__integration__/helpers.d.ts.map +1 -0
  9. package/dist/__integration__/helpers.js +31 -0
  10. package/dist/__integration__/helpers.js.map +1 -0
  11. package/dist/commands/analyze.d.ts.map +1 -0
  12. package/dist/commands/analyze.js.map +1 -0
  13. package/dist/commands/ci.d.ts.map +1 -0
  14. package/dist/commands/ci.js +13 -8
  15. package/dist/commands/ci.js.map +1 -0
  16. package/dist/commands/doctor.d.ts.map +1 -0
  17. package/dist/commands/doctor.js +1 -3
  18. package/dist/commands/doctor.js.map +1 -0
  19. package/dist/commands/init.d.ts.map +1 -0
  20. package/dist/commands/init.js +14 -6
  21. package/dist/commands/init.js.map +1 -0
  22. package/dist/commands/llmstxt.d.ts.map +1 -0
  23. package/dist/commands/llmstxt.js.map +1 -0
  24. package/dist/commands/plugin.d.ts.map +1 -0
  25. package/dist/commands/plugin.js.map +1 -0
  26. package/dist/constants.d.ts +0 -4
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +0 -4
  29. package/dist/constants.js.map +1 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +18 -11
  32. package/dist/index.js.map +1 -0
  33. package/dist/lib/common.d.ts.map +1 -0
  34. package/dist/lib/common.js.map +1 -0
  35. package/dist/lib/docker.d.ts +2 -0
  36. package/dist/lib/docker.d.ts.map +1 -0
  37. package/dist/lib/docker.js +2 -1
  38. package/dist/lib/docker.js.map +1 -0
  39. package/dist/lib/frontmatter.d.ts.map +1 -0
  40. package/dist/lib/frontmatter.js.map +1 -0
  41. package/dist/lib/plugin.d.ts.map +1 -0
  42. package/dist/lib/plugin.js.map +1 -0
  43. package/dist/lib/template.d.ts.map +1 -0
  44. package/dist/lib/template.js.map +1 -0
  45. package/dist/types/index.d.ts.map +1 -0
  46. package/dist/types/index.js.map +1 -0
  47. package/dist/ui/AnalyzeUI.d.ts.map +1 -0
  48. package/dist/ui/AnalyzeUI.js.map +1 -0
  49. package/dist/ui/App.d.ts.map +1 -0
  50. package/dist/ui/App.js.map +1 -0
  51. package/dist/ui/CI.d.ts.map +1 -0
  52. package/dist/ui/CI.js.map +1 -0
  53. package/dist/ui/CIContext.d.ts.map +1 -0
  54. package/dist/ui/CIContext.js.map +1 -0
  55. package/dist/ui/CISelector.d.ts.map +1 -0
  56. package/dist/ui/CISelector.js.map +1 -0
  57. package/dist/ui/Doctor.d.ts.map +1 -0
  58. package/dist/ui/Doctor.js +1 -1
  59. package/dist/ui/Doctor.js.map +1 -0
  60. package/dist/ui/Header.d.ts.map +1 -0
  61. package/dist/ui/Header.js.map +1 -0
  62. package/dist/ui/LlmsTxt.d.ts.map +1 -0
  63. package/dist/ui/LlmsTxt.js.map +1 -0
  64. package/dist/ui/MemorySelector.d.ts.map +1 -0
  65. package/dist/ui/MemorySelector.js.map +1 -0
  66. package/dist/ui/NameInput.d.ts.map +1 -0
  67. package/dist/ui/NameInput.js.map +1 -0
  68. package/dist/ui/OptionSelector.d.ts.map +1 -0
  69. package/dist/ui/OptionSelector.js +1 -1
  70. package/dist/ui/OptionSelector.js.map +1 -0
  71. package/dist/ui/Plugin.d.ts.map +1 -0
  72. package/dist/ui/Plugin.js.map +1 -0
  73. package/dist/ui/Progress.d.ts.map +1 -0
  74. package/dist/ui/Progress.js.map +1 -0
  75. package/dist/ui/StackSelector.d.ts.map +1 -0
  76. package/dist/ui/StackSelector.js.map +1 -0
  77. package/dist/ui/Summary.d.ts.map +1 -0
  78. package/dist/ui/Summary.js.map +1 -0
  79. package/dist/ui/Welcome.d.ts.map +1 -0
  80. package/dist/ui/Welcome.js.map +1 -0
  81. package/dist/ui/theme.d.ts.map +1 -0
  82. package/dist/ui/theme.js.map +1 -0
  83. package/lib/common.sh +2 -2
  84. package/modules/ghagga/README.md +2 -2
  85. package/modules/ghagga/setup-ghagga.sh +1 -1
  86. package/package.json +25 -12
  87. package/templates/github/ci-go.yml +1 -1
  88. package/templates/github/ci-java.yml +2 -2
  89. package/templates/github/ci-node.yml +1 -1
  90. package/templates/github/ci-python.yml +1 -1
  91. package/templates/github/ci-rust.yml +1 -1
  92. package/templates/github/ghagga-review.yml +28 -0
  93. package/workflows/reusable-build-go.yml +1 -1
  94. package/workflows/reusable-build-java.yml +1 -1
  95. package/workflows/reusable-build-node.yml +1 -1
  96. package/workflows/reusable-build-python.yml +1 -1
  97. package/workflows/reusable-build-rust.yml +1 -1
  98. package/workflows/reusable-docker.yml +1 -1
  99. package/workflows/reusable-ghagga-review.yml +1 -1
  100. package/workflows/reusable-release.yml +1 -1
  101. package/.releaserc +0 -45
  102. package/ai-config/.skillignore +0 -15
  103. package/ai-config/AUTO_INVOKE.md +0 -300
  104. package/ai-config/agents/_TEMPLATE.md +0 -93
  105. package/ai-config/agents/business/api-designer.md +0 -1657
  106. package/ai-config/agents/business/business-analyst.md +0 -1331
  107. package/ai-config/agents/business/product-strategist.md +0 -206
  108. package/ai-config/agents/business/project-manager.md +0 -178
  109. package/ai-config/agents/business/requirements-analyst.md +0 -1277
  110. package/ai-config/agents/business/technical-writer.md +0 -1679
  111. package/ai-config/agents/creative/ux-designer.md +0 -205
  112. package/ai-config/agents/data-ai/ai-engineer.md +0 -487
  113. package/ai-config/agents/data-ai/analytics-engineer.md +0 -953
  114. package/ai-config/agents/data-ai/data-engineer.md +0 -173
  115. package/ai-config/agents/data-ai/data-scientist.md +0 -672
  116. package/ai-config/agents/data-ai/mlops-engineer.md +0 -814
  117. package/ai-config/agents/data-ai/prompt-engineer.md +0 -772
  118. package/ai-config/agents/development/angular-expert.md +0 -620
  119. package/ai-config/agents/development/backend-architect.md +0 -795
  120. package/ai-config/agents/development/database-specialist.md +0 -212
  121. package/ai-config/agents/development/frontend-specialist.md +0 -686
  122. package/ai-config/agents/development/fullstack-engineer.md +0 -668
  123. package/ai-config/agents/development/golang-pro.md +0 -338
  124. package/ai-config/agents/development/java-enterprise.md +0 -400
  125. package/ai-config/agents/development/javascript-pro.md +0 -422
  126. package/ai-config/agents/development/nextjs-pro.md +0 -474
  127. package/ai-config/agents/development/python-pro.md +0 -570
  128. package/ai-config/agents/development/react-pro.md +0 -487
  129. package/ai-config/agents/development/rust-pro.md +0 -246
  130. package/ai-config/agents/development/spring-boot-4-expert.md +0 -326
  131. package/ai-config/agents/development/typescript-pro.md +0 -336
  132. package/ai-config/agents/development/vue-specialist.md +0 -605
  133. package/ai-config/agents/infrastructure/cloud-architect.md +0 -472
  134. package/ai-config/agents/infrastructure/deployment-manager.md +0 -358
  135. package/ai-config/agents/infrastructure/devops-engineer.md +0 -455
  136. package/ai-config/agents/infrastructure/incident-responder.md +0 -519
  137. package/ai-config/agents/infrastructure/kubernetes-expert.md +0 -705
  138. package/ai-config/agents/infrastructure/monitoring-specialist.md +0 -674
  139. package/ai-config/agents/infrastructure/performance-engineer.md +0 -658
  140. package/ai-config/agents/orchestrator.md +0 -241
  141. package/ai-config/agents/quality/accessibility-auditor.md +0 -1204
  142. package/ai-config/agents/quality/code-reviewer-compact.md +0 -123
  143. package/ai-config/agents/quality/code-reviewer.md +0 -363
  144. package/ai-config/agents/quality/dependency-manager.md +0 -743
  145. package/ai-config/agents/quality/e2e-test-specialist.md +0 -1005
  146. package/ai-config/agents/quality/performance-tester.md +0 -1086
  147. package/ai-config/agents/quality/security-auditor.md +0 -133
  148. package/ai-config/agents/quality/test-engineer.md +0 -453
  149. package/ai-config/agents/specialists/api-designer.md +0 -87
  150. package/ai-config/agents/specialists/backend-architect.md +0 -73
  151. package/ai-config/agents/specialists/code-reviewer.md +0 -77
  152. package/ai-config/agents/specialists/db-optimizer.md +0 -75
  153. package/ai-config/agents/specialists/devops-engineer.md +0 -83
  154. package/ai-config/agents/specialists/documentation-writer.md +0 -78
  155. package/ai-config/agents/specialists/frontend-developer.md +0 -75
  156. package/ai-config/agents/specialists/performance-analyst.md +0 -82
  157. package/ai-config/agents/specialists/refactor-specialist.md +0 -74
  158. package/ai-config/agents/specialists/security-auditor.md +0 -74
  159. package/ai-config/agents/specialists/test-engineer.md +0 -81
  160. package/ai-config/agents/specialists/ux-consultant.md +0 -76
  161. package/ai-config/agents/specialized/agent-generator.md +0 -1190
  162. package/ai-config/agents/specialized/blockchain-developer.md +0 -149
  163. package/ai-config/agents/specialized/code-migrator.md +0 -892
  164. package/ai-config/agents/specialized/context-manager.md +0 -978
  165. package/ai-config/agents/specialized/documentation-writer.md +0 -1078
  166. package/ai-config/agents/specialized/ecommerce-expert.md +0 -1756
  167. package/ai-config/agents/specialized/embedded-engineer.md +0 -1714
  168. package/ai-config/agents/specialized/error-detective.md +0 -1034
  169. package/ai-config/agents/specialized/fintech-specialist.md +0 -1659
  170. package/ai-config/agents/specialized/freelance-project-planner-v2.md +0 -1988
  171. package/ai-config/agents/specialized/freelance-project-planner-v3.md +0 -2136
  172. package/ai-config/agents/specialized/freelance-project-planner-v4.md +0 -4503
  173. package/ai-config/agents/specialized/freelance-project-planner.md +0 -722
  174. package/ai-config/agents/specialized/game-developer.md +0 -1963
  175. package/ai-config/agents/specialized/healthcare-dev.md +0 -1620
  176. package/ai-config/agents/specialized/mobile-developer.md +0 -188
  177. package/ai-config/agents/specialized/parallel-plan-executor.md +0 -506
  178. package/ai-config/agents/specialized/plan-executor.md +0 -485
  179. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +0 -485
  180. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +0 -3493
  181. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +0 -778
  182. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +0 -918
  183. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +0 -1537
  184. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +0 -2633
  185. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +0 -5610
  186. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +0 -335
  187. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +0 -215
  188. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +0 -260
  189. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +0 -379
  190. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +0 -355
  191. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +0 -279
  192. package/ai-config/agents/specialized/template-writer.md +0 -347
  193. package/ai-config/agents/specialized/test-runner.md +0 -99
  194. package/ai-config/agents/specialized/vibekanban-smart-worker.md +0 -244
  195. package/ai-config/agents/specialized/wave-executor.md +0 -138
  196. package/ai-config/agents/specialized/workflow-optimizer.md +0 -1114
  197. package/ai-config/commands/git/changelog.md +0 -32
  198. package/ai-config/commands/git/ci-local.md +0 -70
  199. package/ai-config/commands/git/commit.md +0 -35
  200. package/ai-config/commands/git/fix-issue.md +0 -23
  201. package/ai-config/commands/git/pr-create.md +0 -42
  202. package/ai-config/commands/git/pr-review.md +0 -50
  203. package/ai-config/commands/git/worktree.md +0 -39
  204. package/ai-config/commands/refactoring/cleanup.md +0 -24
  205. package/ai-config/commands/refactoring/dead-code.md +0 -40
  206. package/ai-config/commands/refactoring/extract.md +0 -31
  207. package/ai-config/commands/testing/e2e.md +0 -30
  208. package/ai-config/commands/testing/tdd.md +0 -36
  209. package/ai-config/commands/testing/test-coverage.md +0 -30
  210. package/ai-config/commands/testing/test-fix.md +0 -24
  211. package/ai-config/commands/workflow/generate-agents-md.md +0 -85
  212. package/ai-config/commands/workflow/planning.md +0 -47
  213. package/ai-config/commands/workflows/compound.md +0 -89
  214. package/ai-config/commands/workflows/diagnose.md +0 -70
  215. package/ai-config/commands/workflows/discover.md +0 -86
  216. package/ai-config/commands/workflows/plan.md +0 -77
  217. package/ai-config/commands/workflows/review.md +0 -78
  218. package/ai-config/commands/workflows/work.md +0 -75
  219. package/ai-config/config.yaml +0 -18
  220. package/ai-config/hooks/_TEMPLATE.md +0 -96
  221. package/ai-config/hooks/block-dangerous-commands.md +0 -75
  222. package/ai-config/hooks/commit-guard.md +0 -90
  223. package/ai-config/hooks/context-loader.md +0 -73
  224. package/ai-config/hooks/improve-prompt.md +0 -91
  225. package/ai-config/hooks/learning-log.md +0 -72
  226. package/ai-config/hooks/model-router.md +0 -86
  227. package/ai-config/hooks/secret-scanner.md +0 -64
  228. package/ai-config/hooks/skill-validator.md +0 -102
  229. package/ai-config/hooks/task-artifact.md +0 -114
  230. package/ai-config/hooks/validate-workflow.md +0 -100
  231. package/ai-config/prompts/base.md +0 -71
  232. package/ai-config/prompts/modes/debug.md +0 -34
  233. package/ai-config/prompts/modes/deploy.md +0 -40
  234. package/ai-config/prompts/modes/research.md +0 -32
  235. package/ai-config/prompts/modes/review.md +0 -33
  236. package/ai-config/prompts/review-policy.md +0 -79
  237. package/ai-config/skills/_TEMPLATE.md +0 -157
  238. package/ai-config/skills/backend/api-gateway/SKILL.md +0 -254
  239. package/ai-config/skills/backend/bff-concepts/SKILL.md +0 -239
  240. package/ai-config/skills/backend/bff-spring/SKILL.md +0 -364
  241. package/ai-config/skills/backend/chi-router/SKILL.md +0 -396
  242. package/ai-config/skills/backend/error-handling/SKILL.md +0 -255
  243. package/ai-config/skills/backend/exceptions-spring/SKILL.md +0 -323
  244. package/ai-config/skills/backend/fastapi/SKILL.md +0 -302
  245. package/ai-config/skills/backend/gateway-spring/SKILL.md +0 -390
  246. package/ai-config/skills/backend/go-backend/SKILL.md +0 -457
  247. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +0 -274
  248. package/ai-config/skills/backend/graphql-concepts/SKILL.md +0 -352
  249. package/ai-config/skills/backend/graphql-spring/SKILL.md +0 -398
  250. package/ai-config/skills/backend/grpc-concepts/SKILL.md +0 -283
  251. package/ai-config/skills/backend/grpc-spring/SKILL.md +0 -445
  252. package/ai-config/skills/backend/jwt-auth/SKILL.md +0 -412
  253. package/ai-config/skills/backend/notifications-concepts/SKILL.md +0 -259
  254. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +0 -261
  255. package/ai-config/skills/backend/search-concepts/SKILL.md +0 -263
  256. package/ai-config/skills/backend/search-spring/SKILL.md +0 -375
  257. package/ai-config/skills/backend/spring-boot-4/SKILL.md +0 -172
  258. package/ai-config/skills/backend/websockets/SKILL.md +0 -532
  259. package/ai-config/skills/data-ai/ai-ml/SKILL.md +0 -423
  260. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +0 -195
  261. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +0 -340
  262. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +0 -440
  263. package/ai-config/skills/data-ai/langchain/SKILL.md +0 -238
  264. package/ai-config/skills/data-ai/mlflow/SKILL.md +0 -302
  265. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +0 -290
  266. package/ai-config/skills/data-ai/powerbi/SKILL.md +0 -352
  267. package/ai-config/skills/data-ai/pytorch/SKILL.md +0 -274
  268. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +0 -321
  269. package/ai-config/skills/data-ai/vector-db/SKILL.md +0 -301
  270. package/ai-config/skills/database/graph-databases/SKILL.md +0 -218
  271. package/ai-config/skills/database/graph-spring/SKILL.md +0 -361
  272. package/ai-config/skills/database/pgx-postgres/SKILL.md +0 -512
  273. package/ai-config/skills/database/redis-cache/SKILL.md +0 -343
  274. package/ai-config/skills/database/sqlite-embedded/SKILL.md +0 -388
  275. package/ai-config/skills/database/timescaledb/SKILL.md +0 -320
  276. package/ai-config/skills/docs/api-documentation/SKILL.md +0 -293
  277. package/ai-config/skills/docs/docs-spring/SKILL.md +0 -377
  278. package/ai-config/skills/docs/mustache-templates/SKILL.md +0 -190
  279. package/ai-config/skills/docs/technical-docs/SKILL.md +0 -447
  280. package/ai-config/skills/frontend/astro-ssr/SKILL.md +0 -441
  281. package/ai-config/skills/frontend/frontend-design/SKILL.md +0 -54
  282. package/ai-config/skills/frontend/frontend-web/SKILL.md +0 -368
  283. package/ai-config/skills/frontend/mantine-ui/SKILL.md +0 -396
  284. package/ai-config/skills/frontend/tanstack-query/SKILL.md +0 -439
  285. package/ai-config/skills/frontend/zod-validation/SKILL.md +0 -417
  286. package/ai-config/skills/frontend/zustand-state/SKILL.md +0 -350
  287. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +0 -244
  288. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +0 -378
  289. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +0 -435
  290. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +0 -420
  291. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +0 -456
  292. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +0 -546
  293. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +0 -474
  294. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +0 -315
  295. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +0 -504
  296. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +0 -448
  297. package/ai-config/skills/prompt-improver/SKILL.md +0 -125
  298. package/ai-config/skills/quality/ghagga-review/SKILL.md +0 -216
  299. package/ai-config/skills/references/hooks-patterns/SKILL.md +0 -238
  300. package/ai-config/skills/references/mcp-servers/SKILL.md +0 -275
  301. package/ai-config/skills/references/plugins-reference/SKILL.md +0 -110
  302. package/ai-config/skills/references/skills-reference/SKILL.md +0 -420
  303. package/ai-config/skills/references/subagent-templates/SKILL.md +0 -193
  304. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +0 -410
  305. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +0 -408
  306. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +0 -386
  307. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +0 -324
  308. package/ai-config/skills/testing/playwright-e2e/SKILL.md +0 -289
  309. package/ai-config/skills/testing/testcontainers/SKILL.md +0 -299
  310. package/ai-config/skills/testing/vitest-testing/SKILL.md +0 -381
  311. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +0 -118
  312. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +0 -299
  313. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +0 -158
  314. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +0 -117
  315. package/ai-config/skills/workflow/git-github/SKILL.md +0 -334
  316. package/ai-config/skills/workflow/git-github/references/examples.md +0 -160
  317. package/ai-config/skills/workflow/git-workflow/SKILL.md +0 -214
  318. package/ai-config/skills/workflow/ide-plugins/SKILL.md +0 -277
  319. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +0 -401
  320. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +0 -199
  321. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +0 -100
  322. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +0 -73
  323. package/ai-config/skills/workflow/wave-workflow/SKILL.md +0 -178
  324. package/dist/commands/analyze.test.d.ts +0 -2
  325. package/dist/commands/doctor.test.d.ts +0 -2
  326. package/dist/commands/init.test.d.ts +0 -2
  327. package/dist/commands/llmstxt.test.d.ts +0 -2
  328. package/dist/commands/plugin.test.d.ts +0 -2
  329. package/dist/commands/sync.d.ts +0 -8
  330. package/dist/commands/sync.js +0 -201
  331. package/dist/e2e/aggressive.e2e.test.d.ts +0 -2
  332. package/dist/e2e/commands.e2e.test.d.ts +0 -2
  333. package/dist/lib/common.test.d.ts +0 -2
  334. package/dist/lib/frontmatter.test.d.ts +0 -2
  335. package/dist/lib/plugin.test.d.ts +0 -2
  336. package/dist/lib/template.test.d.ts +0 -2
  337. package/dist/ui/SyncUI.d.ts +0 -10
  338. package/dist/ui/SyncUI.js +0 -64
  339. package/schemas/agent.schema.json +0 -34
  340. package/schemas/ai-config.schema.json +0 -28
  341. package/schemas/plugin.schema.json +0 -62
  342. package/schemas/skill.schema.json +0 -44
  343. package/tasks/_TEMPLATE/files-edited.md +0 -3
  344. package/tasks/_TEMPLATE/plan.md +0 -3
  345. package/tasks/_TEMPLATE/research.md +0 -3
  346. package/tasks/_TEMPLATE/verification.md +0 -5
@@ -1,778 +0,0 @@
1
- ---
2
- name: solo-dev-planner-self-correction
3
- description: "MΓ³dulo 2: Auto-fix y context management"
4
- ---
5
-
6
- # πŸ”„ Solo Dev Planner - Self-Correction & Context Management
7
-
8
- > MΓ³dulo 2 de 6: AutonomΓ­a del agente con auto-fix y context optimizado
9
-
10
- ## πŸ“š Relacionado con:
11
- - 01-CORE.md (FilosofΓ­a base)
12
- - 03-PROGRESSIVE-SETUP.md (Usa estos scripts en setup)
13
- - 06-OPERATIONS.md (Mise tasks)
14
-
15
- ---
16
-
17
- ## πŸ”„ Self-Correction Protocol (AutonomΓ­a del Agente)
18
-
19
- ### FilosofΓ­a: El Agente Como Solucionador AutΓ³nomo
20
-
21
- **Problema tradicional:**
22
- ```typescript
23
- ❌ Test falla β†’ Agente se detiene β†’ Espera humano
24
- ❌ Lint error β†’ Agente pide ayuda β†’ Pierde contexto
25
- ❌ Build falla β†’ Agente confused β†’ Workflow bloqueado
26
- ```
27
-
28
- **Con Self-Correction:**
29
- ```typescript
30
- βœ… Error detectado β†’ Lee error β†’ Analiza causa β†’ Aplica fix β†’ Re-ejecuta
31
- βœ… Hasta 3 intentos automΓ‘ticos antes de pedir ayuda humana
32
- βœ… Aprende de errores comunes y los evita
33
- ```
34
-
35
- ### Script Completo de Auto-Fix
36
-
37
- ```bash
38
- #!/bin/bash
39
- # scripts/auto-fix.sh - Auto-correcciΓ³n inteligente completa
40
-
41
- set -e
42
-
43
- ERROR_TYPE=$1
44
- MAX_ATTEMPTS=3
45
- ATTEMPT=0
46
-
47
- # Colores para output
48
- RED='\033[0;31m'
49
- GREEN='\033[0;32m'
50
- YELLOW='\033[1;33m'
51
- NC='\033[0m' # No Color
52
-
53
- log_attempt() {
54
- echo "$(date -Iseconds)|$ATTEMPT|$ERROR_TYPE|$1" >> .auto-fix-log.txt
55
- }
56
-
57
- auto_fix_lint() {
58
- echo -e "${YELLOW}πŸ”§ Auto-fixing lint errors...${NC}"
59
-
60
- mise run format
61
- mise run lint --fix
62
-
63
- if mise run lint; then
64
- echo -e "${GREEN}βœ… Lint fixed${NC}"
65
- return 0
66
- else
67
- echo -e "${RED}❌ Lint still failing${NC}"
68
- return 1
69
- fi
70
- }
71
-
72
- auto_fix_imports() {
73
- echo -e "${YELLOW}πŸ”§ Auto-fixing import errors...${NC}"
74
-
75
- if [ -f "package.json" ]; then
76
- bun install
77
- elif [ -f "pyproject.toml" ]; then
78
- uv sync
79
- elif [ -f "go.mod" ]; then
80
- go mod tidy
81
- elif [ -f "Cargo.toml" ]; then
82
- cargo fetch
83
- fi
84
-
85
- return 0
86
- }
87
-
88
- auto_fix_database() {
89
- echo -e "${YELLOW}πŸ”§ Auto-fixing database errors...${NC}"
90
-
91
- mise run docker:up
92
- echo "⏳ Waiting for database..."
93
- sleep 5
94
-
95
- mise run db:migrate
96
-
97
- if psql "$DATABASE_URL" -c "SELECT 1" > /dev/null 2>&1; then
98
- echo -e "${GREEN}βœ… Database fixed${NC}"
99
- return 0
100
- else
101
- echo -e "${RED}❌ Database still not responding${NC}"
102
- return 1
103
- fi
104
- }
105
-
106
- auto_fix_tests() {
107
- echo -e "${YELLOW}πŸ”§ Auto-fixing test errors...${NC}"
108
-
109
- rm -rf .cache coverage .pytest_cache
110
-
111
- if [ "$NODE_ENV" != "production" ]; then
112
- mise run db:reset
113
- fi
114
-
115
- if mise run test:unit; then
116
- echo -e "${GREEN}βœ… Tests fixed${NC}"
117
- return 0
118
- else
119
- echo -e "${RED}❌ Tests still failing${NC}"
120
- return 1
121
- fi
122
- }
123
-
124
- auto_fix_types() {
125
- echo -e "${YELLOW}πŸ”§ Attempting to fix type errors...${NC}"
126
-
127
- if [ -f "tsconfig.json" ]; then
128
- bun run build || true
129
- elif [ -f "pyproject.toml" ]; then
130
- pyright --createstub || true
131
- fi
132
-
133
- return 0
134
- }
135
-
136
- # Main loop con retry logic
137
- while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
138
- ATTEMPT=$((ATTEMPT + 1))
139
- echo -e "\n${YELLOW}πŸ”„ Fix attempt $ATTEMPT/$MAX_ATTEMPTS${NC}"
140
-
141
- if case "$ERROR_TYPE" in
142
- lint) auto_fix_lint ;;
143
- imports) auto_fix_imports ;;
144
- database) auto_fix_database ;;
145
- tests) auto_fix_tests ;;
146
- types) auto_fix_types ;;
147
- *) echo -e "${RED}❌ Unknown error type: $ERROR_TYPE${NC}"; exit 1 ;;
148
- esac; then
149
- log_attempt "SUCCESS"
150
- echo -e "${GREEN}βœ… Fixed after $ATTEMPT attempts${NC}"
151
- exit 0
152
- fi
153
-
154
- log_attempt "FAILED"
155
-
156
- if [ $ATTEMPT -lt $MAX_ATTEMPTS ]; then
157
- echo "⏳ Waiting 2 seconds before retry..."
158
- sleep 2
159
- fi
160
- done
161
-
162
- echo -e "\n${RED}β›” BLOCKED: Could not auto-fix after $MAX_ATTEMPTS attempts${NC}"
163
- echo -e "${YELLOW}πŸ™‹ Human intervention required${NC}"
164
- log_attempt "BLOCKED"
165
- exit 1
166
- ```
167
-
168
- ### Mise Tasks con Auto-Recovery
169
-
170
- ```toml
171
- # .mise.toml - Tasks mejorados con auto-recovery
172
-
173
- [tasks."fix:auto"]
174
- description = "Auto-detect and fix common errors"
175
- run = """
176
- #!/usr/bin/env bash
177
-
178
- LAST_ERROR=$(cat .last-error 2>/dev/null || echo "")
179
-
180
- if echo "$LAST_ERROR" | grep -qi "lint\|format\|prettier"; then
181
- bash scripts/auto-fix.sh lint
182
- elif echo "$LAST_ERROR" | grep -qi "import\|module\|cannot find"; then
183
- bash scripts/auto-fix.sh imports
184
- elif echo "$LAST_ERROR" | grep -qi "database\|postgres\|connection"; then
185
- bash scripts/auto-fix.sh database
186
- elif echo "$LAST_ERROR" | grep -qi "test.*failed\|assertion"; then
187
- bash scripts/auto-fix.sh tests
188
- elif echo "$LAST_ERROR" | grep -qi "type.*error"; then
189
- bash scripts/auto-fix.sh types
190
- else
191
- echo "❓ No auto-fix available for this error"
192
- exit 1
193
- fi
194
- """
195
-
196
- [tasks.test]
197
- description = "Run tests with auto-recovery"
198
- run = """
199
- #!/usr/bin/env bash
200
-
201
- ATTEMPT=0
202
- MAX_ATTEMPTS=2
203
-
204
- while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
205
- ATTEMPT=$((ATTEMPT + 1))
206
-
207
- if mise run test:unit 2>&1 | tee .last-error; then
208
- echo "βœ… Tests passed"
209
- exit 0
210
- fi
211
-
212
- echo "⚠️ Tests failed, attempt $ATTEMPT/$MAX_ATTEMPTS"
213
-
214
- if [ $ATTEMPT -lt $MAX_ATTEMPTS ]; then
215
- echo "Attempting auto-fix..."
216
- bash scripts/auto-fix.sh tests || true
217
- fi
218
- done
219
-
220
- echo "❌ Tests still failing after auto-fix"
221
- exit 1
222
- """
223
- ```
224
-
225
- ### Git Hooks con Recovery AutomΓ‘tico
226
-
227
- ```toml
228
- # .mise.toml - Hooks con auto-fix
229
-
230
- [hooks.pre-commit]
231
- run = """
232
- #!/usr/bin/env bash
233
- set -e
234
-
235
- echo "🎣 Running pre-commit hooks..."
236
-
237
- # Lint con auto-fix automΓ‘tico
238
- if ! mise run lint 2>&1 | tee .last-error; then
239
- echo "⚠️ Lint failed, attempting auto-fix..."
240
-
241
- if bash scripts/auto-fix.sh lint; then
242
- echo "βœ… Auto-fixed and re-staged"
243
- git add -u
244
- else
245
- echo "❌ Could not auto-fix. Please fix manually."
246
- exit 1
247
- fi
248
- fi
249
-
250
- # Tests con auto-recovery (2 intentos)
251
- ATTEMPT=0
252
- while [ $ATTEMPT -lt 2 ]; do
253
- if mise run test:changed; then
254
- echo "βœ… Tests passed"
255
- break
256
- fi
257
-
258
- ATTEMPT=$((ATTEMPT + 1))
259
- if [ $ATTEMPT -lt 2 ]; then
260
- echo "Attempting test auto-fix..."
261
- bash scripts/auto-fix.sh tests || true
262
- else
263
- echo "❌ Tests failing after auto-fix"
264
- exit 1
265
- fi
266
- done
267
-
268
- echo "βœ… Pre-commit checks passed!"
269
- """
270
- ```
271
-
272
- ---
273
-
274
- ## πŸ“Š Context Script (Para Claude Code)
275
-
276
- ### Problema: Context Window Pollution
277
-
278
- **Sin Context Script:**
279
- ```
280
- Claude Code debe leer:
281
- ❌ 50+ archivos para entender estado
282
- ❌ 10,000+ tokens consumidos
283
- ❌ Lento y costoso
284
- ❌ Pierde contexto entre turnos
285
- ```
286
-
287
- **Con Context Script:**
288
- ```
289
- Claude Code ejecuta:
290
- βœ… 1 comando β†’ Estado completo
291
- βœ… < 500 tokens
292
- βœ… JSON parseable
293
- βœ… RΓ‘pido y barato
294
- ```
295
-
296
- ### ImplementaciΓ³n Completa
297
-
298
- ```bash
299
- #!/bin/bash
300
- # scripts/agent-context.sh
301
- # Proporciona estado completo del proyecto en < 500 tokens
302
-
303
- cat << EOF
304
- {
305
- "timestamp": "$(date -Iseconds)",
306
- "git": {
307
- "branch": "$(git branch --show-current)",
308
- "status": "$(git status -s | wc -l) files changed",
309
- "last_commit": "$(git log -1 --pretty=format:'%h - %s (%ar)')",
310
- "unpushed": $(git log origin/$(git branch --show-current)..HEAD --oneline 2>/dev/null | wc -l)
311
- },
312
- "tools": {
313
- "node": "$(mise current node 2>/dev/null || echo 'not installed')",
314
- "python": "$(mise current python 2>/dev/null || echo 'not installed')",
315
- "go": "$(mise current go 2>/dev/null || echo 'not installed')"
316
- },
317
- "tests": {
318
- "status": "$(mise run test:unit >/dev/null 2>&1 && echo 'passing' || echo 'failing')",
319
- "coverage": "$(grep -oP '\d+%' coverage.txt 2>/dev/null | head -1 || echo 'unknown')",
320
- "last_run": "$(stat -f '%Sm' -t '%Y-%m-%d %H:%M' .last-test 2>/dev/null || echo 'never')"
321
- },
322
- "database": {
323
- "migrations": $(ls migrations/*.sql 2>/dev/null | wc -l),
324
- "pending": $(mise run db:status 2>/dev/null | grep -c 'pending' || echo 0),
325
- "connection": "$(psql "$DATABASE_URL" -c 'SELECT 1' >/dev/null 2>&1 && echo 'ok' || echo 'failed')"
326
- },
327
- "build": {
328
- "lint": "$(mise run lint >/dev/null 2>&1 && echo 'passing' || echo 'failing')",
329
- "last_error": "$(tail -n 3 .last-error 2>/dev/null || echo 'none')"
330
- },
331
- "todos": [
332
- $(grep -r "TODO\|FIXME" src/ 2>/dev/null | head -n 5 | sed 's/"/\\"/g' | awk '{print " \"" $0 "\""}' | paste -sd,)
333
- ],
334
- "phase": "$([ -f docker-compose.yml ] && echo 'alpha' || echo 'mvp')",
335
- "health": {
336
- "api_running": $(curl -s http://localhost:8080/health >/dev/null 2>&1 && echo 'true' || echo 'false'),
337
- "db_running": $(docker ps | grep -q postgres && echo 'true' || echo 'false')
338
- }
339
- }
340
- EOF
341
- ```
342
-
343
- ### Mise Integration
344
-
345
- ```toml
346
- # .mise.toml
347
-
348
- [tasks.context]
349
- description = "Show complete project context (for AI agents)"
350
- run = "bash scripts/agent-context.sh"
351
- alias = "ctx"
352
-
353
- [tasks."context:watch"]
354
- description = "Watch context changes in real-time"
355
- run = "watch -n 2 'bash scripts/agent-context.sh | jq'"
356
-
357
- [tasks."context:save"]
358
- description = "Save context snapshot"
359
- run = "bash scripts/agent-context.sh > .context-snapshot-$(date +%s).json"
360
- ```
361
-
362
- ### Workflow para Claude Code
363
-
364
- ```markdown
365
- # En cada turno, Claude Code ejecuta:
366
-
367
- ```bash
368
- mise run context
369
- ```
370
-
371
- # Output (< 500 tokens):
372
- ```json
373
- {
374
- "timestamp": "2025-12-23T15:30:00Z",
375
- "git": {
376
- "branch": "feat/01-user-auth",
377
- "status": "3 files changed",
378
- "last_commit": "abc123 - add User model (2 minutes ago)"
379
- },
380
- "tests": { "status": "failing", "coverage": "75%" },
381
- "database": { "migrations": 3, "pending": 0 },
382
- "build": { "lint": "passing" },
383
- "phase": "mvp",
384
- "health": { "api_running": false, "db_running": true }
385
- }
386
- ```
387
-
388
- **El agente ahora sabe TODO sin leer archivos!** ✨
389
- ```
390
-
391
- ---
392
-
393
- ##
394
- imports) auto_fix_imports && exit 0 ;;
395
- database) auto_fix_database && exit 0 ;;
396
- tests) auto_fix_tests && exit 0 ;;
397
- esac
398
-
399
- sleep 2
400
- done
401
-
402
- echo "β›” BLOCKED: Could not auto-fix after $MAX_ATTEMPTS attempts"
403
- echo "πŸ™‹ Human intervention required"
404
- exit 1
405
- ```
406
-
407
- ### CategorΓ­as de Errores y Fixes AutomΓ‘ticos
408
-
409
- **1. Errores de Linting:**
410
- ```bash
411
- ❌ ESLint: Unexpected token
412
- β†’ mise run format && mise run lint --fix
413
- ```
414
-
415
- **2. Errores de Imports:**
416
- ```bash
417
- ❌ Cannot find module '@/models/User'
418
- β†’ bun install (o uv sync, go mod tidy)
419
- ```
420
-
421
- **3. Errores de Database:**
422
- ```bash
423
- ❌ Connection refused
424
- β†’ mise run docker:up && mise run db:migrate
425
- ```
426
-
427
- **4. Errores de Tests:**
428
- ```bash
429
- ❌ Test failed
430
- β†’ rm -rf .cache && mise run test:unit
431
- ```
432
-
433
- ### Mise Tasks con Auto-Recovery
434
-
435
- ```toml
436
- # .mise.toml
437
-
438
- [tasks."fix:auto"]
439
- description = "Auto-detect and fix common errors"
440
- run = """
441
- #!/usr/bin/env bash
442
- LAST_ERROR=$(cat .last-error 2>/dev/null || echo "")
443
-
444
- if echo "$LAST_ERROR" | grep -qi "lint"; then
445
- bash scripts/auto-fix.sh lint
446
- elif echo "$LAST_ERROR" | grep -qi "import"; then
447
- bash scripts/auto-fix.sh imports
448
- elif echo "$LAST_ERROR" | grep -qi "database"; then
449
- bash scripts/auto-fix.sh database
450
- elif echo "$LAST_ERROR" | grep -qi "test"; then
451
- bash scripts/auto-fix.sh tests
452
- fi
453
- """
454
-
455
- [tasks.test]
456
- description = "Run tests with auto-recovery"
457
- run = """
458
- #!/usr/bin/env bash
459
- ATTEMPT=0
460
- MAX_ATTEMPTS=2
461
-
462
- while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
463
- ATTEMPT=$((ATTEMPT + 1))
464
-
465
- if mise run test:unit; then
466
- echo "βœ… Tests passed"
467
- exit 0
468
- fi
469
-
470
- if [ $ATTEMPT -lt $MAX_ATTEMPTS ]; then
471
- echo "⚠️ Attempting auto-fix..."
472
- bash scripts/auto-fix.sh tests
473
- fi
474
- done
475
-
476
- echo "❌ Tests still failing"
477
- exit 1
478
- """
479
- ```
480
-
481
- ### Git Hooks con Recovery
482
-
483
- ```toml
484
- [hooks.pre-commit]
485
- run = """
486
- #!/usr/bin/env bash
487
- set -e
488
-
489
- # Lint con auto-fix
490
- if ! mise run lint; then
491
- echo "⚠️ Lint failed, attempting auto-fix..."
492
- bash scripts/auto-fix.sh lint && git add -u
493
- fi
494
-
495
- # Tests con retry
496
- ATTEMPT=0
497
- while [ $ATTEMPT -lt 2 ]; do
498
- if mise run test:changed; then
499
- break
500
- fi
501
- ATTEMPT=$((ATTEMPT + 1))
502
- [ $ATTEMPT -lt 2 ] && bash scripts/auto-fix.sh tests
503
- done
504
-
505
- echo "βœ… Pre-commit checks passed!"
506
- """
507
- ```
508
-
509
- ---
510
-
511
- ## 🎯 Progressive Disclosure (Setup en Fases)
512
-
513
- ### FilosofΓ­a: No Abrumar al Inicio
514
-
515
- **Antes:**
516
- ```
517
- DΓ­a 1: Instalar 15 herramientas β†’ 3 horas ❌
518
- ```
519
-
520
- **Ahora:**
521
- ```
522
- MVP (15 min): mise + SQLite β†’ CΓ³digo funcionando βœ…
523
- Alpha (1h): PostgreSQL + CI
524
- Beta (2-3h): Monitoring + Deploy
525
- ```
526
-
527
- ### Fase 1: MVP (5-15 minutos)
528
-
529
- ```bash
530
- #!/bin/bash
531
- # scripts/setup-mvp.sh
532
-
533
- echo "πŸš€ Setting up MVP (5-15 minutes)"
534
-
535
- # Instalar Mise
536
- if ! command -v mise &> /dev/null; then
537
- curl https://mise.run | sh
538
- fi
539
-
540
- # Instalar herramientas
541
- mise install
542
-
543
- # Crear .env mΓ­nimo (SQLite, sin Docker)
544
- cat > .env << EOF
545
- DATABASE_URL=sqlite:///dev.db
546
- NODE_ENV=development
547
- EOF
548
-
549
- # Setup git hooks
550
- mise hook-env
551
-
552
- echo "βœ… MVP Setup Complete!"
553
- echo "πŸŽ‰ Ready to code! Run: mise run dev"
554
- ```
555
-
556
- ### Fase 2: Alpha (1 hora)
557
-
558
- ```bash
559
- #!/bin/bash
560
- # scripts/setup-alpha.sh
561
-
562
- echo "πŸš€ Upgrading to Alpha (1 hour)"
563
-
564
- # Docker Compose
565
- cat > docker-compose.yml << EOF
566
- version: '3.8'
567
- services:
568
- db:
569
- image: postgres:16-alpine
570
- environment:
571
- POSTGRES_DB: mydb
572
- POSTGRES_USER: postgres
573
- POSTGRES_PASSWORD: postgres
574
- ports:
575
- - "5432:5432"
576
- EOF
577
-
578
- # Iniciar PostgreSQL
579
- mise run docker:up
580
-
581
- # Actualizar .env
582
- sed -i 's|sqlite|postgresql://postgres:postgres@localhost:5432/mydb|' .env
583
-
584
- # Migraciones
585
- mise run db:migrate
586
-
587
- # Setup CI bΓ‘sico
588
- mkdir -p .github/workflows
589
- # Copiar CI template...
590
-
591
- echo "βœ… Alpha Complete!"
592
- ```
593
-
594
- ### Fase 3: Beta (2-3 horas)
595
-
596
- ```bash
597
- #!/bin/bash
598
- # scripts/setup-beta.sh
599
-
600
- echo "πŸš€ Upgrading to Beta (2-3 hours)"
601
-
602
- # Monitoring, deployment, secrets
603
- echo "Choose deployment platform:"
604
- echo " 1) Railway"
605
- echo " 2) Koyeb"
606
- echo " 3) Coolify"
607
- read -p "Choice: " choice
608
-
609
- # Setup segΓΊn elecciΓ³n...
610
-
611
- echo "βœ… Beta Complete - Production ready!"
612
- ```
613
-
614
- ### Mise Tasks para Fases
615
-
616
- ```toml
617
- [tasks."setup:mvp"]
618
- description = "Phase 1: MVP (5-15 min)"
619
- run = "bash scripts/setup-mvp.sh"
620
-
621
- [tasks."setup:alpha"]
622
- description = "Phase 2: Alpha (1 hour)"
623
- run = "bash scripts/setup-alpha.sh"
624
-
625
- [tasks."setup:beta"]
626
- description = "Phase 3: Beta (2-3 hours)"
627
- run = "bash scripts/setup-beta.sh"
628
-
629
- [tasks.setup]
630
- description = "Interactive setup wizard"
631
- run = """
632
- echo "Choose phase:"
633
- echo " 1) MVP - Quick start (15 min)"
634
- echo " 2) Alpha - Full dev (1 hour)"
635
- echo " 3) Beta - Production (2-3 hours)"
636
- read -p "Choice [1-3]: " choice
637
-
638
- case $choice in
639
- 1) mise run setup:mvp ;;
640
- 2) mise run setup:alpha ;;
641
- 3) mise run setup:beta ;;
642
- esac
643
- """
644
- ```
645
-
646
- ---
647
-
648
- ## πŸ“Š Context Script (para Claude Code)
649
-
650
- ### Problema: Context Window Pollution
651
-
652
- **Sin Context Script:**
653
- ```
654
- ❌ Claude lee 50+ archivos β†’ 10,000 tokens
655
- ❌ Lento y costoso
656
- ```
657
-
658
- **Con Context Script:**
659
- ```
660
- βœ… 1 comando β†’ Estado completo β†’ < 500 tokens
661
- βœ… JSON parseable
662
- ```
663
-
664
- ### ImplementaciΓ³n
665
-
666
- ```bash
667
- #!/bin/bash
668
- # scripts/agent-context.sh
669
-
670
- cat << EOF
671
- {
672
- "timestamp": "$(date -Iseconds)",
673
- "git": {
674
- "branch": "$(git branch --show-current)",
675
- "status": "$(git status -s | wc -l) files changed",
676
- "last_commit": "$(git log -1 --pretty=format:'%h - %s')"
677
- },
678
- "tools": {
679
- "node": "$(mise current node 2>/dev/null || echo 'N/A')",
680
- "python": "$(mise current python 2>/dev/null || echo 'N/A')",
681
- "go": "$(mise current go 2>/dev/null || echo 'N/A')"
682
- },
683
- "tests": {
684
- "status": "$(mise run test:unit >/dev/null 2>&1 && echo 'passing' || echo 'failing')",
685
- "coverage": "$(grep -oP '\d+%' coverage.txt 2>/dev/null || echo 'unknown')"
686
- },
687
- "database": {
688
- "migrations": $(ls migrations/*.sql 2>/dev/null | wc -l),
689
- "pending": $(mise run db:status 2>/dev/null | grep -c 'pending' || echo 0),
690
- "connection": "$(psql "$DATABASE_URL" -c 'SELECT 1' >/dev/null 2>&1 && echo 'ok' || echo 'failed')"
691
- },
692
- "build": {
693
- "lint": "$(mise run lint >/dev/null 2>&1 && echo 'passing' || echo 'failing')",
694
- "last_error": "$(tail -n 3 .last-error 2>/dev/null || echo 'none')"
695
- },
696
- "todos": [
697
- $(grep -r "TODO\|FIXME" src/ 2>/dev/null | head -n 5 | awk '{print "\"" $0 "\""}' | paste -sd,)
698
- ],
699
- "phase": "$([ -f docker-compose.yml ] && echo 'alpha' || echo 'mvp')",
700
- "health": {
701
- "api_running": $(curl -s http://localhost:8080/health >/dev/null 2>&1 && echo 'true' || echo 'false'),
702
- "db_running": $(docker ps | grep -q postgres && echo 'true' || echo 'false')
703
- }
704
- }
705
- EOF
706
- ```
707
-
708
- ### Mise Integration
709
-
710
- ```toml
711
- [tasks.context]
712
- description = "Show complete project context (for AI agents)"
713
- run = "bash scripts/agent-context.sh"
714
- alias = "ctx"
715
-
716
- [tasks."context:watch"]
717
- description = "Watch context in real-time"
718
- run = "watch -n 2 'bash scripts/agent-context.sh | jq'"
719
- ```
720
-
721
- ### Uso en Claude Code
722
-
723
- ```bash
724
- # Al inicio de cada turno
725
- mise run context
726
-
727
- # Claude obtiene TODO el estado en < 500 tokens:
728
- # - QuΓ© rama estΓ‘ activa
729
- # - Tests passing/failing
730
- # - Migraciones pendientes
731
- # - TODOs pendientes
732
- # - Health checks
733
- # - Fase del proyecto (mvp/alpha/beta)
734
- ```
735
-
736
- ---
737
-
738
- ## πŸ”„ Atomic Sequential Merges (El CorazΓ³n del Agente)
739
-
740
- ### ⚠️ Aclaración Importante: NO es "1 rama = 1 commit"
741
-
742
- ```
743
- ❌ MODELO INCORRECTO (lo que NO debes hacer):
744
-
745
- feat/01-add-model β†’ 1 commit β†’ merge
746
- feat/02-add-migration β†’ 1 commit β†’ merge
747
- feat/03-add-tests β†’ 1 commit β†’ merge
748
-
749
- Problema: Crear una rama nueva por cada commit es una locura
750
- ```
751
-
752
- ```
753
- βœ… MODELO CORRECTO (Atomic Sequential Merges):
754
-
755
- feat/01-database-schema (UNA SOLA RAMA)
756
- β”œβ”€ commit: "add User model"
757
- β”œβ”€ commit: "add Post model"
758
- β”œβ”€ commit: "add migration script"
759
- β”œβ”€ commit: "add tests"
760
- └─ SQUASH MERGE β†’ develop (4 commits β†’ 1 commit limpio)
761
-
762
- feat/02-api-endpoints (siguiente rama)
763
- β”œβ”€ commit: "add GET /users endpoint"
764
- β”œβ”€ commit: "add POST /users endpoint"
765
- β”œβ”€ commit: "add validation middleware"
766
- β”œβ”€ commit: "add error handling"
767
- β”œβ”€ commit: "add tests"
768
- └─ SQUASH MERGE β†’ develop (5 commits β†’ 1 commit limpio)
769
-
770
- Ventaja:
771
- βœ… Una rama = un paso completo
772
- βœ… MΓΊltiples commits durante desarrollo
773
- βœ… Historia limpia en develop (1 commit por paso)
774
- ```
775
-
776
- ### El Problema con Stacked PRs para Solo Devs
777
-
778
- ```