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.
Files changed (500) hide show
  1. package/.gitignore.template +105 -0
  2. package/.releaserc +44 -0
  3. package/README.md +45 -0
  4. package/ai-config/.skillignore +15 -0
  5. package/ai-config/AUTO_INVOKE.md +300 -0
  6. package/ai-config/agents/_TEMPLATE.md +93 -0
  7. package/ai-config/agents/business/api-designer.md +1657 -0
  8. package/ai-config/agents/business/business-analyst.md +1331 -0
  9. package/ai-config/agents/business/product-strategist.md +206 -0
  10. package/ai-config/agents/business/project-manager.md +178 -0
  11. package/ai-config/agents/business/requirements-analyst.md +1277 -0
  12. package/ai-config/agents/business/technical-writer.md +1679 -0
  13. package/ai-config/agents/creative/ux-designer.md +205 -0
  14. package/ai-config/agents/data-ai/ai-engineer.md +487 -0
  15. package/ai-config/agents/data-ai/analytics-engineer.md +953 -0
  16. package/ai-config/agents/data-ai/data-engineer.md +173 -0
  17. package/ai-config/agents/data-ai/data-scientist.md +672 -0
  18. package/ai-config/agents/data-ai/mlops-engineer.md +814 -0
  19. package/ai-config/agents/data-ai/prompt-engineer.md +772 -0
  20. package/ai-config/agents/development/angular-expert.md +620 -0
  21. package/ai-config/agents/development/backend-architect.md +795 -0
  22. package/ai-config/agents/development/database-specialist.md +212 -0
  23. package/ai-config/agents/development/frontend-specialist.md +686 -0
  24. package/ai-config/agents/development/fullstack-engineer.md +668 -0
  25. package/ai-config/agents/development/golang-pro.md +338 -0
  26. package/ai-config/agents/development/java-enterprise.md +400 -0
  27. package/ai-config/agents/development/javascript-pro.md +422 -0
  28. package/ai-config/agents/development/nextjs-pro.md +474 -0
  29. package/ai-config/agents/development/python-pro.md +570 -0
  30. package/ai-config/agents/development/react-pro.md +487 -0
  31. package/ai-config/agents/development/rust-pro.md +246 -0
  32. package/ai-config/agents/development/spring-boot-4-expert.md +326 -0
  33. package/ai-config/agents/development/typescript-pro.md +336 -0
  34. package/ai-config/agents/development/vue-specialist.md +605 -0
  35. package/ai-config/agents/infrastructure/cloud-architect.md +472 -0
  36. package/ai-config/agents/infrastructure/deployment-manager.md +358 -0
  37. package/ai-config/agents/infrastructure/devops-engineer.md +455 -0
  38. package/ai-config/agents/infrastructure/incident-responder.md +519 -0
  39. package/ai-config/agents/infrastructure/kubernetes-expert.md +705 -0
  40. package/ai-config/agents/infrastructure/monitoring-specialist.md +674 -0
  41. package/ai-config/agents/infrastructure/performance-engineer.md +658 -0
  42. package/ai-config/agents/orchestrator.md +241 -0
  43. package/ai-config/agents/quality/accessibility-auditor.md +1204 -0
  44. package/ai-config/agents/quality/code-reviewer-compact.md +123 -0
  45. package/ai-config/agents/quality/code-reviewer.md +363 -0
  46. package/ai-config/agents/quality/dependency-manager.md +743 -0
  47. package/ai-config/agents/quality/e2e-test-specialist.md +1005 -0
  48. package/ai-config/agents/quality/performance-tester.md +1086 -0
  49. package/ai-config/agents/quality/security-auditor.md +133 -0
  50. package/ai-config/agents/quality/test-engineer.md +453 -0
  51. package/ai-config/agents/specialists/api-designer.md +87 -0
  52. package/ai-config/agents/specialists/backend-architect.md +73 -0
  53. package/ai-config/agents/specialists/code-reviewer.md +77 -0
  54. package/ai-config/agents/specialists/db-optimizer.md +75 -0
  55. package/ai-config/agents/specialists/devops-engineer.md +83 -0
  56. package/ai-config/agents/specialists/documentation-writer.md +78 -0
  57. package/ai-config/agents/specialists/frontend-developer.md +75 -0
  58. package/ai-config/agents/specialists/performance-analyst.md +82 -0
  59. package/ai-config/agents/specialists/refactor-specialist.md +74 -0
  60. package/ai-config/agents/specialists/security-auditor.md +74 -0
  61. package/ai-config/agents/specialists/test-engineer.md +81 -0
  62. package/ai-config/agents/specialists/ux-consultant.md +76 -0
  63. package/ai-config/agents/specialized/agent-generator.md +1190 -0
  64. package/ai-config/agents/specialized/blockchain-developer.md +149 -0
  65. package/ai-config/agents/specialized/code-migrator.md +892 -0
  66. package/ai-config/agents/specialized/context-manager.md +978 -0
  67. package/ai-config/agents/specialized/documentation-writer.md +1078 -0
  68. package/ai-config/agents/specialized/ecommerce-expert.md +1756 -0
  69. package/ai-config/agents/specialized/embedded-engineer.md +1714 -0
  70. package/ai-config/agents/specialized/error-detective.md +1034 -0
  71. package/ai-config/agents/specialized/fintech-specialist.md +1659 -0
  72. package/ai-config/agents/specialized/freelance-project-planner-v2.md +1988 -0
  73. package/ai-config/agents/specialized/freelance-project-planner-v3.md +2136 -0
  74. package/ai-config/agents/specialized/freelance-project-planner-v4.md +4503 -0
  75. package/ai-config/agents/specialized/freelance-project-planner.md +722 -0
  76. package/ai-config/agents/specialized/game-developer.md +1963 -0
  77. package/ai-config/agents/specialized/healthcare-dev.md +1620 -0
  78. package/ai-config/agents/specialized/mobile-developer.md +188 -0
  79. package/ai-config/agents/specialized/parallel-plan-executor.md +506 -0
  80. package/ai-config/agents/specialized/plan-executor.md +485 -0
  81. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +485 -0
  82. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +3493 -0
  83. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +778 -0
  84. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +918 -0
  85. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +1537 -0
  86. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +2633 -0
  87. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +5610 -0
  88. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +335 -0
  89. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +215 -0
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +260 -0
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +379 -0
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +355 -0
  93. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +279 -0
  94. package/ai-config/agents/specialized/template-writer.md +347 -0
  95. package/ai-config/agents/specialized/test-runner.md +99 -0
  96. package/ai-config/agents/specialized/vibekanban-smart-worker.md +244 -0
  97. package/ai-config/agents/specialized/wave-executor.md +138 -0
  98. package/ai-config/agents/specialized/workflow-optimizer.md +1114 -0
  99. package/ai-config/commands/git/changelog.md +32 -0
  100. package/ai-config/commands/git/ci-local.md +70 -0
  101. package/ai-config/commands/git/commit.md +35 -0
  102. package/ai-config/commands/git/fix-issue.md +23 -0
  103. package/ai-config/commands/git/pr-create.md +42 -0
  104. package/ai-config/commands/git/pr-review.md +50 -0
  105. package/ai-config/commands/git/worktree.md +39 -0
  106. package/ai-config/commands/refactoring/cleanup.md +24 -0
  107. package/ai-config/commands/refactoring/dead-code.md +40 -0
  108. package/ai-config/commands/refactoring/extract.md +31 -0
  109. package/ai-config/commands/testing/e2e.md +30 -0
  110. package/ai-config/commands/testing/tdd.md +36 -0
  111. package/ai-config/commands/testing/test-coverage.md +30 -0
  112. package/ai-config/commands/testing/test-fix.md +24 -0
  113. package/ai-config/commands/workflow/generate-agents-md.md +85 -0
  114. package/ai-config/commands/workflow/planning.md +47 -0
  115. package/ai-config/commands/workflows/compound.md +89 -0
  116. package/ai-config/commands/workflows/plan.md +77 -0
  117. package/ai-config/commands/workflows/review.md +78 -0
  118. package/ai-config/commands/workflows/work.md +75 -0
  119. package/ai-config/config.yaml +18 -0
  120. package/ai-config/hooks/_TEMPLATE.md +96 -0
  121. package/ai-config/hooks/block-dangerous-commands.md +75 -0
  122. package/ai-config/hooks/commit-guard.md +90 -0
  123. package/ai-config/hooks/context-loader.md +73 -0
  124. package/ai-config/hooks/improve-prompt.md +91 -0
  125. package/ai-config/hooks/learning-log.md +72 -0
  126. package/ai-config/hooks/model-router.md +86 -0
  127. package/ai-config/hooks/secret-scanner.md +64 -0
  128. package/ai-config/hooks/skill-validator.md +102 -0
  129. package/ai-config/hooks/task-artifact.md +114 -0
  130. package/ai-config/hooks/validate-workflow.md +100 -0
  131. package/ai-config/prompts/base.md +71 -0
  132. package/ai-config/prompts/modes/debug.md +34 -0
  133. package/ai-config/prompts/modes/deploy.md +40 -0
  134. package/ai-config/prompts/modes/research.md +32 -0
  135. package/ai-config/prompts/modes/review.md +33 -0
  136. package/ai-config/prompts/review-policy.md +79 -0
  137. package/ai-config/skills/_TEMPLATE.md +157 -0
  138. package/ai-config/skills/backend/api-gateway/SKILL.md +254 -0
  139. package/ai-config/skills/backend/bff-concepts/SKILL.md +239 -0
  140. package/ai-config/skills/backend/bff-spring/SKILL.md +364 -0
  141. package/ai-config/skills/backend/chi-router/SKILL.md +396 -0
  142. package/ai-config/skills/backend/error-handling/SKILL.md +255 -0
  143. package/ai-config/skills/backend/exceptions-spring/SKILL.md +323 -0
  144. package/ai-config/skills/backend/fastapi/SKILL.md +302 -0
  145. package/ai-config/skills/backend/gateway-spring/SKILL.md +390 -0
  146. package/ai-config/skills/backend/go-backend/SKILL.md +457 -0
  147. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +274 -0
  148. package/ai-config/skills/backend/graphql-concepts/SKILL.md +352 -0
  149. package/ai-config/skills/backend/graphql-spring/SKILL.md +398 -0
  150. package/ai-config/skills/backend/grpc-concepts/SKILL.md +283 -0
  151. package/ai-config/skills/backend/grpc-spring/SKILL.md +445 -0
  152. package/ai-config/skills/backend/jwt-auth/SKILL.md +412 -0
  153. package/ai-config/skills/backend/notifications-concepts/SKILL.md +259 -0
  154. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +261 -0
  155. package/ai-config/skills/backend/search-concepts/SKILL.md +263 -0
  156. package/ai-config/skills/backend/search-spring/SKILL.md +375 -0
  157. package/ai-config/skills/backend/spring-boot-4/SKILL.md +172 -0
  158. package/ai-config/skills/backend/websockets/SKILL.md +532 -0
  159. package/ai-config/skills/data-ai/ai-ml/SKILL.md +423 -0
  160. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +195 -0
  161. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +340 -0
  162. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +440 -0
  163. package/ai-config/skills/data-ai/langchain/SKILL.md +238 -0
  164. package/ai-config/skills/data-ai/mlflow/SKILL.md +302 -0
  165. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +290 -0
  166. package/ai-config/skills/data-ai/powerbi/SKILL.md +352 -0
  167. package/ai-config/skills/data-ai/pytorch/SKILL.md +274 -0
  168. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +321 -0
  169. package/ai-config/skills/data-ai/vector-db/SKILL.md +301 -0
  170. package/ai-config/skills/database/graph-databases/SKILL.md +218 -0
  171. package/ai-config/skills/database/graph-spring/SKILL.md +361 -0
  172. package/ai-config/skills/database/pgx-postgres/SKILL.md +512 -0
  173. package/ai-config/skills/database/redis-cache/SKILL.md +343 -0
  174. package/ai-config/skills/database/sqlite-embedded/SKILL.md +388 -0
  175. package/ai-config/skills/database/timescaledb/SKILL.md +320 -0
  176. package/ai-config/skills/docs/api-documentation/SKILL.md +293 -0
  177. package/ai-config/skills/docs/docs-spring/SKILL.md +377 -0
  178. package/ai-config/skills/docs/mustache-templates/SKILL.md +190 -0
  179. package/ai-config/skills/docs/technical-docs/SKILL.md +447 -0
  180. package/ai-config/skills/frontend/astro-ssr/SKILL.md +441 -0
  181. package/ai-config/skills/frontend/frontend-design/SKILL.md +54 -0
  182. package/ai-config/skills/frontend/frontend-web/SKILL.md +368 -0
  183. package/ai-config/skills/frontend/mantine-ui/SKILL.md +396 -0
  184. package/ai-config/skills/frontend/tanstack-query/SKILL.md +439 -0
  185. package/ai-config/skills/frontend/zod-validation/SKILL.md +417 -0
  186. package/ai-config/skills/frontend/zustand-state/SKILL.md +350 -0
  187. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +244 -0
  188. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +378 -0
  189. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +435 -0
  190. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +420 -0
  191. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +456 -0
  192. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +546 -0
  193. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +474 -0
  194. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +315 -0
  195. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +504 -0
  196. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +448 -0
  197. package/ai-config/skills/prompt-improver/SKILL.md +125 -0
  198. package/ai-config/skills/quality/ghagga-review/SKILL.md +216 -0
  199. package/ai-config/skills/references/hooks-patterns/SKILL.md +238 -0
  200. package/ai-config/skills/references/mcp-servers/SKILL.md +275 -0
  201. package/ai-config/skills/references/plugins-reference/SKILL.md +110 -0
  202. package/ai-config/skills/references/skills-reference/SKILL.md +420 -0
  203. package/ai-config/skills/references/subagent-templates/SKILL.md +193 -0
  204. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +410 -0
  205. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +408 -0
  206. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +386 -0
  207. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +324 -0
  208. package/ai-config/skills/testing/playwright-e2e/SKILL.md +289 -0
  209. package/ai-config/skills/testing/testcontainers/SKILL.md +299 -0
  210. package/ai-config/skills/testing/vitest-testing/SKILL.md +381 -0
  211. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +118 -0
  212. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +299 -0
  213. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +158 -0
  214. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +117 -0
  215. package/ai-config/skills/workflow/git-github/SKILL.md +334 -0
  216. package/ai-config/skills/workflow/git-github/references/examples.md +160 -0
  217. package/ai-config/skills/workflow/git-workflow/SKILL.md +214 -0
  218. package/ai-config/skills/workflow/ide-plugins/SKILL.md +277 -0
  219. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +401 -0
  220. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +199 -0
  221. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +100 -0
  222. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +73 -0
  223. package/ai-config/skills/workflow/wave-workflow/SKILL.md +178 -0
  224. package/ci-local/README.md +170 -0
  225. package/ci-local/ci-local.sh +297 -0
  226. package/ci-local/hooks/commit-msg +74 -0
  227. package/ci-local/hooks/pre-commit +162 -0
  228. package/ci-local/hooks/pre-push +41 -0
  229. package/ci-local/install.sh +49 -0
  230. package/ci-local/semgrep.yml +214 -0
  231. package/dist/commands/analyze.d.ts +9 -0
  232. package/dist/commands/analyze.d.ts.map +1 -0
  233. package/dist/commands/analyze.js +55 -0
  234. package/dist/commands/analyze.js.map +1 -0
  235. package/dist/commands/analyze.test.d.ts +2 -0
  236. package/dist/commands/analyze.test.d.ts.map +1 -0
  237. package/dist/commands/analyze.test.js +145 -0
  238. package/dist/commands/analyze.test.js.map +1 -0
  239. package/dist/commands/doctor.d.ts +7 -0
  240. package/dist/commands/doctor.d.ts.map +1 -0
  241. package/dist/commands/doctor.js +158 -0
  242. package/dist/commands/doctor.js.map +1 -0
  243. package/dist/commands/doctor.test.d.ts +2 -0
  244. package/dist/commands/doctor.test.d.ts.map +1 -0
  245. package/dist/commands/doctor.test.js +200 -0
  246. package/dist/commands/doctor.test.js.map +1 -0
  247. package/dist/commands/init.d.ts +9 -0
  248. package/dist/commands/init.d.ts.map +1 -0
  249. package/dist/commands/init.js +283 -0
  250. package/dist/commands/init.js.map +1 -0
  251. package/dist/commands/init.test.d.ts +2 -0
  252. package/dist/commands/init.test.d.ts.map +1 -0
  253. package/dist/commands/init.test.js +271 -0
  254. package/dist/commands/init.test.js.map +1 -0
  255. package/dist/commands/sync.d.ts +8 -0
  256. package/dist/commands/sync.d.ts.map +1 -0
  257. package/dist/commands/sync.js +201 -0
  258. package/dist/commands/sync.js.map +1 -0
  259. package/dist/constants.d.ts +21 -0
  260. package/dist/constants.d.ts.map +1 -0
  261. package/dist/constants.js +57 -0
  262. package/dist/constants.js.map +1 -0
  263. package/dist/e2e/aggressive.e2e.test.d.ts +2 -0
  264. package/dist/e2e/aggressive.e2e.test.d.ts.map +1 -0
  265. package/dist/e2e/aggressive.e2e.test.js +350 -0
  266. package/dist/e2e/aggressive.e2e.test.js.map +1 -0
  267. package/dist/e2e/commands.e2e.test.d.ts +2 -0
  268. package/dist/e2e/commands.e2e.test.d.ts.map +1 -0
  269. package/dist/e2e/commands.e2e.test.js +213 -0
  270. package/dist/e2e/commands.e2e.test.js.map +1 -0
  271. package/dist/index.d.ts +3 -0
  272. package/dist/index.d.ts.map +1 -0
  273. package/dist/index.js +82 -0
  274. package/dist/index.js.map +1 -0
  275. package/dist/lib/common.d.ts +17 -0
  276. package/dist/lib/common.d.ts.map +1 -0
  277. package/dist/lib/common.js +111 -0
  278. package/dist/lib/common.js.map +1 -0
  279. package/dist/lib/common.test.d.ts +2 -0
  280. package/dist/lib/common.test.d.ts.map +1 -0
  281. package/dist/lib/common.test.js +316 -0
  282. package/dist/lib/common.test.js.map +1 -0
  283. package/dist/lib/frontmatter.d.ts +18 -0
  284. package/dist/lib/frontmatter.d.ts.map +1 -0
  285. package/dist/lib/frontmatter.js +61 -0
  286. package/dist/lib/frontmatter.js.map +1 -0
  287. package/dist/lib/frontmatter.test.d.ts +2 -0
  288. package/dist/lib/frontmatter.test.d.ts.map +1 -0
  289. package/dist/lib/frontmatter.test.js +257 -0
  290. package/dist/lib/frontmatter.test.js.map +1 -0
  291. package/dist/lib/template.d.ts +24 -0
  292. package/dist/lib/template.d.ts.map +1 -0
  293. package/dist/lib/template.js +78 -0
  294. package/dist/lib/template.js.map +1 -0
  295. package/dist/lib/template.test.d.ts +2 -0
  296. package/dist/lib/template.test.d.ts.map +1 -0
  297. package/dist/lib/template.test.js +201 -0
  298. package/dist/lib/template.test.js.map +1 -0
  299. package/dist/types/index.d.ts +48 -0
  300. package/dist/types/index.d.ts.map +1 -0
  301. package/dist/types/index.js +2 -0
  302. package/dist/types/index.js.map +1 -0
  303. package/dist/ui/AnalyzeUI.d.ts +7 -0
  304. package/dist/ui/AnalyzeUI.d.ts.map +1 -0
  305. package/dist/ui/AnalyzeUI.js +100 -0
  306. package/dist/ui/AnalyzeUI.js.map +1 -0
  307. package/dist/ui/App.d.ts +13 -0
  308. package/dist/ui/App.d.ts.map +1 -0
  309. package/dist/ui/App.js +100 -0
  310. package/dist/ui/App.js.map +1 -0
  311. package/dist/ui/CIContext.d.ts +9 -0
  312. package/dist/ui/CIContext.d.ts.map +1 -0
  313. package/dist/ui/CIContext.js +9 -0
  314. package/dist/ui/CIContext.js.map +1 -0
  315. package/dist/ui/CISelector.d.ts +8 -0
  316. package/dist/ui/CISelector.d.ts.map +1 -0
  317. package/dist/ui/CISelector.js +45 -0
  318. package/dist/ui/CISelector.js.map +1 -0
  319. package/dist/ui/Doctor.d.ts +3 -0
  320. package/dist/ui/Doctor.d.ts.map +1 -0
  321. package/dist/ui/Doctor.js +89 -0
  322. package/dist/ui/Doctor.js.map +1 -0
  323. package/dist/ui/Header.d.ts +8 -0
  324. package/dist/ui/Header.d.ts.map +1 -0
  325. package/dist/ui/Header.js +30 -0
  326. package/dist/ui/Header.js.map +1 -0
  327. package/dist/ui/MemorySelector.d.ts +8 -0
  328. package/dist/ui/MemorySelector.d.ts.map +1 -0
  329. package/dist/ui/MemorySelector.js +46 -0
  330. package/dist/ui/MemorySelector.js.map +1 -0
  331. package/dist/ui/NameInput.d.ts +8 -0
  332. package/dist/ui/NameInput.d.ts.map +1 -0
  333. package/dist/ui/NameInput.js +69 -0
  334. package/dist/ui/NameInput.js.map +1 -0
  335. package/dist/ui/OptionSelector.d.ts +12 -0
  336. package/dist/ui/OptionSelector.d.ts.map +1 -0
  337. package/dist/ui/OptionSelector.js +69 -0
  338. package/dist/ui/OptionSelector.js.map +1 -0
  339. package/dist/ui/Progress.d.ts +11 -0
  340. package/dist/ui/Progress.d.ts.map +1 -0
  341. package/dist/ui/Progress.js +58 -0
  342. package/dist/ui/Progress.js.map +1 -0
  343. package/dist/ui/StackSelector.d.ts +9 -0
  344. package/dist/ui/StackSelector.d.ts.map +1 -0
  345. package/dist/ui/StackSelector.js +65 -0
  346. package/dist/ui/StackSelector.js.map +1 -0
  347. package/dist/ui/Summary.d.ts +12 -0
  348. package/dist/ui/Summary.d.ts.map +1 -0
  349. package/dist/ui/Summary.js +114 -0
  350. package/dist/ui/Summary.js.map +1 -0
  351. package/dist/ui/SyncUI.d.ts +10 -0
  352. package/dist/ui/SyncUI.d.ts.map +1 -0
  353. package/dist/ui/SyncUI.js +64 -0
  354. package/dist/ui/SyncUI.js.map +1 -0
  355. package/dist/ui/Welcome.d.ts +7 -0
  356. package/dist/ui/Welcome.d.ts.map +1 -0
  357. package/dist/ui/Welcome.js +45 -0
  358. package/dist/ui/Welcome.js.map +1 -0
  359. package/dist/ui/theme.d.ts +10 -0
  360. package/dist/ui/theme.d.ts.map +1 -0
  361. package/dist/ui/theme.js +9 -0
  362. package/dist/ui/theme.js.map +1 -0
  363. package/modules/engram/.gitignore-snippet.txt +6 -0
  364. package/modules/engram/.mcp-config-snippet.json +11 -0
  365. package/modules/engram/README.md +146 -0
  366. package/modules/engram/install-engram.sh +216 -0
  367. package/modules/ghagga/.env.example +43 -0
  368. package/modules/ghagga/README.md +153 -0
  369. package/modules/ghagga/docker-compose.yml +80 -0
  370. package/modules/ghagga/setup-ghagga.sh +139 -0
  371. package/modules/memory-simple/.project/NOTES.md +22 -0
  372. package/modules/memory-simple/README.md +23 -0
  373. package/modules/obsidian-brain/.obsidian/app.json +23 -0
  374. package/modules/obsidian-brain/.obsidian/appearance.json +5 -0
  375. package/modules/obsidian-brain/.obsidian/bookmarks.json +34 -0
  376. package/modules/obsidian-brain/.obsidian/community-plugins.json +1 -0
  377. package/modules/obsidian-brain/.obsidian/core-plugins-migration.json +21 -0
  378. package/modules/obsidian-brain/.obsidian/core-plugins.json +18 -0
  379. package/modules/obsidian-brain/.obsidian/daily-notes.json +5 -0
  380. package/modules/obsidian-brain/.obsidian/graph.json +37 -0
  381. package/modules/obsidian-brain/.obsidian/hotkeys.json +14 -0
  382. package/modules/obsidian-brain/.obsidian/plugins/dataview/data.json +25 -0
  383. package/modules/obsidian-brain/.obsidian/plugins/obsidian-kanban/data.json +29 -0
  384. package/modules/obsidian-brain/.obsidian/plugins/templater-obsidian/data.json +18 -0
  385. package/modules/obsidian-brain/.obsidian/snippets/project-memory.css +71 -0
  386. package/modules/obsidian-brain/.obsidian-gitignore-snippet.txt +8 -0
  387. package/modules/obsidian-brain/.project/Attachments/.gitkeep +0 -0
  388. package/modules/obsidian-brain/.project/Memory/BLOCKERS.md +78 -0
  389. package/modules/obsidian-brain/.project/Memory/CONTEXT.md +102 -0
  390. package/modules/obsidian-brain/.project/Memory/DASHBOARD.md +73 -0
  391. package/modules/obsidian-brain/.project/Memory/DECISIONS.md +87 -0
  392. package/modules/obsidian-brain/.project/Memory/KANBAN.md +15 -0
  393. package/modules/obsidian-brain/.project/Memory/README.md +61 -0
  394. package/modules/obsidian-brain/.project/Memory/WAVES.md +78 -0
  395. package/modules/obsidian-brain/.project/Sessions/TEMPLATE.md +99 -0
  396. package/modules/obsidian-brain/.project/Templates/ADR.md +33 -0
  397. package/modules/obsidian-brain/.project/Templates/Blocker.md +21 -0
  398. package/modules/obsidian-brain/.project/Templates/Session.md +88 -0
  399. package/modules/obsidian-brain/README.md +268 -0
  400. package/modules/obsidian-brain/new-wave.sh +182 -0
  401. package/package.json +51 -0
  402. package/schemas/agent.schema.json +34 -0
  403. package/schemas/ai-config.schema.json +28 -0
  404. package/schemas/skill.schema.json +44 -0
  405. package/src/commands/analyze.test.ts +145 -0
  406. package/src/commands/analyze.ts +69 -0
  407. package/src/commands/doctor.test.ts +208 -0
  408. package/src/commands/doctor.ts +163 -0
  409. package/src/commands/init.test.ts +298 -0
  410. package/src/commands/init.ts +285 -0
  411. package/src/constants.ts +69 -0
  412. package/src/e2e/aggressive.e2e.test.ts +557 -0
  413. package/src/e2e/commands.e2e.test.ts +298 -0
  414. package/src/index.tsx +106 -0
  415. package/src/lib/common.test.ts +318 -0
  416. package/src/lib/common.ts +127 -0
  417. package/src/lib/frontmatter.test.ts +291 -0
  418. package/src/lib/frontmatter.ts +77 -0
  419. package/src/lib/template.test.ts +226 -0
  420. package/src/lib/template.ts +99 -0
  421. package/src/types/index.ts +53 -0
  422. package/src/ui/AnalyzeUI.tsx +133 -0
  423. package/src/ui/App.tsx +175 -0
  424. package/src/ui/CIContext.tsx +25 -0
  425. package/src/ui/CISelector.tsx +72 -0
  426. package/src/ui/Doctor.tsx +122 -0
  427. package/src/ui/Header.tsx +48 -0
  428. package/src/ui/MemorySelector.tsx +73 -0
  429. package/src/ui/NameInput.tsx +82 -0
  430. package/src/ui/OptionSelector.tsx +100 -0
  431. package/src/ui/Progress.tsx +88 -0
  432. package/src/ui/StackSelector.tsx +101 -0
  433. package/src/ui/Summary.tsx +134 -0
  434. package/src/ui/Welcome.tsx +54 -0
  435. package/src/ui/theme.ts +10 -0
  436. package/stryker.config.json +19 -0
  437. package/tasks/_TEMPLATE/files-edited.md +3 -0
  438. package/tasks/_TEMPLATE/plan.md +3 -0
  439. package/tasks/_TEMPLATE/research.md +3 -0
  440. package/tasks/_TEMPLATE/verification.md +5 -0
  441. package/templates/common/dependabot/cargo.yml +11 -0
  442. package/templates/common/dependabot/github-actions.yml +16 -0
  443. package/templates/common/dependabot/gomod.yml +15 -0
  444. package/templates/common/dependabot/gradle.yml +15 -0
  445. package/templates/common/dependabot/header.yml +3 -0
  446. package/templates/common/dependabot/maven.yml +15 -0
  447. package/templates/common/dependabot/npm.yml +20 -0
  448. package/templates/common/dependabot/pip.yml +11 -0
  449. package/templates/dependabot.yml +162 -0
  450. package/templates/github/ci-go.yml +41 -0
  451. package/templates/github/ci-java.yml +45 -0
  452. package/templates/github/ci-monorepo.yml +150 -0
  453. package/templates/github/ci-node.yml +42 -0
  454. package/templates/github/ci-python.yml +42 -0
  455. package/templates/github/ci-rust.yml +42 -0
  456. package/templates/github/dependabot-automerge.yml +40 -0
  457. package/templates/gitlab/gitlab-ci-go.yml +88 -0
  458. package/templates/gitlab/gitlab-ci-java.yml +79 -0
  459. package/templates/gitlab/gitlab-ci-monorepo.yml +126 -0
  460. package/templates/gitlab/gitlab-ci-node.yml +63 -0
  461. package/templates/gitlab/gitlab-ci-python.yml +147 -0
  462. package/templates/gitlab/gitlab-ci-rust.yml +67 -0
  463. package/templates/global/claude-settings.json +98 -0
  464. package/templates/global/codex-config.toml +8 -0
  465. package/templates/global/copilot-instructions/base-rules.instructions.md +13 -0
  466. package/templates/global/copilot-instructions/sdd-orchestrator.instructions.md +37 -0
  467. package/templates/global/gemini-commands/cleanup.toml +20 -0
  468. package/templates/global/gemini-commands/commit.toml +15 -0
  469. package/templates/global/gemini-commands/dead-code.toml +22 -0
  470. package/templates/global/gemini-commands/plan.toml +30 -0
  471. package/templates/global/gemini-commands/review.toml +17 -0
  472. package/templates/global/gemini-commands/sdd-apply.toml +22 -0
  473. package/templates/global/gemini-commands/sdd-ff.toml +14 -0
  474. package/templates/global/gemini-commands/sdd-new.toml +21 -0
  475. package/templates/global/gemini-commands/sdd-verify.toml +21 -0
  476. package/templates/global/gemini-commands/tdd.toml +26 -0
  477. package/templates/global/gemini-settings.json +8 -0
  478. package/templates/global/opencode-config.json +44 -0
  479. package/templates/global/sdd-instructions.md +47 -0
  480. package/templates/global/sdd-orchestrator-claude.md +46 -0
  481. package/templates/global/sdd-orchestrator-copilot.md +34 -0
  482. package/templates/renovate.json +69 -0
  483. package/templates/woodpecker/monorepo/backend.yml +34 -0
  484. package/templates/woodpecker/monorepo/frontend.yml +34 -0
  485. package/templates/woodpecker/monorepo/summary.yml +25 -0
  486. package/templates/woodpecker/woodpecker-go.yml +51 -0
  487. package/templates/woodpecker/woodpecker-java.yml +67 -0
  488. package/templates/woodpecker/woodpecker-node.yml +47 -0
  489. package/templates/woodpecker/woodpecker-python.yml +108 -0
  490. package/templates/woodpecker/woodpecker-rust.yml +57 -0
  491. package/tsconfig.json +19 -0
  492. package/vitest.config.ts +16 -0
  493. package/workflows/reusable-build-go.yml +111 -0
  494. package/workflows/reusable-build-java.yml +120 -0
  495. package/workflows/reusable-build-node.yml +145 -0
  496. package/workflows/reusable-build-python.yml +159 -0
  497. package/workflows/reusable-build-rust.yml +135 -0
  498. package/workflows/reusable-docker.yml +120 -0
  499. package/workflows/reusable-ghagga-review.yml +165 -0
  500. package/workflows/reusable-release.yml +91 -0
