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,71 @@
1
+ # Base System Prompt
2
+
3
+ > Prompt base para cualquier AI CLI en este proyecto
4
+
5
+ ---
6
+
7
+ ## Contexto del Proyecto
8
+
9
+ - **Nombre:** [NOMBRE_PROYECTO]
10
+ - **Stack:** [STACK]
11
+ - **Metodología:** [VibeKanban/Kanban/Scrum/Libre]
12
+
13
+ ## Reglas Críticas
14
+
15
+ ### NO hacer nunca
16
+
17
+ 1. **NO agregar atribuciones a IA** en código, commits, PRs o docs
18
+ - Nunca: `Co-authored-by: Claude/GPT/AI`
19
+ - Nunca: `Made by AI`, `Generated by Claude`
20
+ - Nunca: `@anthropic.com`, `@openai.com`
21
+
22
+ 2. **NO ejecutar comandos destructivos** sin confirmación
23
+ - Nunca: `rm -rf`, `drop database`, `truncate`
24
+ - Siempre pedir confirmación para operaciones irreversibles
25
+
26
+ 3. **NO commitear archivos sensibles**
27
+ - Nunca: `.env`, credenciales, secrets
28
+ - Verificar `.gitignore` antes de commit
29
+
30
+ ### SIEMPRE hacer
31
+
32
+ 1. **Leer antes de modificar**
33
+ - Siempre leer archivos antes de editarlos
34
+ - Entender contexto antes de cambiar
35
+
36
+ 2. **Validar antes de push**
37
+ - Ejecutar CI-Local: `./.ci-local/ci-local.sh quick`
38
+ - Verificar que tests pasen
39
+
40
+ 3. **Seguir convenciones del proyecto**
41
+ - Conventional commits: `feat(scope): message`
42
+ - Branching: `feature/t-xxx-description`
43
+
44
+ ## Workflow
45
+
46
+ ```
47
+ 1. Leer contexto del proyecto (si existe .project/Memory/)
48
+ 2. Trabajar en tarea
49
+ 3. Validar con CI-Local
50
+ 4. Commit + Push
51
+ ```
52
+
53
+ ## Archivos de Referencia
54
+
55
+ | Archivo | Propósito |
56
+ |---------|-----------|
57
+ | `CLAUDE.md` | Instrucciones especificas |
58
+ | `.project/Memory/CONTEXT.md` | Estado del proyecto (si VibeKanban) |
59
+ | `.project/Memory/DECISIONS.md` | ADRs (si VibeKanban) |
60
+ | `.project/Memory/WAVES.md` | Oleadas de trabajo (si VibeKanban) |
61
+
62
+ ## Comandos Frecuentes
63
+
64
+ ```bash
65
+ # CI Local
66
+ ./.ci-local/ci-local.sh quick # Validacion rapida
67
+ ./.ci-local/ci-local.sh full # CI completo
68
+
69
+ # Git
70
+ git checkout feature/descripcion # Cambiar a feature branch
71
+ ```
@@ -0,0 +1,34 @@
1
+ # Debug Mode
2
+
3
+ > Activar con: "modo debug" o "estoy debugueando un bug"
4
+
5
+ Estás diagnosticando y corrigiendo un bug. Sé sistemático y metódico.
6
+
7
+ ## Enfoque
8
+ - Reproduce el problema primero. Confirma que podés triggerear el bug consistentemente.
9
+ - Recopila información: mensajes de error, stack traces, logs, datos de request/response.
10
+ - Formula una hipótesis antes de cambiar código. Identifica la causa raíz más probable.
11
+ - Verifica la hipótesis con logging, breakpoints o tests dirigidos.
12
+ - Corrige la causa raíz, no el síntoma. Evitá parches provisorios.
13
+
14
+ ## Pasos de Diagnóstico
15
+ 1. Lee el mensaje de error y stack trace cuidadosamente. Identifica la línea que falla.
16
+ 2. Revisá cambios recientes: `git log --oneline -10` y `git diff HEAD~3`.
17
+ 3. Buscá la lógica relacionada en el codebase con grep.
18
+ 4. Agregá logging puntual en los límites (input, output, paths de error).
19
+ 5. Simplificá el caso de reproducción al mínimo que lo dispara.
20
+ 6. Verificá dependencias externas: estado de base de datos, respuestas de API, valores de config.
21
+
22
+ ## Validación del Fix
23
+ - Escribí un test que reproduzca el bug ANTES de escribir el fix.
24
+ - Verificá que el fix resuelve el caso de reproducción original.
25
+ - Corré el suite completo de tests para detectar regresiones.
26
+ - Revisá paths de código relacionados por la misma clase de bug.
27
+ - Documentá la causa raíz en el mensaje de commit.
28
+
29
+ ## Evitar
30
+ - No cambiar múltiples cosas a la vez. Aislá variables.
31
+ - No agregar workarounds sin entender la causa raíz.
32
+ - No remover error handling para que pasen los tests.
33
+ - No asumir que el bug está en una dependencia sin evidencia.
34
+ - No omitir el test de regresión para el bug corregido.
@@ -0,0 +1,40 @@
1
+ # Deploy Mode
2
+
3
+ > Activar con: "voy a deployar" o "modo deploy"
4
+
5
+ Estás preparando o ejecutando un deployment. Priorizá seguridad y reversibilidad.
6
+
7
+ ## Checklist Pre-Deploy
8
+ - Todos los checks de CI pasan en el branch de deployment.
9
+ - Las migraciones de base de datos son backward-compatible con la versión en producción.
10
+ - Las variables de entorno están configuradas en el ambiente destino antes del deploy.
11
+ - Los feature flags están configurados para features parcialmente lanzados.
12
+ - El changelog o release notes están actualizados.
13
+ - Hay un plan de rollback documentado y listo.
14
+
15
+ ## Pasos de Deployment
16
+ 1. Verificá que el artefacto de build corresponde al commit testeado (SHA o tag).
17
+ 2. Corré migraciones de base de datos ANTES de deployar la nueva versión de la app.
18
+ 3. Deploy a staging primero. Smoke test de los paths críticos.
19
+ 4. Deploy a producción con estrategia rolling o blue-green.
20
+ 5. Monitoreá error rates, latencia y health checks por 15 minutos post-deploy.
21
+ 6. Confirmá éxito en el canal del equipo. Taggea el release en git.
22
+
23
+ ## Criterios de Rollback
24
+ - Error rate supera 2x el baseline pre-deploy.
25
+ - Latencia P99 supera 3x el baseline pre-deploy.
26
+ - Health check failures en más de una instancia.
27
+ - Cualquier corrupción o violación de integridad de datos.
28
+ - Issues críticos reportados por usuarios dentro de la ventana de deploy.
29
+
30
+ ## Post-Deploy
31
+ - Cerrar issues relacionados y actualizar el project board.
32
+ - Monitorear Sentry y dashboards de logging para nuevos patrones de error.
33
+ - Notificar a stakeholders del deployment completado.
34
+ - Programar post-mortem si el deploy tuvo problemas.
35
+
36
+ ## Evitar
37
+ - No deployar los viernes ni antes de feriados sin aprobación explícita.
38
+ - No saltear staging para "cambios pequeños". Todo pasa por staging.
39
+ - No correr migraciones destructivas durante horario pico.
40
+ - No deployar múltiples cambios no relacionados en un solo release.
@@ -0,0 +1,32 @@
1
+ # Research Mode
2
+
3
+ > Activar con: "investigá opciones para" o "modo research"
4
+
5
+ Estás explorando opciones, evaluando herramientas o investigando preguntas técnicas.
6
+
7
+ ## Enfoque
8
+ - Definí claramente la pregunta o decisión antes de investigar.
9
+ - Recopilá información de múltiples fuentes: docs, código fuente, benchmarks, posts de la comunidad.
10
+ - Compará al menos dos alternativas para cualquier decisión de herramienta o librería.
11
+ - Documentá hallazgos con pros, contras y una recomendación.
12
+ - Acotá el tiempo de investigación para evitar parálisis de análisis.
13
+
14
+ ## Criterios de Evaluación
15
+ - Estado de mantenimiento: último commit, cadencia de releases, issues abiertos vs cerrados.
16
+ - Adopción de la comunidad: descargas, GitHub stars, presencia en Stack Overflow.
17
+ - Calidad de documentación: guía de inicio, referencia de API, ejemplos.
18
+ - Performance: benchmarks, uso de memoria, tiempo de startup si es relevante.
19
+ - Compatibilidad: funciona con el stack existente, compatibilidad de licencia.
20
+ - Path de migración: esfuerzo para adoptar, esfuerzo para migrar si es necesario.
21
+
22
+ ## Formato de Output
23
+ - Resumí hallazgos en una tabla de comparación estructurada.
24
+ - Declarar suposiciones y restricciones que influyeron en la evaluación.
25
+ - Proveer una recomendación clara con fundamento.
26
+ - Incluir links a fuentes para referencia futura.
27
+
28
+ ## Evitar
29
+ - No recomendar una herramienta solo por popularidad.
30
+ - No pasar más de 30 minutos en una pregunta de investigación sin hacer check-in.
31
+ - No tomar decisiones irreversibles basadas en investigación incompleta.
32
+ - No introducir herramientas nuevas cuando las existentes resuelven el problema adecuadamente.
@@ -0,0 +1,33 @@
1
+ # Code Review Mode
2
+
3
+ > Activar con: "revisá este código" o "modo review"
4
+
5
+ Estás revisando código por correctitud, seguridad y mantenibilidad.
6
+
7
+ ## Enfoque
8
+ - Leé la descripción del PR y el issue vinculado primero para entender la intención.
9
+ - Revisá el diff completo antes de comentar. Entendé el cambio en su conjunto.
10
+ - Enfocate en correctitud lógica, edge cases y seguridad antes que estilo.
11
+ - Verificá que los tests cubren el comportamiento cambiado, no solo el happy path.
12
+ - Verificá el error handling: ¿qué pasa cuando los inputs son inválidos o los servicios fallan?
13
+
14
+ ## Qué Verificar
15
+ - Validación de input en los límites del sistema (endpoints de API, form handlers).
16
+ - SQL injection, XSS y otras vulnerabilidades de inyección.
17
+ - Queries N+1, índices faltantes, result sets no acotados.
18
+ - Race conditions en código concurrente o async.
19
+ - Uso correcto de transacciones para mutaciones multi-paso.
20
+ - Secrets o credenciales incluidos accidentalmente en el diff.
21
+ - Breaking changes en APIs públicas o interfaces compartidas.
22
+
23
+ ## Estilo de Comentarios
24
+ - Prefijá con intención: `blocker:`, `suggestion:`, `question:`, `nit:`.
25
+ - Solo comentarios `blocker:` deben impedir la aprobación.
26
+ - Sugerí alternativas concretas, no solo "esto podría ser mejor".
27
+ - Reconocé buenos patrones e implementaciones limpias.
28
+
29
+ ## Evitar
30
+ - No bikeshedear sobre formateo si hay un auto-formatter configurado.
31
+ - No pedir cambios fuera del scope del PR.
32
+ - No bloquear PRs por preferencias de estilo que no están en las reglas del proyecto.
33
+ - No aprobar sin leer el diff completo.
@@ -0,0 +1,79 @@
1
+ # Code Review Policy
2
+
3
+ Guidelines for AI agents conducting code reviews. Apply these consistently across all PRs.
4
+
5
+ ---
6
+
7
+ ## Naming Conventions
8
+
9
+ - Use clear, descriptive names that reveal intent — no abbreviations unless universally known (`url`, `id`, `db` are fine; `mgr`, `tmp`, `cb` are not).
10
+ - Booleans: prefer `is`, `has`, `can`, `should` prefixes (`isLoading`, `hasPermission`).
11
+ - Functions: use verbs (`fetchUser`, `calculateTotal`); avoid nouns (`userData`, `total`).
12
+ - Follow language conventions: `camelCase` for JS/TS/Go, `snake_case` for Python/Rust, `PascalCase` for types/classes everywhere.
13
+ - Constants: `UPPER_SNAKE_CASE` for true constants; regular naming for `const` variables that aren't fixed values.
14
+
15
+ ---
16
+
17
+ ## Error Handling
18
+
19
+ - Every error must be explicitly handled — no silent `catch` blocks, no empty `except`.
20
+ - Log errors with enough context to reproduce: include IDs, input values, stack traces.
21
+ - User-facing error messages must be clear and actionable; never expose internal stack traces or system paths.
22
+ - Distinguish between recoverable errors (return/log) and fatal errors (fail fast).
23
+ - For async code: handle rejected promises; never swallow errors with bare `catch () {}`.
24
+
25
+ ---
26
+
27
+ ## Security
28
+
29
+ - No hardcoded secrets, tokens, passwords, or API keys — use environment variables.
30
+ - Validate and sanitize all external inputs (API params, form fields, file uploads).
31
+ - Check for injection vulnerabilities: SQL injection, XSS, command injection.
32
+ - Apply least privilege: services, DB users, and IAM roles should have only what they need.
33
+ - Avoid exposing sensitive data in logs, error messages, or API responses.
34
+ - Verify authentication/authorization checks on every protected endpoint.
35
+
36
+ ---
37
+
38
+ ## Performance
39
+
40
+ - Avoid N+1 queries — use batch fetches, joins, or `include`/`preload` where appropriate.
41
+ - Avoid unnecessary loops inside loops; prefer set operations or indexed lookups.
42
+ - Prefer lazy loading for heavy resources not needed at startup.
43
+ - Cache expensive operations with a clear invalidation strategy.
44
+ - Flag unbounded queries — always paginate or limit result sets from the database.
45
+
46
+ ---
47
+
48
+ ## Test Coverage
49
+
50
+ - New features must include unit tests covering happy path and key edge cases.
51
+ - Bug fixes must include a regression test that would have caught the original bug.
52
+ - Target ≥ 80% line coverage; don't game it with trivial tests.
53
+ - Tests must be deterministic — no flaky tests, no `sleep` for timing, no hardcoded dates.
54
+ - Test the behavior, not the implementation — avoid over-mocking internal details.
55
+
56
+ ---
57
+
58
+ ## Code Smells
59
+
60
+ Flag the following (don't block unless egregious, but note them):
61
+
62
+ | Smell | Threshold |
63
+ |-------|-----------|
64
+ | Duplicate code (DRY violation) | 3+ repeated lines without extraction |
65
+ | Long functions | > 50 lines |
66
+ | Deep nesting | > 3 levels of indentation |
67
+ | Magic numbers | Unexplained literals (except 0, 1, -1) |
68
+ | God class / god function | Does too many unrelated things |
69
+ | Dead code | Unreachable branches, unused imports, commented-out blocks |
70
+
71
+ ---
72
+
73
+ ## PR Conventions
74
+
75
+ - Title must follow Conventional Commits: `type(scope): description` (e.g., `fix(auth): handle expired token refresh`).
76
+ - Description must explain **WHY** the change was made, not just what changed — that's what the diff is for.
77
+ - Link related issues with `Closes #123` or `Refs #456`.
78
+ - Each PR should be a single logical change — split unrelated fixes into separate PRs.
79
+ - Breaking changes must be flagged with `BREAKING CHANGE:` in the commit footer and explained in the PR description.
@@ -0,0 +1,157 @@
1
+ ---
2
+ # =============================================================================
3
+ # SKILL TEMPLATE (Gentleman-Skills Compatible)
4
+ # =============================================================================
5
+ # Formato compatible con: https://github.com/Gentleman-Programming/Gentleman-Skills
6
+ #
7
+ # ESTRUCTURA DE CARPETA:
8
+ # .ai-config/skills/{category}/{skill-name}/
9
+ # └── SKILL.md ← este archivo
10
+ # └── assets/ ← opcional: templates, schemas, ejemplos
11
+ # └── references/ ← opcional: links a docs locales
12
+ # =============================================================================
13
+
14
+ name: mi-skill
15
+ description: >
16
+ Descripción breve del skill.
17
+ Trigger: Contexto que activa este skill (ej: "trabajando con React")
18
+
19
+ metadata:
20
+ author: tu-usuario-github
21
+ version: "1.0"
22
+ tags: [frontend, backend, testing]
23
+ language: typescript # typescript | python | go | rust | java
24
+ ---
25
+
26
+ # [Nombre del Skill]
27
+
28
+ > [Descripción de una línea de lo que hace este skill]
29
+
30
+ ## When to Use
31
+
32
+ Usar este skill cuando:
33
+
34
+ - [ ] Condición 1 (ej: "Editando archivos .tsx")
35
+ - [ ] Condición 2 (ej: "Creando componentes React")
36
+ - [ ] Condición 3 (ej: "Implementando estado con hooks")
37
+
38
+ ## Critical Patterns
39
+
40
+ ### Pattern 1: [Nombre del patrón]
41
+
42
+ **Por qué:** [Explicación de por qué este patrón es importante]
43
+
44
+ ```typescript
45
+ // ✅ Correcto
46
+ [código ejemplo correcto]
47
+
48
+ // ❌ Incorrecto
49
+ [código ejemplo incorrecto]
50
+ ```
51
+
52
+ ### Pattern 2: [Nombre del patrón]
53
+
54
+ **Por qué:** [Explicación]
55
+
56
+ ```typescript
57
+ // ✅ Correcto
58
+ [código]
59
+ ```
60
+
61
+ ### Pattern 3: [Nombre del patrón]
62
+
63
+ **Por qué:** [Explicación]
64
+
65
+ ```typescript
66
+ // ✅ Correcto
67
+ [código]
68
+ ```
69
+
70
+ ## Code Examples
71
+
72
+ ### Example 1: [Título descriptivo]
73
+
74
+ ```typescript
75
+ // Ejemplo completo y funcional
76
+ // Con comentarios explicativos
77
+
78
+ [código completo]
79
+ ```
80
+
81
+ ### Example 2: [Título descriptivo]
82
+
83
+ ```typescript
84
+ [código completo]
85
+ ```
86
+
87
+ ### Example 3: [Título descriptivo]
88
+
89
+ ```typescript
90
+ [código completo]
91
+ ```
92
+
93
+ ## Anti-Patterns
94
+
95
+ ### ❌ Anti-Pattern 1: [Nombre]
96
+
97
+ **Problema:** [Por qué es malo]
98
+
99
+ ```typescript
100
+ // ❌ No hacer esto
101
+ [código malo]
102
+
103
+ // ✅ Hacer esto en su lugar
104
+ [código bueno]
105
+ ```
106
+
107
+ ### ❌ Anti-Pattern 2: [Nombre]
108
+
109
+ **Problema:** [Por qué es malo]
110
+
111
+ ```typescript
112
+ // ❌ Evitar
113
+ [código malo]
114
+ ```
115
+
116
+ ## Quick Reference
117
+
118
+ | Tarea | Snippet |
119
+ |-------|---------|
120
+ | [Tarea 1] | `[código corto]` |
121
+ | [Tarea 2] | `[código corto]` |
122
+ | [Tarea 3] | `[código corto]` |
123
+
124
+ ## Resources
125
+
126
+ - [Documentación Oficial](URL)
127
+ - [Guía de Mejores Prácticas](URL)
128
+ - [Repositorio de Ejemplos](URL)
129
+
130
+ ---
131
+
132
+ ## Related Skills
133
+
134
+ - `related-skill-1`: Descripción breve de cuándo usar
135
+ - `related-skill-2`: Descripción breve de cuándo usar
136
+ - `related-skill-3`: Descripción breve de cuándo usar
137
+
138
+ ---
139
+
140
+ ## Changelog
141
+
142
+ - **1.0** - Versión inicial
143
+
144
+ ---
145
+
146
+ ## Progressive Disclosure Pattern (Optional)
147
+
148
+ For complex skills, split content into references/:
149
+ ```
150
+ skills/my-skill/
151
+ ├── SKILL.md # Core logic only (~150 lines max)
152
+ └── references/
153
+ ├── examples.md # Concrete examples (loaded on demand)
154
+ └── patterns.md # Advanced patterns (loaded on demand)
155
+ ```
156
+ In SKILL.md, reference them with:
157
+ > For examples, see [references/examples.md](references/examples.md)
@@ -0,0 +1,254 @@
1
+ ---
2
+ name: api-gateway
3
+ description: >
4
+ API Gateway concepts. Routing, rate limiting, authentication, load balancing.
5
+ Trigger: API Gateway, routing, load balancing, reverse proxy, edge service
6
+ tools:
7
+ - Read
8
+ - Write
9
+ - Edit
10
+ - Grep
11
+ metadata:
12
+ author: apigen-team
13
+ version: "1.0"
14
+ tags: [gateway, routing, microservices, edge]
15
+ scope: ["**/gateway/**"]
16
+ ---
17
+
18
+ # API Gateway Concepts
19
+
20
+ ## What is an API Gateway?
21
+
22
+ ```
23
+ Single entry point for all client requests
24
+
25
+ ┌─────────────────┐
26
+ │ Clients │
27
+ │ (Web, Mobile) │
28
+ └────────┬────────┘
29
+
30
+ ┌────────▼────────┐
31
+ │ API Gateway │
32
+ │ (routing, │
33
+ │ auth, rate │
34
+ │ limiting) │
35
+ └────────┬────────┘
36
+
37
+ ┌─────────────┼─────────────┐
38
+ │ │ │
39
+ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐
40
+ │User │ │Order │ │Product│
41
+ │Service│ │Service│ │Service│
42
+ └───────┘ └───────┘ └───────┘
43
+ ```
44
+
45
+ ## Core Responsibilities
46
+
47
+ ### Routing
48
+ ```
49
+ Route requests to appropriate backend services:
50
+
51
+ /api/users/* → User Service
52
+ /api/orders/* → Order Service
53
+ /api/products/* → Product Service
54
+
55
+ Path rewriting:
56
+ /api/users/123 → /users/123 (strip prefix)
57
+ ```
58
+
59
+ ### Authentication/Authorization
60
+ ```
61
+ Centralized auth at edge:
62
+ 1. Validate JWT token
63
+ 2. Extract user context
64
+ 3. Forward user info to services
65
+ 4. Return 401/403 if invalid
66
+
67
+ Benefits:
68
+ - Services don't need auth logic
69
+ - Consistent auth across services
70
+ - Token validation cached
71
+ ```
72
+
73
+ ### Rate Limiting
74
+ ```
75
+ Protect services from overload:
76
+
77
+ Per client:
78
+ Anonymous: 60 req/min
79
+ Authenticated: 1000 req/min
80
+ Premium: 10000 req/min
81
+
82
+ Per endpoint:
83
+ /api/search: 30 req/min
84
+ /api/login: 5 req/min
85
+ ```
86
+
87
+ ### Load Balancing
88
+ ```
89
+ Distribute traffic across instances:
90
+
91
+ Strategies:
92
+ - Round Robin
93
+ - Least Connections
94
+ - Weighted
95
+ - IP Hash (sticky sessions)
96
+
97
+ Health checks:
98
+ - Remove unhealthy instances
99
+ - Automatic failover
100
+ ```
101
+
102
+ ## Additional Features
103
+
104
+ ### Request/Response Transformation
105
+ ```
106
+ Transform requests:
107
+ - Add headers (correlation ID, auth)
108
+ - Modify body
109
+ - Change content type
110
+
111
+ Transform responses:
112
+ - Remove internal headers
113
+ - Standardize error format
114
+ - Add CORS headers
115
+ ```
116
+
117
+ ### Caching
118
+ ```
119
+ Cache responses at edge:
120
+
121
+ Benefits:
122
+ - Reduce backend load
123
+ - Faster response times
124
+ - Resilience (serve cached on failure)
125
+
126
+ Strategies:
127
+ - Cache by URL + headers
128
+ - Cache invalidation
129
+ - Vary by user/tenant
130
+ ```
131
+
132
+ ### Circuit Breaking
133
+ ```
134
+ Prevent cascade failures:
135
+
136
+ States:
137
+ - Closed: Normal operation
138
+ - Open: Fail fast (service down)
139
+ - Half-Open: Test recovery
140
+
141
+ Configuration:
142
+ - Failure threshold
143
+ - Timeout
144
+ - Recovery window
145
+ ```
146
+
147
+ ### Logging & Monitoring
148
+ ```
149
+ Centralized observability:
150
+
151
+ Metrics:
152
+ - Request rate
153
+ - Error rate
154
+ - Latency (P50, P95, P99)
155
+ - Active connections
156
+
157
+ Logging:
158
+ - Access logs
159
+ - Request/response bodies (debug)
160
+ - Correlation IDs
161
+
162
+ Tracing:
163
+ - Distributed trace propagation
164
+ - Span timing
165
+ ```
166
+
167
+ ## Gateway Patterns
168
+
169
+ ### Backend for Frontend (BFF)
170
+ ```
171
+ Separate gateways per client type:
172
+
173
+ Web BFF Gateway → Web-specific routes
174
+ Mobile BFF Gateway → Mobile-optimized APIs
175
+ Partner Gateway → B2B API contracts
176
+ ```
177
+
178
+ ### API Composition
179
+ ```
180
+ Aggregate multiple services:
181
+
182
+ GET /api/dashboard
183
+ → GET /users/me
184
+ → GET /orders/recent
185
+ → GET /notifications/unread
186
+ → Combined response
187
+ ```
188
+
189
+ ### Canary Releases
190
+ ```
191
+ Route % of traffic to new version:
192
+
193
+ v1 (stable): 95%
194
+ v2 (canary): 5%
195
+
196
+ Progressive rollout:
197
+ Day 1: 5%
198
+ Day 2: 25%
199
+ Day 3: 50%
200
+ Day 4: 100%
201
+ ```
202
+
203
+ ## Gateway Solutions
204
+
205
+ ```
206
+ | Solution | Type | Best For |
207
+ |----------|------|----------|
208
+ | Kong | Open source | Feature-rich, plugins |
209
+ | AWS API Gateway | Managed | AWS ecosystem |
210
+ | Apigee | Enterprise | API management |
211
+ | NGINX | OSS | Performance |
212
+ | Spring Cloud Gateway | Framework | Java/Spring |
213
+ | Envoy | Proxy | Service mesh |
214
+ | Traefik | Cloud-native | Kubernetes |
215
+ ```
216
+
217
+ ## Security Considerations
218
+
219
+ ```
220
+ ✅ TLS termination at gateway
221
+ ✅ Request validation (size, content-type)
222
+ ✅ SQL injection / XSS prevention
223
+ ✅ DDoS protection
224
+ ✅ IP allowlisting/blocklisting
225
+ ✅ Bot detection
226
+ ✅ API key rotation
227
+ ✅ Secrets management
228
+ ```
229
+
230
+ ## Best Practices
231
+
232
+ ```
233
+ Performance:
234
+ ✅ Connection pooling
235
+ ✅ Async I/O
236
+ ✅ Response streaming
237
+ ✅ Compression
238
+
239
+ Reliability:
240
+ ✅ Health checks
241
+ ✅ Graceful degradation
242
+ ✅ Retry with backoff
243
+ ✅ Timeout configuration
244
+
245
+ Operations:
246
+ ✅ Blue-green deployment
247
+ ✅ Configuration as code
248
+ ✅ Centralized logging
249
+ ✅ Alerting on error spikes
250
+ ```
251
+
252
+ ## Related Skills
253
+
254
+ - `gateway-spring`: Spring Cloud Gateway implementation