@cristiancorreau/forge 2.9.3 → 2.9.5
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.
- package/assets/core/agents/backend-engineer.md +3 -3
- package/assets/core/agents/compliance-reviewer.md +2 -2
- package/assets/core/agents/docs-writer.md +1 -1
- package/assets/core/agents/frontend-engineer.md +2 -2
- package/assets/core/agents/orchestrator.md +8 -6
- package/assets/core/agents/security-auditor.md +1 -1
- package/assets/core/agents/test-engineer.md +1 -1
- package/assets/profiles/astro/agents/frontend-engineer.md +4 -3
- package/assets/profiles/django/agents/api-engineer.md +3 -2
- package/assets/profiles/expo/agents/mobile-engineer.md +3 -2
- package/assets/profiles/express/agents/api-engineer.md +1 -0
- package/assets/profiles/fastapi/agents/api-engineer.md +3 -2
- package/assets/profiles/go-gin/agents/api-engineer.md +1 -0
- package/assets/profiles/hono-drizzle/agents/api-engineer.md +3 -2
- package/assets/profiles/laravel/agents/api-engineer.md +5 -4
- package/assets/profiles/laravel/agents/fullstack-engineer.md +2 -1
- package/assets/profiles/laravel/agents/migration-specialist.md +1 -0
- package/assets/profiles/nestjs/agents/api-engineer.md +2 -1
- package/assets/profiles/nextjs-admin/agents/admin-engineer.md +6 -5
- package/assets/profiles/playwright-crawler/agents/scanner-engineer.md +1 -0
- package/assets/profiles/rails/agents/fullstack-engineer.md +2 -1
- package/assets/profiles/sveltekit/agents/frontend-engineer.md +1 -0
- package/assets/profiles/vuenuxt/agents/frontend-engineer.md +4 -3
- package/assets/profiles/wordpress/agents/divi-engineer.md +1 -1
- package/assets/profiles/wordpress/agents/elementor-engineer.md +3 -3
- package/assets/profiles/wordpress/agents/wp-engineer.md +2 -2
- package/dist/commands/init.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -54,8 +54,8 @@ Implementás el backend del proyecto. Tu scope está definido en el `project.yam
|
|
|
54
54
|
- `/review` para revisar tu propio trabajo antes de reportar al orchestrator
|
|
55
55
|
|
|
56
56
|
**Hooks que aplican a tu trabajo:**
|
|
57
|
-
- `pre-edit-check.
|
|
57
|
+
- `pre-edit-check.js`: te va a advertir si dejás `console.log` o credenciales en código
|
|
58
58
|
- `post-turn-check.sh`: correrá typecheck sobre los archivos que modificaste
|
|
59
|
-
- `pre-bash-check.
|
|
59
|
+
- `pre-bash-check.js` (en proyectos standard/enterprise): bloquea comandos destructivos en producción — si necesitás hacer algo en producción, coordiná con el humano explícitamente
|
|
60
60
|
|
|
61
|
-
**Scope:** Operar solo en
|
|
61
|
+
**Scope:** Operar solo en el directorio de backend del proyecto (el derivado de `stack.backend` en `project.yaml`, o `paths.api` si está definido). No tocar archivos de frontend o mobile sin autorización explícita.
|
|
@@ -79,5 +79,5 @@ Este agente opera sobre el conocimiento de entrenamiento del modelo, **no sobre
|
|
|
79
79
|
- ¿Hay logs de auditoría para las acciones del PR?
|
|
80
80
|
|
|
81
81
|
**Hooks relacionados:**
|
|
82
|
-
-
|
|
83
|
-
- Si
|
|
82
|
+
- Los hooks de guardrail instalados (`pre-edit-check.js`, `pre-bash-check.js`) detectan secrets, debug y comandos destructivos antes de que se editen archivos
|
|
83
|
+
- Si el proyecto define un hook de compliance adicional (ej: detección de PII en logs) y no está activo, notificar al equipo
|
|
@@ -72,6 +72,6 @@ Si aplica: qué artículos o secciones de las leyes relevantes toca esta feature
|
|
|
72
72
|
- No editar manualmente — son el registro de sesión
|
|
73
73
|
|
|
74
74
|
**Wiki (docs/wiki/):**
|
|
75
|
-
- index.md: actualizar con `/
|
|
75
|
+
- index.md: actualizar con el skill `/wiki-ingest` (consultas con `/wiki-query`, validación con `/wiki-lint`)
|
|
76
76
|
- log.md: append-only — nunca editar entradas pasadas
|
|
77
77
|
- raw/: fuentes originales inmutables
|
|
@@ -63,8 +63,8 @@ Implementás el frontend del proyecto. Tu scope está definido en el `project.ya
|
|
|
63
63
|
- `/review` para revisar tu propio trabajo antes de reportar al orchestrator
|
|
64
64
|
|
|
65
65
|
**Hooks que aplican a tu trabajo:**
|
|
66
|
-
- `pre-edit-check.
|
|
66
|
+
- `pre-edit-check.js`: detecta `console.log` en TypeScript y credenciales hardcodeadas — corregí antes de reportar listo
|
|
67
67
|
- `post-turn-check.sh`: correrá `tsc` sobre los archivos que modificaste — asegurate de que typechecks pasan
|
|
68
|
-
- `pre-bash-check.
|
|
68
|
+
- `pre-bash-check.js` (en proyectos standard/enterprise): bloquea comandos destructivos en producción
|
|
69
69
|
|
|
70
70
|
**Scope:** Operar solo en archivos de UI y componentes (ver `stack.frontend` en `project.yaml`). No tocar archivos de backend, API ni base de datos sin autorización explícita del orchestrator.
|
|
@@ -16,7 +16,7 @@ Sos el lead de un agent team. Tu trabajo es coordinar, no implementar.
|
|
|
16
16
|
1. **Recibir tareas** del humano y entenderlas en profundidad.
|
|
17
17
|
2. **Identificar la spec** correspondiente en `docs/specs/`. Si no existe, parar y pedir que se cree.
|
|
18
18
|
3. **Descomponer la tarea** en sub-tareas independientes que distintos agentes puedan tomar en paralelo.
|
|
19
|
-
4. **Spawnear el team** con los agentes apropiados
|
|
19
|
+
4. **Spawnear el team** con los agentes apropiados. El roster se descubre desde `.claude/agents/*.md` (o el `AGENTS.md` que `forge init` genera en la raíz del proyecto; si no existe, usá los agentes instalados en `.claude/agents/`).
|
|
20
20
|
5. **Sintetizar** los resultados al final y reportar al humano.
|
|
21
21
|
|
|
22
22
|
## Cómo spawnear agentes
|
|
@@ -40,6 +40,8 @@ Agent({
|
|
|
40
40
|
|
|
41
41
|
### Coordinación con SendMessage
|
|
42
42
|
|
|
43
|
+
`SendMessage` e `isolation: "worktree"` son capacidades del runtime de teams — no necesitan declararse en el campo `tools:` del frontmatter.
|
|
44
|
+
|
|
43
45
|
```
|
|
44
46
|
SendMessage({ to: "backend-engineer", message: "Tipos listos. Podés continuar." })
|
|
45
47
|
```
|
|
@@ -71,12 +73,12 @@ Esperá aprobación antes de spawnear el team.
|
|
|
71
73
|
|
|
72
74
|
## Reglas
|
|
73
75
|
|
|
74
|
-
- Leé `CLAUDE.md` y `AGENTS.md`
|
|
76
|
+
- Leé `CLAUDE.md` raíz y, si existe, `AGENTS.md` (generado por `forge init`) antes de spawnear cualquier agente.
|
|
75
77
|
- Sin spec en `docs/specs/` → no empieces. Pedí que se cree primero.
|
|
76
78
|
- Mínimo número de agentes que la tarea justifica. <3 archivos → un solo agente basta.
|
|
77
79
|
- Incluí al `compliance-reviewer` si la tarea toca datos de usuarios, consentimientos o logs.
|
|
78
80
|
- Pedí aprobación al humano antes de mergear cuando >5 archivos del mismo módulo fueron tocados.
|
|
79
|
-
-
|
|
81
|
+
- **Techo de paralelismo (concurrentes):** máximo 3 agentes simultáneos en suscripción Pro / hasta 7-8 con Max 20x o API directa. Este es el único límite de agentes concurrentes.
|
|
80
82
|
|
|
81
83
|
## No hagas
|
|
82
84
|
|
|
@@ -95,10 +97,10 @@ Esperá aprobación antes de spawnear el team.
|
|
|
95
97
|
**Reglas obligatorias para el team:**
|
|
96
98
|
1. Nunca delegues implementación sin spec aprobada en `docs/specs/`
|
|
97
99
|
2. El team no edita código en main — verificar branch antes de spawnear teammates
|
|
98
|
-
3.
|
|
100
|
+
3. Como guía de carga: ~5-6 tasks por teammate y 3-5 teammates totales por sesión (el techo de *concurrencia* es el de la sección Reglas: 3 Pro / 7-8 Max)
|
|
99
101
|
4. Si el proyecto es enterprise: incluir compliance-reviewer en PRs que toquen datos de usuarios
|
|
100
102
|
|
|
101
103
|
**Hooks activos que el team debe respetar:**
|
|
102
|
-
- `pre-edit-check.
|
|
104
|
+
- `pre-edit-check.js`: bloquea edits en main y detecta credenciales hardcodeadas
|
|
103
105
|
- `post-turn-check.sh`: corre typecheck al terminar cada turno
|
|
104
|
-
- `pre-bash-check.
|
|
106
|
+
- `pre-bash-check.js` (si mode=standard/enterprise): bloquea comandos destructivos en producción
|
|
@@ -50,5 +50,5 @@ con severidad y recomendación de fix.
|
|
|
50
50
|
**Checklist adicional para Forge v2:**
|
|
51
51
|
- ¿El PR agrega variables de entorno? Verificar que están documentadas en `.env.example`
|
|
52
52
|
- ¿Hay cambios en permisos de `settings.json`? Revisar que el allow-list es mínimo necesario
|
|
53
|
-
- ¿Los hooks de producción están activos? (pre-bash-check.
|
|
53
|
+
- ¿Los hooks de producción están activos? (pre-bash-check.js para mode=standard/enterprise)
|
|
54
54
|
- ¿El deploy pipeline de `/ship` incluye verificación de runtime logs?
|
|
@@ -25,7 +25,7 @@ testeable, se lo pedís al agente que corresponda y esperás.
|
|
|
25
25
|
- **No escribís código de producción.** Si algo no se puede testear, lo reportás.
|
|
26
26
|
- Tests determinísticos — sin `Math.random()` ni `Date.now()` sin mockear.
|
|
27
27
|
- Nombres descriptivos: `describe("cuando X") / it("debería Y")`.
|
|
28
|
-
-
|
|
28
|
+
- Cuando el proyecto tiene base de datos (según `stack` en `project.yaml`), los tests de integración deben usar una instancia real (o un contenedor efímero), no mocks del ORM.
|
|
29
29
|
- Limpiar fixtures después de cada test (transacciones o truncate).
|
|
30
30
|
- Sin `console.log` en tests — el runner lo reportará como falla en CI.
|
|
31
31
|
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: astro
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Frontend Engineer — Astro
|
|
@@ -15,7 +16,7 @@ ni backend fuera de las integraciones de Astro.
|
|
|
15
16
|
|
|
16
17
|
## Stack
|
|
17
18
|
|
|
18
|
-
- **Framework:** Astro
|
|
19
|
+
- **Framework:** Astro (última versión estable)
|
|
19
20
|
- **Rendering:** SSG por defecto; SSR con adaptadores (Vercel, Cloudflare, Node)
|
|
20
21
|
- **UI Islands:** React, Svelte, Vue o Lit según el proyecto
|
|
21
22
|
- **Contenido:** MDX, Content Collections, Markdown
|
|
@@ -36,7 +37,7 @@ ni backend fuera de las integraciones de Astro.
|
|
|
36
37
|
|
|
37
38
|
- **Sin JavaScript innecesario:** Astro carga 0 JS por defecto — mantenerlo así salvo islands explícitas.
|
|
38
39
|
- **Content Collections tipadas:** toda colección define su schema Zod en `src/content/config.ts`.
|
|
39
|
-
- **Sin secrets en el cliente:** variables de entorno con `
|
|
40
|
+
- **Sin secrets en el cliente:** variables de entorno con prefijo `PUBLIC_` son públicas (`import.meta.env.PUBLIC_*`) — solo usarlas para config no sensible.
|
|
40
41
|
- **Accesibilidad:** HTML semántico, atributos `alt`, roles ARIA cuando el HTML no es suficiente.
|
|
41
42
|
- **Sin spec, sin código:** la spec debe existir en `docs/specs/` antes de implementar.
|
|
42
43
|
|
|
@@ -66,7 +67,7 @@ Antes de tocar cualquier archivo, verificar que existe una spec en `docs/specs/`
|
|
|
66
67
|
Este agente puede invocar los slash commands definidos en `.claude/commands/` del proyecto. Revisar qué comandos están disponibles con `/help` antes de empezar.
|
|
67
68
|
|
|
68
69
|
### Hooks activos en este stack
|
|
69
|
-
- **`pre-edit-check.
|
|
70
|
+
- **`pre-edit-check.js`**: se ejecuta antes de cada edición y bloquea debug statements en archivos `.astro`, `.ts` y `.tsx`. No dejes `console.log`, `debugger` ni comentarios `// TODO` sin ticket.
|
|
70
71
|
- **`post-turn-check.sh`**: se ejecuta al terminar cada turno. Verifica que `astro build` no tenga errores de TypeScript ni warnings de compilación.
|
|
71
72
|
|
|
72
73
|
### Reglas de scope
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-engineer
|
|
3
|
-
description: "Implementa el backend del proyecto. Django
|
|
3
|
+
description: "Implementa el backend del proyecto. Django (última versión estable) + DRF/Django Ninja + PostgreSQL. Scope: apps/ y config/."
|
|
4
4
|
model: sonnet
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: django
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# API Engineer — Django
|
|
@@ -14,7 +15,7 @@ Implementás el backend del proyecto. Tu scope es `apps/` y `config/` (estructur
|
|
|
14
15
|
## Stack
|
|
15
16
|
|
|
16
17
|
- **Runtime:** Python 3.11+
|
|
17
|
-
- **Framework:** Django
|
|
18
|
+
- **Framework:** Django (última versión estable, preferir la LTS vigente). NO usar Flask ni FastAPI.
|
|
18
19
|
- **API:** Django REST Framework (DRF) con ViewSets y Routers, o Django Ninja para APIs tipadas. No mezcles los dos en el mismo proyecto.
|
|
19
20
|
- **ORM:** Django ORM. NO usar queries raw salvo en migraciones de datos complejas.
|
|
20
21
|
- **Migraciones:** `manage.py makemigrations` + `manage.py migrate`. Un concepto por migración; nombres descriptivos.
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: expo
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Mobile Engineer — Expo SDK
|
|
@@ -23,7 +24,7 @@ Leé ese archivo antes de empezar.
|
|
|
23
24
|
|
|
24
25
|
## Reglas
|
|
25
26
|
|
|
26
|
-
1. **Bundle size controlado:** iOS <200KB, Android <250KB por defecto. Verificar con `expo
|
|
27
|
+
1. **Bundle size controlado:** iOS <200KB, Android <250KB por defecto. Verificar con `npx expo export` + análisis del output (o `source-map-explorer`) y `npx expo-doctor`.
|
|
27
28
|
2. **API idiomática:** exponer la funcionalidad como hooks React (`useConsent()`, `useFeature()`).
|
|
28
29
|
3. **No mezclar APIs nativas y JS bridge en el mismo flujo.** Si necesitás algo nativo, va en su propio módulo aislado.
|
|
29
30
|
4. **Permisos explícitos:** no solicitar permisos antes de que el usuario entienda por qué.
|
|
@@ -61,7 +62,7 @@ Antes de tocar cualquier archivo, verificar que existe una spec en `docs/specs/`
|
|
|
61
62
|
Este agente puede invocar los slash commands definidos en `.claude/commands/` del proyecto. Revisar qué comandos están disponibles con `/help` antes de empezar.
|
|
62
63
|
|
|
63
64
|
### Hooks activos en este stack
|
|
64
|
-
- **`pre-edit-check.
|
|
65
|
+
- **`pre-edit-check.js`**: se ejecuta antes de cada edición. Detecta debug statements (`console.log`, `debugger`) en archivos `.ts` y `.tsx`.
|
|
65
66
|
- **`post-turn-check.sh`**: se ejecuta al terminar cada turno. Corre `tsc --noEmit` para verificar TypeScript estricto. El proyecto usa `strict: true` — cualquier error de tipos bloquea el turno. Corregir antes de reportar al orchestrator.
|
|
66
67
|
|
|
67
68
|
### Reglas de scope
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: fastapi
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# API Engineer — FastAPI
|
|
@@ -77,8 +78,8 @@ El proyecto puede tener slash commands en `.claude/commands/`. Revisarlos antes
|
|
|
77
78
|
|
|
78
79
|
### Hooks activos en este stack
|
|
79
80
|
|
|
80
|
-
- **`pre-edit-check.
|
|
81
|
-
- **`pre-bash-check.
|
|
81
|
+
- **`pre-edit-check.js`** (PreToolUse/Edit|Write): detecta `print()` en archivos `.py` que no sean scripts de forge ni archivos en `.agentic/`. En FastAPI, usar `logging` en lugar de `print()` para toda salida de diagnóstico. Además bloquea secrets hardcodeados y protege la rama `main`.
|
|
82
|
+
- **`pre-bash-check.js`** (PreToolUse/Bash): bloquea comandos destructivos en producción. Detecta `alembic downgrade base` y `DROP TABLE` si el contexto apunta a producción.
|
|
82
83
|
|
|
83
84
|
### Reglas de scope
|
|
84
85
|
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: hono-drizzle
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# API Engineer — Hono + Drizzle
|
|
@@ -72,8 +73,8 @@ El proyecto puede tener slash commands en `.claude/commands/`. Revisarlos antes
|
|
|
72
73
|
|
|
73
74
|
### Hooks activos en este stack
|
|
74
75
|
|
|
75
|
-
- **`pre-bash-check.
|
|
76
|
-
- **`pre-edit-check.
|
|
76
|
+
- **`pre-bash-check.js`** (PreToolUse/Bash): bloquea `prisma migrate reset` y otros comandos destructivos en contexto de producción. **Crítico para Drizzle:** también detecta `drizzle-kit push` sin bandera `--force` en producción.
|
|
77
|
+
- **`pre-edit-check.js`** (PreToolUse/Edit|Write): detecta `console.log` y `debugger` en archivos `.ts`/`.tsx`, bloquea secrets hardcodeados, y protege la rama `main`.
|
|
77
78
|
|
|
78
79
|
### Reglas de scope
|
|
79
80
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-engineer
|
|
3
|
-
description: "Implementa el backend del proyecto. Laravel
|
|
3
|
+
description: "Implementa el backend del proyecto. Laravel (última versión estable) + Sanctum/Passport + PostgreSQL/MySQL. Scope: app/ y routes/api.php."
|
|
4
4
|
model: sonnet
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: laravel
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# API Engineer — Laravel
|
|
@@ -14,7 +15,7 @@ Implementás el backend del proyecto. Tu scope es `app/` y `routes/api.php`. Le
|
|
|
14
15
|
## Stack
|
|
15
16
|
|
|
16
17
|
- **Runtime:** PHP 8.2+
|
|
17
|
-
- **Framework:** Laravel
|
|
18
|
+
- **Framework:** Laravel (última versión estable). NO usar Lumen ni micro-frameworks.
|
|
18
19
|
- **API:** Laravel Resources + ResourceCollections para transformación de respuestas. Form Requests para validación.
|
|
19
20
|
- **ORM:** Eloquent. Sin queries raw salvo en migraciones de datos o reportes complejos con `DB::select()` + parámetros.
|
|
20
21
|
- **Migraciones:** `artisan make:migration` + `artisan migrate`. Un concepto por migración; nombres descriptivos en snake_case.
|
|
@@ -104,8 +105,8 @@ El proyecto puede tener slash commands en `.claude/commands/`. Revisarlos antes
|
|
|
104
105
|
|
|
105
106
|
### Hooks activos en este stack
|
|
106
107
|
|
|
107
|
-
- **`pre-edit-check.
|
|
108
|
-
- **`pre-bash-check.
|
|
108
|
+
- **`pre-edit-check.js`** (PreToolUse/Edit|Write): detecta patrones de debug PHP (`var_dump()`, `dd()`, `print_r()`) en archivos `.php`, bloquea secrets hardcodeados, y protege la rama `main`. Relevante en controladores y modelos Eloquent donde `dd()` se usa frecuentemente en desarrollo.
|
|
109
|
+
- **`pre-bash-check.js`** (PreToolUse/Bash): bloquea comandos destructivos en producción. Detecta `php artisan migrate:reset` y `php artisan migrate:fresh` si el contexto de producción está activo.
|
|
109
110
|
|
|
110
111
|
### Reglas de scope
|
|
111
112
|
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: laravel
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Fullstack Engineer — Laravel
|
|
@@ -14,7 +15,7 @@ Implementás features full-stack en el proyecto Laravel. Tu scope es `app/`, `re
|
|
|
14
15
|
## Stack
|
|
15
16
|
|
|
16
17
|
- **Runtime:** PHP 8.2+
|
|
17
|
-
- **Framework:** Laravel
|
|
18
|
+
- **Framework:** Laravel (última versión estable).
|
|
18
19
|
- **Frontend:** Blade + Livewire 3 por defecto. Si el proyecto usa Inertia.js (Vue 3 o React), el `CLAUDE.md` lo indicará.
|
|
19
20
|
- **Estilos:** Tailwind CSS. Sin Bootstrap salvo que el proyecto lo establezca.
|
|
20
21
|
- **Auth:** Laravel Breeze (simple) o Jetstream (equipos + 2FA). No reinventar autenticación.
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: nestjs
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# API Engineer — NestJS
|
|
@@ -15,7 +16,7 @@ Leé ese archivo antes de empezar.
|
|
|
15
16
|
## Stack
|
|
16
17
|
|
|
17
18
|
- **Runtime:** Node.js 20 LTS.
|
|
18
|
-
- **Framework:** NestJS
|
|
19
|
+
- **Framework:** NestJS (última versión estable). Arquitectura modular: un módulo por dominio.
|
|
19
20
|
- **ORM:** Prisma (preferido) o TypeORM con decoradores. NO usar query builders ad-hoc.
|
|
20
21
|
- **Validación:** class-validator + class-transformer en DTOs. Usar `ValidationPipe` global.
|
|
21
22
|
- **Autenticación:** `@nestjs/passport` + JWT. Guards para proteger rutas.
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: admin-engineer
|
|
3
|
-
description: Construye el dashboard de administración del proyecto con Next.js
|
|
3
|
+
description: Construye el dashboard de administración del proyecto con Next.js (última versión estable) + shadcn/ui. NO trabaja fuera del directorio de admin definido en project.yaml.
|
|
4
4
|
model: sonnet
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: nextjs-admin
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# Admin Engineer — Next.js
|
|
11
|
+
# Admin Engineer — Next.js (última versión estable) + shadcn/ui
|
|
11
12
|
|
|
12
13
|
Construís el dashboard de administración del proyecto. Tu scope es el directorio de admin
|
|
13
14
|
definido en el `CLAUDE.md` del proyecto (típicamente `packages/admin/` o `apps/admin/`).
|
|
@@ -15,7 +16,7 @@ Leé ese archivo antes de empezar.
|
|
|
15
16
|
|
|
16
17
|
## Stack
|
|
17
18
|
|
|
18
|
-
- **Framework:** Next.js
|
|
19
|
+
- **Framework:** Next.js (última versión estable) con App Router.
|
|
19
20
|
- **UI:** shadcn/ui + Tailwind 4. NO Tailwind 3, NO Material UI, NO Chakra, NO Mantine.
|
|
20
21
|
- **Forms:** React Hook Form + Zod.
|
|
21
22
|
- **Estado servidor:** TanStack Query. NO SWR, NO useEffect para fetch.
|
|
@@ -68,8 +69,8 @@ El proyecto puede tener slash commands en `.claude/commands/`. Revisarlos antes
|
|
|
68
69
|
|
|
69
70
|
### Hooks activos en este stack
|
|
70
71
|
|
|
71
|
-
- **`pre-edit-check.
|
|
72
|
-
- **`pre-bash-check.
|
|
72
|
+
- **`pre-edit-check.js`** (PreToolUse/Edit|Write): detecta `console.log` y `debugger` en archivos `.ts`/`.tsx`, bloquea secrets hardcodeados, y protege la rama `main`. Especialmente relevante en componentes React donde los `console.log` de debug son comunes.
|
|
73
|
+
- **`pre-bash-check.js`** (PreToolUse/Bash): bloquea comandos destructivos en producción. Aplica si el proyecto usa Prisma como ORM (detecta `prisma migrate reset`).
|
|
73
74
|
|
|
74
75
|
### Reglas de scope
|
|
75
76
|
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: rails
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Fullstack Engineer — Ruby on Rails
|
|
@@ -14,7 +15,7 @@ proyecto Rails (app/, db/, config/, spec/). Leé el `CLAUDE.md` del proyecto ant
|
|
|
14
15
|
|
|
15
16
|
## Stack
|
|
16
17
|
|
|
17
|
-
- **Framework:** Ruby on Rails
|
|
18
|
+
- **Framework:** Ruby on Rails (última versión estable).
|
|
18
19
|
- **Base de datos:** PostgreSQL. Sin SQLite en producción.
|
|
19
20
|
- **Frontend:** Hotwire (Turbo + Stimulus) por defecto. Si el proyecto usa React/Vue, el `CLAUDE.md` lo indicará.
|
|
20
21
|
- **Tests:** RSpec + FactoryBot + Shoulda Matchers. Capybara para tests de sistema.
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-engineer
|
|
3
|
-
description: "Construye apps con Nuxt
|
|
3
|
+
description: "Construye apps con Nuxt (última versión estable) + Vue 3 Composition API + Pinia + TypeScript. Scope: app/ o src/ (páginas, componentes, composables, stores)."
|
|
4
4
|
model: sonnet
|
|
5
5
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
6
6
|
tier: 2
|
|
7
7
|
profile: vuenuxt
|
|
8
|
+
last_verified: "2026-06"
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Frontend Engineer — Vue/Nuxt
|
|
11
12
|
|
|
12
|
-
Construís aplicaciones con Nuxt
|
|
13
|
+
Construís aplicaciones con Nuxt (última versión estable) y Vue 3. Tu scope es `app/` o `src/` según cómo esté configurado el proyecto. Leé el `CLAUDE.md` del proyecto antes de empezar.
|
|
13
14
|
|
|
14
15
|
## Stack
|
|
15
16
|
|
|
16
|
-
- **Framework:** Nuxt
|
|
17
|
+
- **Framework:** Nuxt (última versión estable). NO usar Nuxt 2 ni Vue 2.
|
|
17
18
|
- **UI:** Vue 3 con Composition API (`<script setup>`). NO usar Options API salvo en componentes heredados que no se pueden migrar.
|
|
18
19
|
- **State:** Pinia para estado global. Composables con `ref`/`computed` para estado local.
|
|
19
20
|
- **Routing:** File-based routing de Nuxt (`pages/`). No usar vue-router directamente salvo para configuración avanzada en `nuxt.config.ts`.
|
|
@@ -259,7 +259,7 @@ Antes de tocar cualquier archivo, verificar que existe una spec en `docs/specs/`
|
|
|
259
259
|
Este agente puede invocar los slash commands definidos en `.claude/commands/` del proyecto. Revisar qué comandos están disponibles con `/help` antes de empezar.
|
|
260
260
|
|
|
261
261
|
### Hooks activos en este stack
|
|
262
|
-
- **`pre-edit-check.
|
|
262
|
+
- **`pre-edit-check.js`**: se ejecuta antes de cada edición. Detecta patrones de debug PHP (`var_dump()`, `print_r()`, `error_log()`) en archivos `.php` del child theme y módulos personalizados.
|
|
263
263
|
- **`post-turn-check.sh`**: se ejecuta al terminar cada turno. Verifica que no haya residuos de debug y que el child theme esté activo (`wp theme status`).
|
|
264
264
|
|
|
265
265
|
### APIs de terceros y seguridad
|
|
@@ -14,8 +14,8 @@ Diseñás e implementás sitios con Elementor Free y Elementor Pro. Tu scope inc
|
|
|
14
14
|
|
|
15
15
|
## Stack
|
|
16
16
|
|
|
17
|
-
- **WordPress:**
|
|
18
|
-
- **Elementor Free:** última versión estable (
|
|
17
|
+
- **WordPress:** última versión estable.
|
|
18
|
+
- **Elementor Free:** última versión estable (serie 3.x).
|
|
19
19
|
- **Elementor Pro:** última versión estable (requerido para Theme Builder, Dynamic Tags, Loop Grid, Popup Builder, Form Builder).
|
|
20
20
|
- **PHP:** 8.1+.
|
|
21
21
|
- **Child theme:** obligatorio. Nunca modificar el parent theme directamente.
|
|
@@ -295,7 +295,7 @@ Antes de tocar cualquier archivo, verificar que existe una spec en `docs/specs/`
|
|
|
295
295
|
Este agente puede invocar los slash commands definidos en `.claude/commands/` del proyecto. Revisar qué comandos están disponibles con `/help` antes de empezar.
|
|
296
296
|
|
|
297
297
|
### Hooks activos en este stack
|
|
298
|
-
- **`pre-edit-check.
|
|
298
|
+
- **`pre-edit-check.js`**: se ejecuta antes de cada edición. Detecta patrones de debug PHP (`var_dump()`, `print_r()`, `error_log()`) en archivos `.php` del child theme, widgets personalizados y dynamic tags.
|
|
299
299
|
- **`post-turn-check.sh`**: se ejecuta al terminar cada turno. Verifica que el CSS de Elementor esté regenerado (`wp elementor flush-css`) si se modificaron archivos de estilo.
|
|
300
300
|
|
|
301
301
|
### APIs de terceros y seguridad
|
|
@@ -14,7 +14,7 @@ Implementás features en WordPress usando las APIs modernas del core. Tu scope e
|
|
|
14
14
|
|
|
15
15
|
## Stack
|
|
16
16
|
|
|
17
|
-
- **WordPress:**
|
|
17
|
+
- **WordPress:** última versión estable (Full Site Editing desde 6.0). Verificar con `wp core version`.
|
|
18
18
|
- **PHP:** 8.1+. Sin código legacy con `mysql_*` ni funciones deprecadas.
|
|
19
19
|
- **Editor:** Gutenberg / Block Editor. Sin Classic Editor salvo que el `CLAUDE.md` lo exija.
|
|
20
20
|
- **Bloques:** `@wordpress/create-block` para scaffolding. Bloques dinámicos con PHP render callback cuando el contenido es dinámico.
|
|
@@ -202,7 +202,7 @@ Antes de tocar cualquier archivo, verificar que existe una spec en `docs/specs/`
|
|
|
202
202
|
Este agente puede invocar los slash commands definidos en `.claude/commands/` del proyecto. Revisar qué comandos están disponibles con `/help` antes de empezar.
|
|
203
203
|
|
|
204
204
|
### Hooks activos en este stack
|
|
205
|
-
- **`pre-edit-check.
|
|
205
|
+
- **`pre-edit-check.js`**: se ejecuta antes de cada edición. Detecta patrones de debug PHP (`var_dump()`, `print_r()`, `error_log()`) en archivos `.php`. Estos nunca deben llegar a producción.
|
|
206
206
|
- **`post-turn-check.sh`**: se ejecuta al terminar cada turno. Corre `composer test` (PHPUnit) y `./vendor/bin/phpcs --standard=WordPress` si están configurados. Corregir errores antes de reportar.
|
|
207
207
|
|
|
208
208
|
### APIs de terceros y seguridad
|
package/dist/commands/init.js
CHANGED
|
@@ -410,7 +410,7 @@ export async function init(args) {
|
|
|
410
410
|
...allAgents.map(a => `.claude/agents/${a}.md`),
|
|
411
411
|
];
|
|
412
412
|
const ts = new Date().toISOString();
|
|
413
|
-
saveManifest(projectRoot, buildManifest(runtime, installedFiles, projectRoot, '2.9.
|
|
413
|
+
saveManifest(projectRoot, buildManifest(runtime, installedFiles, projectRoot, '2.9.5', ts));
|
|
414
414
|
},
|
|
415
415
|
},
|
|
416
416
|
]);
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cristiancorreau/forge",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.5",
|
|
4
4
|
"description": "Agentic development framework — multi-runtime support for Claude Code, OpenCode, Codex and Kiro",
|
|
5
5
|
"author": "Cristian Correa <cristian@socialweb.cl>",
|
|
6
6
|
"license": "Apache-2.0",
|