javi-forge 1.2.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 (228) hide show
  1. package/ci-local/ci-local.sh +20 -8
  2. package/package.json +1 -1
  3. package/ai-config/.skillignore +0 -15
  4. package/ai-config/AUTO_INVOKE.md +0 -300
  5. package/ai-config/agents/_TEMPLATE.md +0 -93
  6. package/ai-config/agents/business/api-designer.md +0 -1657
  7. package/ai-config/agents/business/business-analyst.md +0 -1331
  8. package/ai-config/agents/business/product-strategist.md +0 -206
  9. package/ai-config/agents/business/project-manager.md +0 -178
  10. package/ai-config/agents/business/requirements-analyst.md +0 -1277
  11. package/ai-config/agents/business/technical-writer.md +0 -1679
  12. package/ai-config/agents/creative/ux-designer.md +0 -205
  13. package/ai-config/agents/data-ai/ai-engineer.md +0 -487
  14. package/ai-config/agents/data-ai/analytics-engineer.md +0 -953
  15. package/ai-config/agents/data-ai/data-engineer.md +0 -173
  16. package/ai-config/agents/data-ai/data-scientist.md +0 -672
  17. package/ai-config/agents/data-ai/mlops-engineer.md +0 -814
  18. package/ai-config/agents/data-ai/prompt-engineer.md +0 -772
  19. package/ai-config/agents/development/angular-expert.md +0 -620
  20. package/ai-config/agents/development/backend-architect.md +0 -795
  21. package/ai-config/agents/development/database-specialist.md +0 -212
  22. package/ai-config/agents/development/frontend-specialist.md +0 -686
  23. package/ai-config/agents/development/fullstack-engineer.md +0 -668
  24. package/ai-config/agents/development/golang-pro.md +0 -338
  25. package/ai-config/agents/development/java-enterprise.md +0 -400
  26. package/ai-config/agents/development/javascript-pro.md +0 -422
  27. package/ai-config/agents/development/nextjs-pro.md +0 -474
  28. package/ai-config/agents/development/python-pro.md +0 -570
  29. package/ai-config/agents/development/react-pro.md +0 -487
  30. package/ai-config/agents/development/rust-pro.md +0 -246
  31. package/ai-config/agents/development/spring-boot-4-expert.md +0 -326
  32. package/ai-config/agents/development/typescript-pro.md +0 -336
  33. package/ai-config/agents/development/vue-specialist.md +0 -605
  34. package/ai-config/agents/infrastructure/cloud-architect.md +0 -472
  35. package/ai-config/agents/infrastructure/deployment-manager.md +0 -358
  36. package/ai-config/agents/infrastructure/devops-engineer.md +0 -455
  37. package/ai-config/agents/infrastructure/incident-responder.md +0 -519
  38. package/ai-config/agents/infrastructure/kubernetes-expert.md +0 -705
  39. package/ai-config/agents/infrastructure/monitoring-specialist.md +0 -674
  40. package/ai-config/agents/infrastructure/performance-engineer.md +0 -658
  41. package/ai-config/agents/orchestrator.md +0 -241
  42. package/ai-config/agents/quality/accessibility-auditor.md +0 -1204
  43. package/ai-config/agents/quality/code-reviewer-compact.md +0 -123
  44. package/ai-config/agents/quality/code-reviewer.md +0 -363
  45. package/ai-config/agents/quality/dependency-manager.md +0 -743
  46. package/ai-config/agents/quality/e2e-test-specialist.md +0 -1005
  47. package/ai-config/agents/quality/performance-tester.md +0 -1086
  48. package/ai-config/agents/quality/security-auditor.md +0 -133
  49. package/ai-config/agents/quality/test-engineer.md +0 -453
  50. package/ai-config/agents/specialists/api-designer.md +0 -87
  51. package/ai-config/agents/specialists/backend-architect.md +0 -73
  52. package/ai-config/agents/specialists/code-reviewer.md +0 -77
  53. package/ai-config/agents/specialists/db-optimizer.md +0 -75
  54. package/ai-config/agents/specialists/devops-engineer.md +0 -83
  55. package/ai-config/agents/specialists/documentation-writer.md +0 -78
  56. package/ai-config/agents/specialists/frontend-developer.md +0 -75
  57. package/ai-config/agents/specialists/performance-analyst.md +0 -82
  58. package/ai-config/agents/specialists/refactor-specialist.md +0 -74
  59. package/ai-config/agents/specialists/security-auditor.md +0 -74
  60. package/ai-config/agents/specialists/test-engineer.md +0 -81
  61. package/ai-config/agents/specialists/ux-consultant.md +0 -76
  62. package/ai-config/agents/specialized/agent-generator.md +0 -1190
  63. package/ai-config/agents/specialized/blockchain-developer.md +0 -149
  64. package/ai-config/agents/specialized/code-migrator.md +0 -892
  65. package/ai-config/agents/specialized/context-manager.md +0 -978
  66. package/ai-config/agents/specialized/documentation-writer.md +0 -1078
  67. package/ai-config/agents/specialized/ecommerce-expert.md +0 -1756
  68. package/ai-config/agents/specialized/embedded-engineer.md +0 -1714
  69. package/ai-config/agents/specialized/error-detective.md +0 -1034
  70. package/ai-config/agents/specialized/fintech-specialist.md +0 -1659
  71. package/ai-config/agents/specialized/freelance-project-planner-v2.md +0 -1988
  72. package/ai-config/agents/specialized/freelance-project-planner-v3.md +0 -2136
  73. package/ai-config/agents/specialized/freelance-project-planner-v4.md +0 -4503
  74. package/ai-config/agents/specialized/freelance-project-planner.md +0 -722
  75. package/ai-config/agents/specialized/game-developer.md +0 -1963
  76. package/ai-config/agents/specialized/healthcare-dev.md +0 -1620
  77. package/ai-config/agents/specialized/mobile-developer.md +0 -188
  78. package/ai-config/agents/specialized/parallel-plan-executor.md +0 -506
  79. package/ai-config/agents/specialized/plan-executor.md +0 -485
  80. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +0 -485
  81. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +0 -3493
  82. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +0 -778
  83. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +0 -918
  84. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +0 -1537
  85. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +0 -2633
  86. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +0 -5610
  87. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +0 -335
  88. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +0 -215
  89. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +0 -260
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +0 -379
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +0 -355
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +0 -279
  93. package/ai-config/agents/specialized/template-writer.md +0 -347
  94. package/ai-config/agents/specialized/test-runner.md +0 -99
  95. package/ai-config/agents/specialized/vibekanban-smart-worker.md +0 -244
  96. package/ai-config/agents/specialized/wave-executor.md +0 -138
  97. package/ai-config/agents/specialized/workflow-optimizer.md +0 -1114
  98. package/ai-config/commands/git/changelog.md +0 -32
  99. package/ai-config/commands/git/ci-local.md +0 -70
  100. package/ai-config/commands/git/commit.md +0 -35
  101. package/ai-config/commands/git/fix-issue.md +0 -23
  102. package/ai-config/commands/git/pr-create.md +0 -42
  103. package/ai-config/commands/git/pr-review.md +0 -50
  104. package/ai-config/commands/git/worktree.md +0 -39
  105. package/ai-config/commands/refactoring/cleanup.md +0 -24
  106. package/ai-config/commands/refactoring/dead-code.md +0 -40
  107. package/ai-config/commands/refactoring/extract.md +0 -31
  108. package/ai-config/commands/testing/e2e.md +0 -30
  109. package/ai-config/commands/testing/tdd.md +0 -36
  110. package/ai-config/commands/testing/test-coverage.md +0 -30
  111. package/ai-config/commands/testing/test-fix.md +0 -24
  112. package/ai-config/commands/workflow/generate-agents-md.md +0 -85
  113. package/ai-config/commands/workflow/planning.md +0 -47
  114. package/ai-config/commands/workflows/compound.md +0 -89
  115. package/ai-config/commands/workflows/diagnose.md +0 -70
  116. package/ai-config/commands/workflows/discover.md +0 -86
  117. package/ai-config/commands/workflows/plan.md +0 -77
  118. package/ai-config/commands/workflows/review.md +0 -78
  119. package/ai-config/commands/workflows/work.md +0 -75
  120. package/ai-config/config.yaml +0 -18
  121. package/ai-config/hooks/_TEMPLATE.md +0 -96
  122. package/ai-config/hooks/block-dangerous-commands.md +0 -75
  123. package/ai-config/hooks/commit-guard.md +0 -90
  124. package/ai-config/hooks/context-loader.md +0 -73
  125. package/ai-config/hooks/improve-prompt.md +0 -91
  126. package/ai-config/hooks/learning-log.md +0 -72
  127. package/ai-config/hooks/model-router.md +0 -86
  128. package/ai-config/hooks/secret-scanner.md +0 -64
  129. package/ai-config/hooks/skill-validator.md +0 -102
  130. package/ai-config/hooks/task-artifact.md +0 -114
  131. package/ai-config/hooks/validate-workflow.md +0 -100
  132. package/ai-config/prompts/base.md +0 -71
  133. package/ai-config/prompts/modes/debug.md +0 -34
  134. package/ai-config/prompts/modes/deploy.md +0 -40
  135. package/ai-config/prompts/modes/research.md +0 -32
  136. package/ai-config/prompts/modes/review.md +0 -33
  137. package/ai-config/prompts/review-policy.md +0 -79
  138. package/ai-config/skills/_TEMPLATE.md +0 -157
  139. package/ai-config/skills/backend/api-gateway/SKILL.md +0 -254
  140. package/ai-config/skills/backend/bff-concepts/SKILL.md +0 -239
  141. package/ai-config/skills/backend/bff-spring/SKILL.md +0 -364
  142. package/ai-config/skills/backend/chi-router/SKILL.md +0 -396
  143. package/ai-config/skills/backend/error-handling/SKILL.md +0 -255
  144. package/ai-config/skills/backend/exceptions-spring/SKILL.md +0 -323
  145. package/ai-config/skills/backend/fastapi/SKILL.md +0 -302
  146. package/ai-config/skills/backend/gateway-spring/SKILL.md +0 -390
  147. package/ai-config/skills/backend/go-backend/SKILL.md +0 -457
  148. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +0 -274
  149. package/ai-config/skills/backend/graphql-concepts/SKILL.md +0 -352
  150. package/ai-config/skills/backend/graphql-spring/SKILL.md +0 -398
  151. package/ai-config/skills/backend/grpc-concepts/SKILL.md +0 -283
  152. package/ai-config/skills/backend/grpc-spring/SKILL.md +0 -445
  153. package/ai-config/skills/backend/jwt-auth/SKILL.md +0 -412
  154. package/ai-config/skills/backend/notifications-concepts/SKILL.md +0 -259
  155. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +0 -261
  156. package/ai-config/skills/backend/search-concepts/SKILL.md +0 -263
  157. package/ai-config/skills/backend/search-spring/SKILL.md +0 -375
  158. package/ai-config/skills/backend/spring-boot-4/SKILL.md +0 -172
  159. package/ai-config/skills/backend/websockets/SKILL.md +0 -532
  160. package/ai-config/skills/data-ai/ai-ml/SKILL.md +0 -423
  161. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +0 -195
  162. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +0 -340
  163. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +0 -440
  164. package/ai-config/skills/data-ai/langchain/SKILL.md +0 -238
  165. package/ai-config/skills/data-ai/mlflow/SKILL.md +0 -302
  166. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +0 -290
  167. package/ai-config/skills/data-ai/powerbi/SKILL.md +0 -352
  168. package/ai-config/skills/data-ai/pytorch/SKILL.md +0 -274
  169. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +0 -321
  170. package/ai-config/skills/data-ai/vector-db/SKILL.md +0 -301
  171. package/ai-config/skills/database/graph-databases/SKILL.md +0 -218
  172. package/ai-config/skills/database/graph-spring/SKILL.md +0 -361
  173. package/ai-config/skills/database/pgx-postgres/SKILL.md +0 -512
  174. package/ai-config/skills/database/redis-cache/SKILL.md +0 -343
  175. package/ai-config/skills/database/sqlite-embedded/SKILL.md +0 -388
  176. package/ai-config/skills/database/timescaledb/SKILL.md +0 -320
  177. package/ai-config/skills/docs/api-documentation/SKILL.md +0 -293
  178. package/ai-config/skills/docs/docs-spring/SKILL.md +0 -377
  179. package/ai-config/skills/docs/mustache-templates/SKILL.md +0 -190
  180. package/ai-config/skills/docs/technical-docs/SKILL.md +0 -447
  181. package/ai-config/skills/frontend/astro-ssr/SKILL.md +0 -441
  182. package/ai-config/skills/frontend/frontend-design/SKILL.md +0 -54
  183. package/ai-config/skills/frontend/frontend-web/SKILL.md +0 -368
  184. package/ai-config/skills/frontend/mantine-ui/SKILL.md +0 -396
  185. package/ai-config/skills/frontend/tanstack-query/SKILL.md +0 -439
  186. package/ai-config/skills/frontend/zod-validation/SKILL.md +0 -417
  187. package/ai-config/skills/frontend/zustand-state/SKILL.md +0 -350
  188. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +0 -244
  189. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +0 -378
  190. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +0 -435
  191. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +0 -420
  192. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +0 -456
  193. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +0 -546
  194. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +0 -474
  195. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +0 -315
  196. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +0 -504
  197. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +0 -448
  198. package/ai-config/skills/prompt-improver/SKILL.md +0 -125
  199. package/ai-config/skills/quality/ghagga-review/SKILL.md +0 -216
  200. package/ai-config/skills/references/hooks-patterns/SKILL.md +0 -238
  201. package/ai-config/skills/references/mcp-servers/SKILL.md +0 -275
  202. package/ai-config/skills/references/plugins-reference/SKILL.md +0 -110
  203. package/ai-config/skills/references/skills-reference/SKILL.md +0 -420
  204. package/ai-config/skills/references/subagent-templates/SKILL.md +0 -193
  205. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +0 -410
  206. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +0 -408
  207. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +0 -386
  208. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +0 -324
  209. package/ai-config/skills/testing/playwright-e2e/SKILL.md +0 -289
  210. package/ai-config/skills/testing/testcontainers/SKILL.md +0 -299
  211. package/ai-config/skills/testing/vitest-testing/SKILL.md +0 -381
  212. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +0 -118
  213. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +0 -299
  214. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +0 -158
  215. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +0 -117
  216. package/ai-config/skills/workflow/git-github/SKILL.md +0 -334
  217. package/ai-config/skills/workflow/git-github/references/examples.md +0 -160
  218. package/ai-config/skills/workflow/git-workflow/SKILL.md +0 -214
  219. package/ai-config/skills/workflow/ide-plugins/SKILL.md +0 -277
  220. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +0 -401
  221. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +0 -199
  222. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +0 -100
  223. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +0 -73
  224. package/ai-config/skills/workflow/wave-workflow/SKILL.md +0 -178
  225. package/schemas/agent.schema.json +0 -34
  226. package/schemas/ai-config.schema.json +0 -28
  227. package/schemas/plugin.schema.json +0 -62
  228. 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.