@@ -0,0 +1,199 @@
1
+ ---
2
+ name: obsidian-brain-workflow
3
+ description: >
4
+ Guide for working with Obsidian Brain project memory: Kanban board, Dataview inline fields,
5
+ Templater templates, and wave integration.
6
+ Trigger: obsidian brain, kanban board, project memory, dataview, session tracking
7
+ tools:
8
+ - Read
9
+ - Write
10
+ - Bash
11
+ - Grep
12
+ metadata:
13
+ author: project-starter-framework
14
+ version: "1.0"
15
+ tags: [workflow, obsidian, kanban, dataview, memory, sessions]
16
+ updated: "2026-02"
17
+ ---
18
+
19
+ # Obsidian Brain Workflow
20
+
21
+ Manage project memory using Obsidian-compatible markdown with Kanban, Dataview, and Templater.
22
+
23
+ ## Session Start Checklist
24
+
25
+ At the beginning of every session:
26
+
27
+ 1. **Read CONTEXT.md** - Current project state
28
+ ```bash
29
+ cat .project/Memory/CONTEXT.md
30
+ ```
31
+
32
+ 2. **Check KANBAN.md** - Active tasks and their lanes
33
+ ```bash
34
+ cat .project/Memory/KANBAN.md
35
+ ```
36
+
37
+ 3. **Review BLOCKERS.md** - Any open blockers
38
+ ```bash
39
+ grep "status:: open" .project/Memory/BLOCKERS.md
40
+ ```
41
+
42
+ 4. **Create session file** - Copy template or use Templater
43
+ ```bash
44
+ cp .project/Sessions/TEMPLATE.md .project/Sessions/$(date +%Y-%m-%d).md
45
+ ```
46
+
47
+ ## KANBAN.md Format
48
+
49
+ The Kanban board uses Obsidian Kanban plugin format. Each lane is an H2 heading, each task is a checkbox item.
50
+
51
+ ```markdown
52
+ ---
53
+ kanban-plugin: board
54
+ ---
55
+
56
+ ## Backlog
57
+ - [ ] T-001 Setup monorepo #wave
58
+ - [ ] T-005 Add monitoring
59
+
60
+ ## En Progreso
61
+ - [ ] T-002 Configure CI #wave
62
+
63
+ ## Review
64
+ - [ ] T-003 Add linters #wave
65
+
66
+ ## Completado
67
+ - [x] T-000 Init project
68
+
69
+ **Complete**
70
+ ```
71
+
72
+ ### Moving Tasks Between Lanes
73
+
74
+ **Without Obsidian (AI CLI or manual edit):**
75
+ - Cut the `- [ ]` line from one H2 section
76
+ - Paste it under the target H2 section
77
+ - When completing: change `- [ ]` to `- [x]`
78
+
79
+ **With Obsidian:**
80
+ - Drag and drop cards between lanes
81
+
82
+ ### Tags
83
+
84
+ - `#wave` - Part of current wave
85
+ - `#blocker` - Has an associated blocker
86
+ - `#review` - Needs review
87
+
88
+ ## Dataview Inline Fields
89
+
90
+ Memory files use Dataview inline fields for automatic queries. Format: `key:: value`
91
+
92
+ ### Required Fields Reference
93
+
94
+ | File | Required Fields | Notes |
95
+ |------|----------------|-------|
96
+ | DECISIONS.md (ADRs) | `type:: adr`, `status::`, `date::` | Without these, DASHBOARD queries return empty |
97
+ | BLOCKERS.md | `type:: blocker`, `status::`, `impact::`, `date::` | `impact` values: `alto`, `medio`, `bajo` |
98
+ | Sessions/*.md | frontmatter `type: session`, `date`, `phase`, `wave` | Use YAML frontmatter, not inline fields |
99
+
100
+ ### ADR Fields (DECISIONS.md)
101
+
102
+ ```markdown
103
+ ## ADR-002: Use PostgreSQL
104
+
105
+ type:: adr
106
+ status:: aceptada
107
+ date:: 2026-01-15
108
+ ```
109
+
110
+ ### Blocker Fields (BLOCKERS.md)
111
+
112
+ ```markdown
113
+ ### BLOCKER-003: Docker build fails
114
+
115
+ type:: blocker
116
+ status:: open
117
+ impact:: alto
118
+ date:: 2026-01-20
119
+ ```
120
+
121
+ ### Valid Status Values
122
+
123
+ | File | Valid Statuses |
124
+ |------|---------------|
125
+ | ADRs | `pendiente`, `aceptada`, `rechazada`, `deprecada` |
126
+ | Blockers | `open`, `investigating`, `resolved`, `workaround` |
127
+
128
+ ### Resolving a Blocker
129
+
130
+ When resolving, update both the inline field and the content:
131
+
132
+ ```markdown
133
+ ### BLOCKER-003: Docker build fails
134
+
135
+ type:: blocker
136
+ status:: resolved
137
+ impact:: alto
138
+ date:: 2026-01-20
139
+
140
+ **Solucion:**
141
+ Changed base image from alpine to debian-slim.
142
+ ```
143
+
144
+ ## Wave + Kanban Integration
145
+
146
+ KANBAN.md is for day-to-day task tracking. WAVES.md is the historical record.
147
+
148
+ ### Creating a Wave
149
+
150
+ 1. Add tasks to KANBAN.md Backlog with `#wave` tag
151
+ 2. Run `./scripts/new-wave.sh "T-001 T-002 T-003"`
152
+ 3. Move tagged tasks to "En Progreso" in KANBAN.md
153
+
154
+ ### Completing a Wave
155
+
156
+ 1. Move all wave tasks to "Completado" in KANBAN.md
157
+ 2. Run `./scripts/new-wave.sh --complete`
158
+ 3. Remove `#wave` tags from completed tasks
159
+
160
+ ## Templates
161
+
162
+ ### Manual (without Templater)
163
+
164
+ Copy the template file and fill in placeholders:
165
+
166
+ ```bash
167
+ # New session
168
+ cp .project/Sessions/TEMPLATE.md .project/Sessions/2026-01-15.md
169
+
170
+ # New ADR - append to DECISIONS.md using the template at the bottom
171
+ # New Blocker - append to BLOCKERS.md using the template at the bottom
172
+ ```
173
+
174
+ ### With Templater (Obsidian)
175
+
176
+ Use Ctrl+T (or Cmd+T) to insert templates that auto-fill dates and prompt for values:
177
+
178
+ - `Session.md` - Creates session with current date, prompts for phase/wave/branch
179
+ - `ADR.md` - Creates ADR entry, prompts for number/title/context/decision
180
+ - `Blocker.md` - Creates blocker entry, prompts for number/title/impact
181
+
182
+ ## Session End Checklist
183
+
184
+ At the end of every session:
185
+
186
+ 1. **Update CONTEXT.md** - Reflect current state
187
+ 2. **Update KANBAN.md** - Move tasks to correct lanes
188
+ 3. **Complete session file** - Fill summary section
189
+ 4. **Record blockers** - If any new ones appeared
190
+ 5. **Record decisions** - If any ADRs were made
191
+
192
+ ## Dashboard
193
+
194
+ DASHBOARD.md contains Dataview queries that auto-update in Obsidian:
195
+ - Recent decisions
196
+ - Active blockers
197
+ - Recent sessions
198
+
199
+ Without Obsidian, it shows as code blocks (read-only reference).
@@ -0,0 +1,100 @@
1
+ ---
2
+ name: using-git-worktrees
3
+ description: >
4
+ Gestiona múltiples branches en paralelo con Git worktrees para mantener contextos separados.
5
+ Trigger: worktree, trabajo en paralelo, hotfix mientras desarrollás, múltiples branches simultáneos
6
+ tools:
7
+ - Bash
8
+ - Read
9
+ metadata:
10
+ author: project-starter-framework
11
+ version: "1.0"
12
+ tags: [git, workflow, branches, parallel]
13
+ updated: "2026-02"
14
+ ---
15
+
16
+ # Git Worktrees Skill
17
+
18
+ ## ¿Qué son los Worktrees?
19
+
20
+ Git worktrees permiten tener múltiples branches del mismo repositorio checked out simultáneamente en directorios separados. Ideal para:
21
+
22
+ - Hacer un hotfix urgente sin perder el trabajo en progreso
23
+ - Revisar otro branch sin stashing
24
+ - Correr tests de dos versiones en paralelo
25
+
26
+ ## Comandos Esenciales
27
+
28
+ ```bash
29
+ # Ver worktrees actuales
30
+ git worktree list
31
+
32
+ # Crear worktree para branch existente
33
+ git worktree add ../proyecto-hotfix hotfix/critical-bug
34
+
35
+ # Crear worktree con nuevo branch desde main
36
+ git worktree add -b feature/nueva ../proyecto-nueva main
37
+
38
+ # Eliminar worktree
39
+ git worktree remove ../proyecto-hotfix
40
+
41
+ # Limpiar referencias huérfanas
42
+ git worktree prune
43
+ ```
44
+
45
+ ## Flujo de Trabajo
46
+
47
+ ### Hotfix Urgente Durante Feature Development
48
+
49
+ ```bash
50
+ # Situación: trabajando en feature/dashboard, llega bug urgente
51
+
52
+ # 1. Crear worktree para el hotfix (sin afectar tu trabajo)
53
+ git worktree add ../mi-proyecto-hotfix -b hotfix/login-crash main
54
+
55
+ # 2. Ir al worktree del hotfix
56
+ cd ../mi-proyecto-hotfix
57
+
58
+ # 3. Hacer el fix, testear, commitear
59
+ git commit -m "fix(auth): prevent crash on empty session"
60
+ git push origin hotfix/login-crash
61
+
62
+ # 4. Volver a tu feature
63
+ cd ../mi-proyecto
64
+
65
+ # 5. Limpiar después del merge
66
+ git worktree remove ../mi-proyecto-hotfix
67
+ ```
68
+
69
+ ### Comparar Implementaciones
70
+
71
+ ```bash
72
+ # Tener la versión actual y la refactorizada corriendo en paralelo
73
+ git worktree add ../proyecto-v2 refactor/new-arch
74
+
75
+ # Terminal 1: cd ../mi-proyecto && go run . -port 8080
76
+ # Terminal 2: cd ../proyecto-v2 && go run . -port 8081
77
+ # Comparar comportamiento
78
+ ```
79
+
80
+ ## Convenciones de Naming
81
+
82
+ Usar directorios hermanos al repo principal:
83
+
84
+ ```
85
+ ~/projects/
86
+ mi-proyecto/ # repo principal
87
+ mi-proyecto-hotfix/ # worktree hotfix
88
+ mi-proyecto-review/ # worktree para revisar PR
89
+ ```
90
+
91
+ ## Limitaciones
92
+
93
+ - No podés hacer checkout del mismo branch en dos worktrees
94
+ - Los stashes son compartidos (cuidado al usar `git stash`)
95
+ - Algunos IDEs no detectan múltiples worktrees automáticamente
96
+
97
+ ## Related Skills
98
+
99
+ - git-github
100
+ - git-workflow
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: verification-before-completion
3
+ description: >
4
+ Ejecuta un checklist de verificación estándar antes de marcar una tarea como completa.
5
+ Trigger: antes de terminar, marcar como done, cerrar tarea, completar feature, verification checklist
6
+ tools:
7
+ - Bash
8
+ - Read
9
+ metadata:
10
+ author: project-starter-framework
11
+ version: "1.0"
12
+ tags: [workflow, quality, checklist, done]
13
+ updated: "2026-02"
14
+ ---
15
+
16
+ # Verification Before Completion Skill
17
+
18
+ ## Propósito
19
+
20
+ Antes de declarar una tarea como completa, ejecutar un checklist sistemático para garantizar calidad y evitar regresiones.
21
+
22
+ ## Checklist Universal
23
+
24
+ ### 1. Tests
25
+ - [ ] Los tests unitarios pasan: `npm test` / `go test ./...` / `pytest`
26
+ - [ ] Los tests de integración pasan (si existen)
27
+ - [ ] No hay tests nuevos saltados o deshabilitados sin justificación
28
+ - [ ] La cobertura no decreció significativamente
29
+
30
+ ### 2. Código
31
+ - [ ] El linter no reporta errores nuevos
32
+ - [ ] No hay `console.log`, `print()` o `fmt.Println` de debug sin remover
33
+ - [ ] No hay código comentado innecesario (está en git history)
34
+ - [ ] No hay TODOs sin resolver relacionados a esta tarea
35
+
36
+ ### 3. Git
37
+ - [ ] Los cambios están en el branch correcto
38
+ - [ ] El branch está actualizado con el base branch (`git pull --rebase origin main`)
39
+ - [ ] No hay archivos staged innecesarios (`.env`, archivos generados)
40
+ - [ ] Los mensajes de commit siguen Conventional Commits
41
+
42
+ ### 4. Funcionalidad
43
+ - [ ] La feature funciona en el happy path
44
+ - [ ] Los edge cases identificados están manejados
45
+ - [ ] El error handling es apropiado
46
+ - [ ] El comportamiento es consistent con los requerimientos
47
+
48
+ ### 5. Documentación
49
+ - [ ] El README está actualizado si cambiaron instrucciones de setup
50
+ - [ ] Los cambios de API están documentados
51
+ - [ ] Los comentarios en código son correctos y útiles
52
+
53
+ ## Comandos de Verificación Rápida
54
+
55
+ ```bash
56
+ # Verificación completa en un solo bloque
57
+ git status && \
58
+ git diff --stat origin/main...HEAD && \
59
+ go test ./... 2>&1 | tail -5 && \
60
+ echo "=== VERIFICATION COMPLETE ==="
61
+ ```
62
+
63
+ ## Cuándo NO completar
64
+
65
+ - Si algún item del checklist falla → resolverlo primero
66
+ - Si hay dudas sobre el comportamiento → consultar antes de marcar done
67
+ - Si hay deuda técnica significativa introducida → crear issue para tracking
68
+
69
+ ## Related Skills
70
+
71
+ - git-github
72
+ - git-workflow
73
+ - finishing-a-development-branch
@@ -0,0 +1,178 @@
1
+ ---
2
+ name: wave-workflow
3
+ description: >
4
+ Guide for executing parallel task waves using VibeKanban integration.
5
+ Trigger: parallel execution, task waves, oleadas, multiple tasks, wave planning
6
+ tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Grep
11
+ metadata:
12
+ author: project-starter-framework
13
+ version: "2.0"
14
+ tags: [workflow, parallel, vibekanban, tasks, oleadas]
15
+ updated: "2026-02"
16
+ ---
17
+
18
+ # Wave Workflow (Oleadas)
19
+
20
+ Execute tasks in parallel waves based on dependency analysis.
21
+
22
+ ## Concept
23
+
24
+ ```
25
+ Oleada 1: [T-001] [T-002] [T-003] ← No dependencies, run in parallel
26
+ ↓ merge all → develop
27
+ Oleada 2: [T-004] [T-005] ← Depend on Oleada 1
28
+ ↓ merge all → develop
29
+ Release: develop → main
30
+ ```
31
+
32
+ ## Quick Commands
33
+
34
+ ```bash
35
+ # View current wave status
36
+ ./scripts/new-wave.sh --list
37
+
38
+ # Create new wave with tasks
39
+ ./scripts/new-wave.sh "T-001 T-002 T-003"
40
+
41
+ # Create branches for all tasks
42
+ ./scripts/new-wave.sh --create-branches
43
+
44
+ # Mark wave as complete
45
+ ./scripts/new-wave.sh --complete
46
+ ```
47
+
48
+ ## Workflow Steps
49
+
50
+ ### 1. Analyze Dependencies
51
+ Before creating a wave, identify which tasks can run in parallel:
52
+ - Tasks with NO dependencies on each other → Same wave
53
+ - Tasks that depend on others → Next wave
54
+
55
+ ### 2. Create Wave
56
+ ```bash
57
+ ./scripts/new-wave.sh "T-001 T-002 T-003"
58
+ ```
59
+
60
+ This:
61
+ - Creates entry in `.project/Memory/WAVES.md`
62
+ - Records start timestamp
63
+ - Sets wave status to "in-progress"
64
+
65
+ ### 3. Create Branches
66
+ ```bash
67
+ ./scripts/new-wave.sh --create-branches
68
+ ```
69
+
70
+ Creates:
71
+ - `feature/t-001-description`
72
+ - `feature/t-002-description`
73
+ - `feature/t-003-description`
74
+
75
+ ### 4. Work on Tasks (Parallel)
76
+ Each task can be worked on independently:
77
+
78
+ ```bash
79
+ # Terminal 1
80
+ git checkout feature/t-001
81
+ # ... work ...
82
+ git commit -m "feat(scope): implement T-001"
83
+ git push
84
+
85
+ # Terminal 2
86
+ git checkout feature/t-002
87
+ # ... work ...
88
+ git commit -m "feat(scope): implement T-002"
89
+ git push
90
+ ```
91
+
92
+ ### 5. Create PRs
93
+ For each task, create PR to `develop`:
94
+ ```bash
95
+ gh pr create --base develop --title "feat: T-001 description"
96
+ ```
97
+
98
+ ### 6. Merge Wave
99
+ Once ALL tasks in wave are complete and PRs approved:
100
+ ```bash
101
+ # Merge all PRs to develop
102
+ gh pr merge <pr-number> --merge
103
+ ```
104
+
105
+ ### 7. Complete Wave
106
+ ```bash
107
+ ./scripts/new-wave.sh --complete
108
+ ```
109
+
110
+ This:
111
+ - Updates `.project/Memory/WAVES.md`
112
+ - Records completion timestamp
113
+ - Deletes merged branches (optional)
114
+
115
+ ### 8. Next Wave
116
+ Repeat for the next wave of tasks.
117
+
118
+ ## Best Practices
119
+
120
+ ### Dependency Analysis
121
+ - Draw a simple dependency graph
122
+ - Group independent tasks
123
+ - Never exceed ~15 parallel tasks (cognitive limit)
124
+
125
+ ### Branch Naming
126
+ - `feature/t-xxx-short-description`
127
+ - `fix/t-xxx-bug-description`
128
+ - Keep descriptions short (max 3-4 words)
129
+
130
+ ### PR Strategy
131
+ - One PR per task
132
+ - Base all PRs on `develop`
133
+ - Review in batches when possible
134
+
135
+ ### Merge Order
136
+ - Merge in any order if truly independent
137
+ - If hidden dependencies found, pause and re-analyze
138
+
139
+ ## Integration with VibeKanban
140
+
141
+ Tasks come from VibeKanban:
142
+ 1. List tasks: `mcp__vibe_kanban__list_tasks`
143
+ 2. Get details: `mcp__vibe_kanban__get_task`
144
+ 3. Update status: `mcp__vibe_kanban__update_task`
145
+
146
+ ### Sync Workflow
147
+ ```
148
+ VibeKanban (todo) → Wave created → Work → PR merged → VibeKanban (done)
149
+ ```
150
+
151
+ ## Example Session
152
+
153
+ ```bash
154
+ # Morning: Analyze and plan
155
+ ./scripts/new-wave.sh --list
156
+
157
+ # Create Oleada 3
158
+ ./scripts/new-wave.sh "T-010 T-011 T-012 T-013"
159
+
160
+ # Create branches
161
+ ./scripts/new-wave.sh --create-branches
162
+
163
+ # Work through the day...
164
+ # Each dev takes 1-2 tasks
165
+
166
+ # End of day: All merged
167
+ ./scripts/new-wave.sh --complete
168
+
169
+ # Check what's next
170
+ ./scripts/new-wave.sh --list
171
+ ```
172
+
173
+ ## Memory Files
174
+
175
+ Wave progress is tracked in:
176
+ - `.project/Memory/WAVES.md` - All waves history
177
+ - `.project/Memory/CONTEXT.md` - Current state summary
178
+ - `.project/Memory/KANBAN.md` - Visual task board (Obsidian Brain)
@@ -0,0 +1,170 @@
1
+ # CI-Local: Universal CI Simulation
2
+
3
+ Reproduce tu CI/CD localmente antes de push. Si pasa local → pasa en GitHub Actions/GitLab CI.
4
+
5
+ ## Stack Soportados (auto-detectados)
6
+
7
+ | Stack | Build Tool | Lint | Test |
8
+ |-------|------------|------|------|
9
+ | Java | Gradle | spotlessCheck | ./gradlew test |
10
+ | Java | Maven | spotless:check | ./mvnw test |
11
+ | Node.js | npm/yarn/pnpm | lint | test |
12
+ | Python | pip/poetry | ruff/pylint | pytest |
13
+ | Go | go | golangci-lint | go test |
14
+ | Rust | cargo | clippy | cargo test |
15
+
16
+ ## Instalación (30 segundos)
17
+
18
+ ### Copiar a un proyecto nuevo
19
+
20
+ ```bash
21
+ # Copiar CI-Local y su dependencia lib/
22
+ cp -r .ci-local /path/to/new-project/
23
+ cp -r lib /path/to/new-project/
24
+
25
+ # En el nuevo proyecto
26
+ cd /path/to/new-project
27
+ ./.ci-local/install.sh # Linux/Mac
28
+ # o
29
+ .\.ci-local\install.ps1 # Windows
30
+ ```
31
+
32
+ > **Importante:** CI-Local depende de `lib/common.sh` (funciones compartidas). Copiar siempre ambos directorios.
33
+
34
+ ### Dependencias opcionales
35
+
36
+ ```bash
37
+ # Semgrep (análisis de seguridad, muy recomendado)
38
+ # Si Semgrep no está instalado localmente, CI-Local hace fallback automático
39
+ # a una imagen Docker de Semgrep cuando Docker está disponible.
40
+ pip install semgrep
41
+
42
+ # Docker (requerido para CI simulation y fallback de Semgrep)
43
+ # Instalar Docker Desktop
44
+ ```
45
+
46
+ ## Uso
47
+
48
+ ### Automático (hooks)
49
+
50
+ ```bash
51
+ git commit -m "..." # → pre-commit: AI check + lint + security (~30s)
52
+ # → commit-msg: valida mensaje sin AI attribution
53
+ git push # → pre-push: CI completo en Docker (~3min)
54
+ ```
55
+
56
+ ### AI Attribution Blocker
57
+
58
+ Los hooks bloquean automáticamente:
59
+ - `Co-authored-by: Claude`, `Co-authored-by: GPT`, etc.
60
+ - `Made by Claude`, `Generated by AI`, `Written by GPT`
61
+ - Referencias a `@anthropic.com`, `@openai.com`
62
+ - Nombres de modelos: `claude opus`, `gpt-4`, `chatgpt`, etc.
63
+
64
+ **Tú eres el único autor de tu código.**
65
+
66
+ ### Manual
67
+
68
+ ```bash
69
+ # Windows
70
+ .\.ci-local\ci-local.ps1 quick # Lint + compile
71
+ .\.ci-local\ci-local.ps1 full # CI completo
72
+ .\.ci-local\ci-local.ps1 shell # Shell en entorno CI
73
+ .\.ci-local\ci-local.ps1 detect # Ver stack detectado
74
+
75
+ # Linux/Mac
76
+ ./.ci-local/ci-local.sh quick
77
+ ./.ci-local/ci-local.sh full
78
+ ./.ci-local/ci-local.sh shell
79
+ ./.ci-local/ci-local.sh detect
80
+ ```
81
+
82
+ ### Skipear hooks (emergencia)
83
+
84
+ ```bash
85
+ git commit --no-verify
86
+ git push --no-verify
87
+ ```
88
+
89
+ ## Como Funciona
90
+
91
+ ```
92
+ Developer workflow:
93
+
94
+ 1. Editar codigo
95
+ 2. git add .
96
+ 3. git commit -m "feat: add feature"
97
+ |
98
+ pre-commit hook:
99
+ - [1/3] Verificar atribucion AI (BLOQUEADO si encuentra)
100
+ - [2/3] Scan de seguridad Semgrep (reglas locales)
101
+ - [3/3] Compile check rapido
102
+ |
103
+ commit-msg hook:
104
+ - Validar formato conventional commit
105
+ |
106
+ 4. git push
107
+ |
108
+ pre-push hook:
109
+ - Detectar stack (Java/Node/Python/Go/Rust)
110
+ - Generar Dockerfile para el stack
111
+ - Construir imagen Docker (con cache de hash)
112
+ - Ejecutar test suite completo en contenedor
113
+ |
114
+ 5. Push exitoso → CI remoto pasara
115
+ ```
116
+
117
+ ## Estructura
118
+
119
+ ```
120
+ .ci-local/
121
+ ├── ci-local.ps1 # Script principal (Windows)
122
+ ├── ci-local.sh # Script principal (Linux/Mac)
123
+ ├── install.ps1 # Instalador Windows
124
+ ├── install.sh # Instalador Linux/Mac
125
+ ├── semgrep.yml # Reglas de seguridad
126
+ ├── README.md # Esta guía
127
+ ├── hooks/
128
+ │ ├── pre-commit # AI check + lint + security
129
+ │ ├── commit-msg # Valida mensaje sin AI attribution
130
+ │ └── pre-push # CI simulation en Docker
131
+ └── docker/
132
+ └── *.Dockerfile # Se generan automáticamente
133
+
134
+ lib/ # Dependencia requerida (copiar junto con .ci-local/)
135
+ ├── common.sh # Funciones compartidas (Bash)
136
+ └── Common.psm1 # Funciones compartidas (PowerShell)
137
+ ```
138
+
139
+ ## Personalización
140
+
141
+ ### Agregar reglas Semgrep específicas
142
+
143
+ Editar `.ci-local/semgrep.yml` o crear `.semgrep.yml` en la raíz.
144
+
145
+ ### Cambiar comandos de lint/test
146
+
147
+ Editar `lib/common.sh` (detección de stack) o `setup_ci_commands()` en `ci-local.sh` (comandos CI).
148
+
149
+ ### Docker image custom
150
+
151
+ Editar los Dockerfiles en `.ci-local/docker/` después de la primera ejecución.
152
+
153
+ ## FAQ
154
+
155
+ **¿Por qué falla en CI pero no en ci-local?**
156
+ - Verifica que Docker esté corriendo con la misma imagen
157
+ - Usa `ci-local.sh shell` para debug interactivo
158
+
159
+ **¿Cómo acelerar el pre-push?**
160
+ - Usa Docker image cache para evitar rebuilds innecesarios
161
+ - Usa `--no-verify` si estás seguro (no recomendado)
162
+
163
+ **¿Funciona sin Docker?**
164
+ - Los hooks de pre-commit funcionan sin Docker
165
+ - El pre-push requiere Docker para simular CI real
166
+
167
+ **¿Qué pasa si Semgrep no está instalado?**
168
+ - CI-Local detecta si Semgrep está disponible localmente
169
+ - Si no está instalado pero Docker está corriendo, usa la imagen `semgrep/semgrep` como fallback automático
170
+ - Si ni Semgrep ni Docker están disponibles, el scan de seguridad se omite con advertencia