javi-forge 1.1.0 → 1.3.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 (238) hide show
  1. package/ci-local/ci-local.sh +38 -10
  2. package/ci-local/hooks/pre-commit +10 -155
  3. package/ci-local/hooks/pre-push +12 -29
  4. package/dist/commands/ci.d.ts +33 -0
  5. package/dist/commands/ci.js +341 -0
  6. package/dist/commands/init.js +5 -0
  7. package/dist/index.js +39 -5
  8. package/dist/lib/docker.d.ts +43 -0
  9. package/dist/lib/docker.js +223 -0
  10. package/dist/ui/CI.d.ts +9 -0
  11. package/dist/ui/CI.js +91 -0
  12. package/package.json +9 -1
  13. package/ai-config/.skillignore +0 -15
  14. package/ai-config/AUTO_INVOKE.md +0 -300
  15. package/ai-config/agents/_TEMPLATE.md +0 -93
  16. package/ai-config/agents/business/api-designer.md +0 -1657
  17. package/ai-config/agents/business/business-analyst.md +0 -1331
  18. package/ai-config/agents/business/product-strategist.md +0 -206
  19. package/ai-config/agents/business/project-manager.md +0 -178
  20. package/ai-config/agents/business/requirements-analyst.md +0 -1277
  21. package/ai-config/agents/business/technical-writer.md +0 -1679
  22. package/ai-config/agents/creative/ux-designer.md +0 -205
  23. package/ai-config/agents/data-ai/ai-engineer.md +0 -487
  24. package/ai-config/agents/data-ai/analytics-engineer.md +0 -953
  25. package/ai-config/agents/data-ai/data-engineer.md +0 -173
  26. package/ai-config/agents/data-ai/data-scientist.md +0 -672
  27. package/ai-config/agents/data-ai/mlops-engineer.md +0 -814
  28. package/ai-config/agents/data-ai/prompt-engineer.md +0 -772
  29. package/ai-config/agents/development/angular-expert.md +0 -620
  30. package/ai-config/agents/development/backend-architect.md +0 -795
  31. package/ai-config/agents/development/database-specialist.md +0 -212
  32. package/ai-config/agents/development/frontend-specialist.md +0 -686
  33. package/ai-config/agents/development/fullstack-engineer.md +0 -668
  34. package/ai-config/agents/development/golang-pro.md +0 -338
  35. package/ai-config/agents/development/java-enterprise.md +0 -400
  36. package/ai-config/agents/development/javascript-pro.md +0 -422
  37. package/ai-config/agents/development/nextjs-pro.md +0 -474
  38. package/ai-config/agents/development/python-pro.md +0 -570
  39. package/ai-config/agents/development/react-pro.md +0 -487
  40. package/ai-config/agents/development/rust-pro.md +0 -246
  41. package/ai-config/agents/development/spring-boot-4-expert.md +0 -326
  42. package/ai-config/agents/development/typescript-pro.md +0 -336
  43. package/ai-config/agents/development/vue-specialist.md +0 -605
  44. package/ai-config/agents/infrastructure/cloud-architect.md +0 -472
  45. package/ai-config/agents/infrastructure/deployment-manager.md +0 -358
  46. package/ai-config/agents/infrastructure/devops-engineer.md +0 -455
  47. package/ai-config/agents/infrastructure/incident-responder.md +0 -519
  48. package/ai-config/agents/infrastructure/kubernetes-expert.md +0 -705
  49. package/ai-config/agents/infrastructure/monitoring-specialist.md +0 -674
  50. package/ai-config/agents/infrastructure/performance-engineer.md +0 -658
  51. package/ai-config/agents/orchestrator.md +0 -241
  52. package/ai-config/agents/quality/accessibility-auditor.md +0 -1204
  53. package/ai-config/agents/quality/code-reviewer-compact.md +0 -123
  54. package/ai-config/agents/quality/code-reviewer.md +0 -363
  55. package/ai-config/agents/quality/dependency-manager.md +0 -743
  56. package/ai-config/agents/quality/e2e-test-specialist.md +0 -1005
  57. package/ai-config/agents/quality/performance-tester.md +0 -1086
  58. package/ai-config/agents/quality/security-auditor.md +0 -133
  59. package/ai-config/agents/quality/test-engineer.md +0 -453
  60. package/ai-config/agents/specialists/api-designer.md +0 -87
  61. package/ai-config/agents/specialists/backend-architect.md +0 -73
  62. package/ai-config/agents/specialists/code-reviewer.md +0 -77
  63. package/ai-config/agents/specialists/db-optimizer.md +0 -75
  64. package/ai-config/agents/specialists/devops-engineer.md +0 -83
  65. package/ai-config/agents/specialists/documentation-writer.md +0 -78
  66. package/ai-config/agents/specialists/frontend-developer.md +0 -75
  67. package/ai-config/agents/specialists/performance-analyst.md +0 -82
  68. package/ai-config/agents/specialists/refactor-specialist.md +0 -74
  69. package/ai-config/agents/specialists/security-auditor.md +0 -74
  70. package/ai-config/agents/specialists/test-engineer.md +0 -81
  71. package/ai-config/agents/specialists/ux-consultant.md +0 -76
  72. package/ai-config/agents/specialized/agent-generator.md +0 -1190
  73. package/ai-config/agents/specialized/blockchain-developer.md +0 -149
  74. package/ai-config/agents/specialized/code-migrator.md +0 -892
  75. package/ai-config/agents/specialized/context-manager.md +0 -978
  76. package/ai-config/agents/specialized/documentation-writer.md +0 -1078
  77. package/ai-config/agents/specialized/ecommerce-expert.md +0 -1756
  78. package/ai-config/agents/specialized/embedded-engineer.md +0 -1714
  79. package/ai-config/agents/specialized/error-detective.md +0 -1034
  80. package/ai-config/agents/specialized/fintech-specialist.md +0 -1659
  81. package/ai-config/agents/specialized/freelance-project-planner-v2.md +0 -1988
  82. package/ai-config/agents/specialized/freelance-project-planner-v3.md +0 -2136
  83. package/ai-config/agents/specialized/freelance-project-planner-v4.md +0 -4503
  84. package/ai-config/agents/specialized/freelance-project-planner.md +0 -722
  85. package/ai-config/agents/specialized/game-developer.md +0 -1963
  86. package/ai-config/agents/specialized/healthcare-dev.md +0 -1620
  87. package/ai-config/agents/specialized/mobile-developer.md +0 -188
  88. package/ai-config/agents/specialized/parallel-plan-executor.md +0 -506
  89. package/ai-config/agents/specialized/plan-executor.md +0 -485
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +0 -485
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +0 -3493
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +0 -778
  93. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +0 -918
  94. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +0 -1537
  95. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +0 -2633
  96. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +0 -5610
  97. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +0 -335
  98. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +0 -215
  99. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +0 -260
  100. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +0 -379
  101. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +0 -355
  102. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +0 -279
  103. package/ai-config/agents/specialized/template-writer.md +0 -347
  104. package/ai-config/agents/specialized/test-runner.md +0 -99
  105. package/ai-config/agents/specialized/vibekanban-smart-worker.md +0 -244
  106. package/ai-config/agents/specialized/wave-executor.md +0 -138
  107. package/ai-config/agents/specialized/workflow-optimizer.md +0 -1114
  108. package/ai-config/commands/git/changelog.md +0 -32
  109. package/ai-config/commands/git/ci-local.md +0 -70
  110. package/ai-config/commands/git/commit.md +0 -35
  111. package/ai-config/commands/git/fix-issue.md +0 -23
  112. package/ai-config/commands/git/pr-create.md +0 -42
  113. package/ai-config/commands/git/pr-review.md +0 -50
  114. package/ai-config/commands/git/worktree.md +0 -39
  115. package/ai-config/commands/refactoring/cleanup.md +0 -24
  116. package/ai-config/commands/refactoring/dead-code.md +0 -40
  117. package/ai-config/commands/refactoring/extract.md +0 -31
  118. package/ai-config/commands/testing/e2e.md +0 -30
  119. package/ai-config/commands/testing/tdd.md +0 -36
  120. package/ai-config/commands/testing/test-coverage.md +0 -30
  121. package/ai-config/commands/testing/test-fix.md +0 -24
  122. package/ai-config/commands/workflow/generate-agents-md.md +0 -85
  123. package/ai-config/commands/workflow/planning.md +0 -47
  124. package/ai-config/commands/workflows/compound.md +0 -89
  125. package/ai-config/commands/workflows/diagnose.md +0 -70
  126. package/ai-config/commands/workflows/discover.md +0 -86
  127. package/ai-config/commands/workflows/plan.md +0 -77
  128. package/ai-config/commands/workflows/review.md +0 -78
  129. package/ai-config/commands/workflows/work.md +0 -75
  130. package/ai-config/config.yaml +0 -18
  131. package/ai-config/hooks/_TEMPLATE.md +0 -96
  132. package/ai-config/hooks/block-dangerous-commands.md +0 -75
  133. package/ai-config/hooks/commit-guard.md +0 -90
  134. package/ai-config/hooks/context-loader.md +0 -73
  135. package/ai-config/hooks/improve-prompt.md +0 -91
  136. package/ai-config/hooks/learning-log.md +0 -72
  137. package/ai-config/hooks/model-router.md +0 -86
  138. package/ai-config/hooks/secret-scanner.md +0 -64
  139. package/ai-config/hooks/skill-validator.md +0 -102
  140. package/ai-config/hooks/task-artifact.md +0 -114
  141. package/ai-config/hooks/validate-workflow.md +0 -100
  142. package/ai-config/prompts/base.md +0 -71
  143. package/ai-config/prompts/modes/debug.md +0 -34
  144. package/ai-config/prompts/modes/deploy.md +0 -40
  145. package/ai-config/prompts/modes/research.md +0 -32
  146. package/ai-config/prompts/modes/review.md +0 -33
  147. package/ai-config/prompts/review-policy.md +0 -79
  148. package/ai-config/skills/_TEMPLATE.md +0 -157
  149. package/ai-config/skills/backend/api-gateway/SKILL.md +0 -254
  150. package/ai-config/skills/backend/bff-concepts/SKILL.md +0 -239
  151. package/ai-config/skills/backend/bff-spring/SKILL.md +0 -364
  152. package/ai-config/skills/backend/chi-router/SKILL.md +0 -396
  153. package/ai-config/skills/backend/error-handling/SKILL.md +0 -255
  154. package/ai-config/skills/backend/exceptions-spring/SKILL.md +0 -323
  155. package/ai-config/skills/backend/fastapi/SKILL.md +0 -302
  156. package/ai-config/skills/backend/gateway-spring/SKILL.md +0 -390
  157. package/ai-config/skills/backend/go-backend/SKILL.md +0 -457
  158. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +0 -274
  159. package/ai-config/skills/backend/graphql-concepts/SKILL.md +0 -352
  160. package/ai-config/skills/backend/graphql-spring/SKILL.md +0 -398
  161. package/ai-config/skills/backend/grpc-concepts/SKILL.md +0 -283
  162. package/ai-config/skills/backend/grpc-spring/SKILL.md +0 -445
  163. package/ai-config/skills/backend/jwt-auth/SKILL.md +0 -412
  164. package/ai-config/skills/backend/notifications-concepts/SKILL.md +0 -259
  165. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +0 -261
  166. package/ai-config/skills/backend/search-concepts/SKILL.md +0 -263
  167. package/ai-config/skills/backend/search-spring/SKILL.md +0 -375
  168. package/ai-config/skills/backend/spring-boot-4/SKILL.md +0 -172
  169. package/ai-config/skills/backend/websockets/SKILL.md +0 -532
  170. package/ai-config/skills/data-ai/ai-ml/SKILL.md +0 -423
  171. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +0 -195
  172. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +0 -340
  173. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +0 -440
  174. package/ai-config/skills/data-ai/langchain/SKILL.md +0 -238
  175. package/ai-config/skills/data-ai/mlflow/SKILL.md +0 -302
  176. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +0 -290
  177. package/ai-config/skills/data-ai/powerbi/SKILL.md +0 -352
  178. package/ai-config/skills/data-ai/pytorch/SKILL.md +0 -274
  179. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +0 -321
  180. package/ai-config/skills/data-ai/vector-db/SKILL.md +0 -301
  181. package/ai-config/skills/database/graph-databases/SKILL.md +0 -218
  182. package/ai-config/skills/database/graph-spring/SKILL.md +0 -361
  183. package/ai-config/skills/database/pgx-postgres/SKILL.md +0 -512
  184. package/ai-config/skills/database/redis-cache/SKILL.md +0 -343
  185. package/ai-config/skills/database/sqlite-embedded/SKILL.md +0 -388
  186. package/ai-config/skills/database/timescaledb/SKILL.md +0 -320
  187. package/ai-config/skills/docs/api-documentation/SKILL.md +0 -293
  188. package/ai-config/skills/docs/docs-spring/SKILL.md +0 -377
  189. package/ai-config/skills/docs/mustache-templates/SKILL.md +0 -190
  190. package/ai-config/skills/docs/technical-docs/SKILL.md +0 -447
  191. package/ai-config/skills/frontend/astro-ssr/SKILL.md +0 -441
  192. package/ai-config/skills/frontend/frontend-design/SKILL.md +0 -54
  193. package/ai-config/skills/frontend/frontend-web/SKILL.md +0 -368
  194. package/ai-config/skills/frontend/mantine-ui/SKILL.md +0 -396
  195. package/ai-config/skills/frontend/tanstack-query/SKILL.md +0 -439
  196. package/ai-config/skills/frontend/zod-validation/SKILL.md +0 -417
  197. package/ai-config/skills/frontend/zustand-state/SKILL.md +0 -350
  198. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +0 -244
  199. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +0 -378
  200. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +0 -435
  201. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +0 -420
  202. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +0 -456
  203. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +0 -546
  204. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +0 -474
  205. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +0 -315
  206. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +0 -504
  207. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +0 -448
  208. package/ai-config/skills/prompt-improver/SKILL.md +0 -125
  209. package/ai-config/skills/quality/ghagga-review/SKILL.md +0 -216
  210. package/ai-config/skills/references/hooks-patterns/SKILL.md +0 -238
  211. package/ai-config/skills/references/mcp-servers/SKILL.md +0 -275
  212. package/ai-config/skills/references/plugins-reference/SKILL.md +0 -110
  213. package/ai-config/skills/references/skills-reference/SKILL.md +0 -420
  214. package/ai-config/skills/references/subagent-templates/SKILL.md +0 -193
  215. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +0 -410
  216. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +0 -408
  217. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +0 -386
  218. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +0 -324
  219. package/ai-config/skills/testing/playwright-e2e/SKILL.md +0 -289
  220. package/ai-config/skills/testing/testcontainers/SKILL.md +0 -299
  221. package/ai-config/skills/testing/vitest-testing/SKILL.md +0 -381
  222. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +0 -118
  223. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +0 -299
  224. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +0 -158
  225. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +0 -117
  226. package/ai-config/skills/workflow/git-github/SKILL.md +0 -334
  227. package/ai-config/skills/workflow/git-github/references/examples.md +0 -160
  228. package/ai-config/skills/workflow/git-workflow/SKILL.md +0 -214
  229. package/ai-config/skills/workflow/ide-plugins/SKILL.md +0 -277
  230. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +0 -401
  231. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +0 -199
  232. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +0 -100
  233. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +0 -73
  234. package/ai-config/skills/workflow/wave-workflow/SKILL.md +0 -178
  235. package/schemas/agent.schema.json +0 -34
  236. package/schemas/ai-config.schema.json +0 -28
  237. package/schemas/plugin.schema.json +0 -62
  238. package/schemas/skill.schema.json +0 -44
@@ -1,216 +0,0 @@
1
- ---
2
- name: ghagga-review
3
- description: >
4
- AI code review patterns with GHAGGA multi-agent review system.
5
- Trigger: code review, PR review, GHAGGA, review automatico, consensus review
6
-
7
- metadata:
8
- author: project-starter-framework
9
- version: "1.0"
10
- tags: [code-review, ai, github, quality]
11
- language: typescript
12
- scope: [.github/, supabase/, dashboard/]
13
- ---
14
-
15
- # GHAGGA AI Code Review
16
-
17
- > Patrones para trabajar con GHAGGA, sistema de code review multi-agente.
18
-
19
- ## When to Use
20
-
21
- Usar este skill cuando:
22
-
23
- - [ ] Configurando GHAGGA para un proyecto
24
- - [ ] Creando reglas de review personalizadas
25
- - [ ] Trabajando con Edge Functions de review
26
- - [ ] Integrando GHAGGA en CI/CD pipeline
27
- - [ ] Debuggeando reviews fallidas
28
-
29
- ## Critical Patterns
30
-
31
- ### Pattern 1: Reusable Workflow Integration
32
-
33
- **Por que:** Integrar GHAGGA como paso de CI evita configuracion manual por repo.
34
-
35
- ```yaml
36
- # .github/workflows/ci.yml
37
- jobs:
38
- # ... build jobs ...
39
-
40
- review:
41
- needs: build
42
- if: github.event_name == 'pull_request'
43
- uses: JNZader/project-starter-framework/.github/workflows/reusable-ghagga-review.yml@main
44
- with:
45
- ghagga-url: ${{ vars.GHAGGA_URL }}
46
- review-mode: simple
47
- secrets:
48
- ghagga-token: ${{ secrets.GHAGGA_TOKEN }}
49
- ```
50
-
51
- ### Pattern 2: Review Mode Selection
52
-
53
- **Por que:** Cada modo tiene diferente profundidad y costo.
54
-
55
- ```typescript
56
- // Simple: 1 LLM, rapido, bajo costo
57
- { review_mode: "simple" }
58
-
59
- // Workflow: multi-paso secuencial, analisis profundo
60
- { review_mode: "workflow" }
61
-
62
- // Consensus: multiples LLMs votan, maxima confiabilidad
63
- { review_mode: "consensus" }
64
- ```
65
-
66
- **Criterio de seleccion:**
67
- - PRs chicos (< 100 lineas): `simple`
68
- - PRs medianos o con logica compleja: `workflow`
69
- - PRs criticos (auth, payments, infra): `consensus`
70
-
71
- ### Pattern 3: Custom Review Rules via Dashboard
72
-
73
- **Por que:** Reglas custom evitan falsos positivos recurrentes.
74
-
75
- ```typescript
76
- // Configurar en dashboard (http://localhost:5173/ghagga/)
77
- // Settings > Review Rules > Add Rule
78
-
79
- // Ejemplo: ignorar cambios en archivos generados
80
- {
81
- "name": "skip-generated",
82
- "pattern": "**/*.generated.*",
83
- "action": "skip"
84
- }
85
-
86
- // Ejemplo: review estricto en archivos de seguridad
87
- {
88
- "name": "strict-security",
89
- "pattern": "**/auth/**",
90
- "action": "consensus",
91
- "severity": "high"
92
- }
93
- ```
94
-
95
- ## Code Examples
96
-
97
- ### Example 1: Trigger review via API
98
-
99
- ```typescript
100
- // Desde una Edge Function o script
101
- const response = await fetch(`${GHAGGA_URL}/functions/v1/review`, {
102
- method: "POST",
103
- headers: {
104
- "Authorization": `Bearer ${GHAGGA_TOKEN}`,
105
- "Content-Type": "application/json",
106
- },
107
- body: JSON.stringify({
108
- repository: "owner/repo",
109
- pull_request_number: 42,
110
- head_sha: "abc123",
111
- review_mode: "workflow",
112
- }),
113
- });
114
-
115
- const result = await response.json();
116
- // { status: "completed", summary: "...", findings: [...] }
117
- ```
118
-
119
- ### Example 2: Configurar providers en Supabase
120
-
121
- ```sql
122
- -- En Supabase SQL Editor o migracion
123
- INSERT INTO review_providers (name, model, api_key_env, priority)
124
- VALUES
125
- ('anthropic', 'claude-sonnet-4-20250514', 'ANTHROPIC_API_KEY', 1),
126
- ('openai', 'gpt-4o', 'OPENAI_API_KEY', 2),
127
- ('google', 'gemini-2.0-flash', 'GOOGLE_API_KEY', 3);
128
- ```
129
-
130
- ### Example 3: Webhook handler pattern
131
-
132
- ```typescript
133
- // supabase/functions/webhook/index.ts
134
- import { serve } from "https://deno.land/std/http/server.ts";
135
-
136
- serve(async (req) => {
137
- const event = req.headers.get("x-github-event");
138
- const payload = await req.json();
139
-
140
- if (event === "pull_request" && ["opened", "synchronize"].includes(payload.action)) {
141
- // Trigger review
142
- await triggerReview({
143
- repo: payload.repository.full_name,
144
- pr: payload.pull_request.number,
145
- sha: payload.pull_request.head.sha,
146
- });
147
- }
148
-
149
- return new Response("ok", { status: 200 });
150
- });
151
- ```
152
-
153
- ## Anti-Patterns
154
-
155
- ### Anti-Pattern 1: Review en cada commit
156
-
157
- **Problema:** Consume API tokens innecesariamente, genera ruido.
158
-
159
- ```yaml
160
- # NO: trigger en cada push
161
- on:
162
- push:
163
- branches: ['**']
164
-
165
- # SI: solo PRs a branches principales
166
- on:
167
- pull_request:
168
- branches: [main, develop]
169
- ```
170
-
171
- ### Anti-Pattern 2: Consensus mode para todo
172
-
173
- **Problema:** Costo x3, tiempo x3, para cambios triviales.
174
-
175
- ```typescript
176
- // NO: consensus para todo
177
- { review_mode: "consensus" }
178
-
179
- // SI: escalar segun criticidad
180
- const mode = isCriticalPath(files)
181
- ? "consensus"
182
- : changedLines > 100
183
- ? "workflow"
184
- : "simple";
185
- ```
186
-
187
- ## Quick Reference
188
-
189
- | Tarea | Como |
190
- |-------|------|
191
- | Setup basico | `./optional/ghagga/setup-ghagga.sh --workflow` |
192
- | Deploy local | `docker compose -f docker-compose.ghagga.yml up -d` |
193
- | Dashboard | `http://localhost:5173/ghagga/` |
194
- | Ver logs | `supabase functions logs review` |
195
- | Test webhook | `curl -X POST localhost:54321/functions/v1/webhook` |
196
-
197
- ## Resources
198
-
199
- - [GHAGGA Repository](https://github.com/JNZader/ghagga/)
200
- - [Installation Guide](https://github.com/JNZader/ghagga/blob/main/docs/INSTALLATION.md)
201
- - [API Documentation](https://github.com/JNZader/ghagga/blob/main/docs/API.md)
202
- - [GitHub App Setup](https://github.com/JNZader/ghagga/blob/main/docs/GITHUB_APP_SETUP.md)
203
-
204
- ---
205
-
206
- ## Related Skills
207
-
208
- - `devops-infra`: CI/CD y GitHub Actions workflows
209
- - `git-github`: GitHub API y CLI
210
- - `playwright-e2e`: Testing E2E (complemento a AI review)
211
-
212
- ---
213
-
214
- ## Changelog
215
-
216
- - **1.0** - Version inicial con patrones de integracion
@@ -1,238 +0,0 @@
1
- ---
2
- name: hooks-patterns
3
- description: >
4
- Hooks Recommendations for Claude Code automation: auto-formatting, type checking, protection, and test runner hooks.
5
- Trigger: hooks, automation, PostToolUse, PreToolUse, auto-format, hook recommendations
6
- metadata:
7
- author: project-starter-framework
8
- version: "2.0"
9
- tags: [hooks, automation, claude-code, formatting, protection]
10
- updated: "2026-02"
11
- ---
12
-
13
- # Hooks Recommendations
14
-
15
- Hooks automatically run commands in response to Claude Code events. They're ideal for enforcement and automation that should happen consistently.
16
-
17
- **Note**: These are common patterns. Use web search to find hooks for tools/frameworks not listed here to recommend the best hooks for the user.
18
-
19
- ## Auto-Formatting Hooks
20
-
21
- ### Prettier (JavaScript/TypeScript)
22
- | Detection | File Exists |
23
- |-----------|-------------|
24
- | `.prettierrc`, `.prettierrc.json`, `prettier.config.js` | ✓ |
25
-
26
- **Recommend**: PostToolUse hook on Edit/Write to auto-format
27
- **Value**: Code stays formatted without thinking about it
28
-
29
- ### ESLint (JavaScript/TypeScript)
30
- | Detection | File Exists |
31
- |-----------|-------------|
32
- | `.eslintrc`, `.eslintrc.json`, `eslint.config.js` | ✓ |
33
-
34
- **Recommend**: PostToolUse hook on Edit/Write to auto-fix
35
- **Value**: Lint errors fixed automatically
36
-
37
- ### Black/isort (Python)
38
- | Detection | File Exists |
39
- |-----------|-------------|
40
- | `pyproject.toml` with black/isort, `.black`, `setup.cfg` | ✓ |
41
-
42
- **Recommend**: PostToolUse hook to format Python files
43
- **Value**: Consistent Python formatting
44
-
45
- ### Ruff (Python - Modern)
46
- | Detection | File Exists |
47
- |-----------|-------------|
48
- | `ruff.toml`, `pyproject.toml` with `[tool.ruff]` | ✓ |
49
-
50
- **Recommend**: PostToolUse hook for lint + format
51
- **Value**: Fast, comprehensive Python linting
52
-
53
- ### gofmt (Go)
54
- | Detection | File Exists |
55
- |-----------|-------------|
56
- | `go.mod` | ✓ |
57
-
58
- **Recommend**: PostToolUse hook to run gofmt
59
- **Value**: Standard Go formatting
60
-
61
- ### rustfmt (Rust)
62
- | Detection | File Exists |
63
- |-----------|-------------|
64
- | `Cargo.toml` | ✓ |
65
-
66
- **Recommend**: PostToolUse hook to run rustfmt
67
- **Value**: Standard Rust formatting
68
-
69
- ---
70
-
71
- ## Type Checking Hooks
72
-
73
- ### TypeScript
74
- | Detection | File Exists |
75
- |-----------|-------------|
76
- | `tsconfig.json` | ✓ |
77
-
78
- **Recommend**: PostToolUse hook to run tsc --noEmit
79
- **Value**: Catch type errors immediately
80
-
81
- ### mypy/pyright (Python)
82
- | Detection | File Exists |
83
- |-----------|-------------|
84
- | `mypy.ini`, `pyrightconfig.json`, pyproject.toml with mypy | ✓ |
85
-
86
- **Recommend**: PostToolUse hook for type checking
87
- **Value**: Catch type errors in Python
88
-
89
- ---
90
-
91
- ## Protection Hooks
92
-
93
- ### Block Sensitive File Edits
94
- | Detection | Presence Of |
95
- |-----------|-------------|
96
- | `.env`, `.env.local`, `.env.production` | Environment files |
97
- | `credentials.json`, `secrets.yaml` | Secret files |
98
- | `.git/` directory | Git internals |
99
-
100
- **Recommend**: PreToolUse hook that blocks Edit/Write to these paths
101
- **Value**: Prevent accidental secret exposure or git corruption
102
-
103
- ### Block Lock File Edits
104
- | Detection | Presence Of |
105
- |-----------|-------------|
106
- | `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` | JS lock files |
107
- | `Cargo.lock`, `poetry.lock`, `Pipfile.lock` | Other lock files |
108
-
109
- **Recommend**: PreToolUse hook that blocks direct edits
110
- **Value**: Lock files should only change via package manager
111
-
112
- ---
113
-
114
- ## Test Runner Hooks
115
-
116
- ### Jest (JavaScript/TypeScript)
117
- | Detection | Presence Of |
118
- |-----------|-------------|
119
- | `jest.config.js`, `jest` in package.json | Jest configured |
120
- | `__tests__/`, `*.test.ts`, `*.spec.ts` | Test files exist |
121
-
122
- **Recommend**: PostToolUse hook to run related tests after edit
123
- **Value**: Immediate test feedback on changes
124
-
125
- ### pytest (Python)
126
- | Detection | Presence Of |
127
- |-----------|-------------|
128
- | `pytest.ini`, `pyproject.toml` with pytest | pytest configured |
129
- | `tests/`, `test_*.py` | Test files exist |
130
-
131
- **Recommend**: PostToolUse hook to run pytest on changed files
132
- **Value**: Immediate test feedback
133
-
134
- ---
135
-
136
- ## Quick Reference: Detection → Recommendation
137
-
138
- | If You See | Recommend This Hook |
139
- |------------|-------------------|
140
- | Prettier config | Auto-format on Edit/Write |
141
- | ESLint config | Auto-lint on Edit/Write |
142
- | Ruff/Black config | Auto-format Python |
143
- | tsconfig.json | Type-check on Edit |
144
- | Test directory | Run related tests on Edit |
145
- | .env files | Block .env edits |
146
- | Lock files | Block lock file edits |
147
- | Go project | gofmt on Edit |
148
- | Rust project | rustfmt on Edit |
149
-
150
- ---
151
-
152
- ## Notification Hooks
153
-
154
- Notification hooks run when Claude Code sends notifications. Use matchers to filter by notification type.
155
-
156
- ### Permission Alerts
157
- | Matcher | Use Case |
158
- |---------|----------|
159
- | `permission_prompt` | Alert when Claude requests permissions |
160
-
161
- **Recommend**: Play sound, send desktop notification, or log permission requests
162
- **Value**: Never miss permission prompts when multitasking
163
-
164
- ### Idle Notifications
165
- | Matcher | Use Case |
166
- |---------|----------|
167
- | `idle_prompt` | Alert when Claude is waiting for input (60+ seconds idle) |
168
-
169
- **Recommend**: Play sound or send notification when Claude needs attention
170
- **Value**: Know when Claude is ready for your input
171
-
172
- ### Example Configuration
173
-
174
- ```json
175
- {
176
- "hooks": {
177
- "Notification": [
178
- {
179
- "matcher": "permission_prompt",
180
- "hooks": [
181
- {
182
- "type": "command",
183
- "command": "afplay /System/Library/Sounds/Ping.aiff"
184
- }
185
- ]
186
- },
187
- {
188
- "matcher": "idle_prompt",
189
- "hooks": [
190
- {
191
- "type": "command",
192
- "command": "osascript -e 'display notification \"Claude is waiting\" with title \"Claude Code\"'"
193
- }
194
- ]
195
- }
196
- ]
197
- }
198
- }
199
- ```
200
-
201
- ### Available Matchers
202
-
203
- | Matcher | Triggers When |
204
- |---------|---------------|
205
- | `permission_prompt` | Claude needs permission for a tool |
206
- | `idle_prompt` | Claude waiting for input (60+ seconds) |
207
- | `auth_success` | Authentication succeeds |
208
- | `elicitation_dialog` | MCP tool needs input |
209
-
210
- ---
211
-
212
- ## Quick Reference: Detection → Recommendation
213
-
214
- | If You See | Recommend This Hook |
215
- |------------|-------------------|
216
- | Prettier config | Auto-format on Edit/Write |
217
- | ESLint config | Auto-lint on Edit/Write |
218
- | Ruff/Black config | Auto-format Python |
219
- | tsconfig.json | Type-check on Edit |
220
- | Test directory | Run related tests on Edit |
221
- | .env files | Block .env edits |
222
- | Lock files | Block lock file edits |
223
- | Go project | gofmt on Edit |
224
- | Rust project | rustfmt on Edit |
225
- | Multitasking workflow | Notification hooks for alerts |
226
-
227
- ---
228
-
229
- ## Hook Placement
230
-
231
- Hooks go in `.claude/settings.json`:
232
-
233
- ```
234
- .claude/
235
- └── settings.json ← Hook configurations here
236
- ```
237
-
238
- Recommend creating the `.claude/` directory if it doesn't exist.