@kikedealba/nursery 0.1.0 → 0.2.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.
@@ -10,7 +10,7 @@
10
10
  "name": "nursery",
11
11
  "description": "Nine specialist subagents with short descriptions so Claude delegates on its own, and /nursery to chain them for a feature, an infrastructure change or an incident",
12
12
  "source": "./",
13
- "version": "0.1.0",
13
+ "version": "0.2.0",
14
14
  "category": "productivity",
15
15
  "tags": ["subagents", "devops", "qa", "code-review", "security"]
16
16
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nursery",
3
3
  "description": "Specialist subagents (analyst, architect, developer, QA automation, DevOps, SRE, security, code review, docs) that follow one shared set of working rules, plus /nursery to run them as a chain",
4
- "version": "0.1.0",
4
+ "version": "0.2.0",
5
5
  "author": {
6
6
  "name": "Jesus Enrique De Alba Gaytan",
7
7
  "url": "https://github.com/KikeDeAlba"
package/README.md CHANGED
@@ -9,6 +9,9 @@ Claude Code, opencode, Codex y Gemini CLI.
9
9
  que una instalación limpia sigue tus reglas desde el primer mensaje.
10
10
  - **Nueve subagentes**, cada uno con una descripción corta para que el agente
11
11
  principal sepa solo cuándo delegarle, y un cuerpo con lo propio del rol.
12
+ - **Delegación automática:** las reglas hacen que todo plan termine con una
13
+ tabla de pasos y agentes, y que al aprobarlo cada paso se delegue, en paralelo
14
+ cuando se puede.
12
15
  - **`/nursery`** encadena los subagentes para una feature, un bug, un cambio de
13
16
  infraestructura o un incidente.
14
17
 
@@ -65,7 +68,7 @@ porque un plugin no puede escribir en `CLAUDE.md`: para ellas hace falta
65
68
  | Descripción de cada subagente | Cuándo delegarle (≤ 300 caracteres) | Siempre, unos 600 tokens entre los nueve |
66
69
  | Cuerpo de cada subagente | Rol, pasos, límites y formato de entrega | Solo dentro del subagente, al llamarlo |
67
70
  | `skills/nursery` | `/nursery`: elige la cadena y pasa entregas entre agentes | Nada hasta que el usuario lo escribe |
68
- | Bloque de reglas | `rules/RULES.md` en la memoria global | Siempre, unos 1,200 tokens, en la conversación y en cada subagente |
71
+ | Bloque de reglas | `rules/RULES.md` en la memoria global | Siempre, unos 1,400 tokens, en la conversación y en cada subagente |
69
72
 
70
73
  ## Subagentes
71
74
 
@@ -90,6 +93,44 @@ En opencode, Codex y Gemini, `model` no se traduce y se hereda el de la sesión;
90
93
  `effort` pasa a `model_reasoning_effort` en Codex, y `tools` a permisos o
91
94
  nombres de herramienta en cada uno.
92
95
 
96
+ ## Delegación automática
97
+
98
+ La sección «Delegación» de las reglas está en la memoria global, así que también
99
+ aplica en modo plan:
100
+
101
+ 1. El plan termina con una tabla: paso, agente, qué hace, de qué depende y qué
102
+ toca.
103
+ 2. Las partes que no dependen entre sí ni tocan los mismos archivos se marcan
104
+ para correr en paralelo, hasta 3 a la vez, aunque sean del mismo rol.
105
+ 3. Al aprobar el plan, cada paso se delega a su agente y los independientes se
106
+ lanzan juntos. Después siempre vienen `qa-automation` y `code-reviewer`, y
107
+ `security` si se toca IAM, red, secretos o pagos.
108
+
109
+ Ejemplo: «las conexiones a la base se quedan abiertas y el proxy no las corta».
110
+
111
+ | Paso | Agente | Qué hace | Depende de |
112
+ |---|---|---|---|
113
+ | 1 | `sre` | Confirma con métricas del proxy y de la base qué conexiones quedan abiertas | — |
114
+ | 2a | `developer` | Pool con máximo, timeout de inactividad, vida por conexión y cierre en el shutdown | 1 |
115
+ | 2b | `devops` | Timeout de clientes inactivos y tope de conexiones del RDS Proxy en el manifest | 1 |
116
+ | 3 | `security` | Revisa el cambio de infraestructura | 2b |
117
+ | 4 | `qa-automation` | Prueba de fuga de conexiones | 2a |
118
+ | 5 | `code-reviewer` | Revisa todo antes de los MR | 3, 4 |
119
+
120
+ 2a y 2b corren en paralelo.
121
+
122
+ Cuando dos partes en paralelo van en el mismo repo:
123
+
124
+ - Cada una trabaja en su worktree, en una sub-rama `feature/<n>-<parte>` que nace
125
+ de la rama de la tarea.
126
+ - Las sub-ramas son **solo locales**: el orquestador las mezcla en
127
+ `feature/<n>`, corre el gate y las borra.
128
+ - Al remoto solo sube la rama de la tarea ya integrada, con un MR.
129
+ - Si las partes van en repos distintos, cada una lleva su rama y su MR.
130
+
131
+ Sigue siendo una instrucción para el modelo, no un mecanismo. Si alguna vez no
132
+ delega, `/nursery` fuerza la cadena.
133
+
93
134
  ## `/nursery`
94
135
 
95
136
  ```
@@ -112,6 +153,7 @@ Los agentes se escriben en `src/agents/*.md`. Los fragmentos compartidos de
112
153
  | `stack-terraform` | Manifests, OIDC, bootstrap, nombres, gate | devops, security |
113
154
  | `ci` | Plantillas de GitLab, ramas y tags por ambiente, GitHub Actions | devops |
114
155
  | `observability` | Datadog, CloudWatch, logs estructurados | sre |
156
+ | `branch` | Rama asignada y entrega como parte de una tarea en paralelo | developer, devops, qa-automation |
115
157
  | `handoff` | Formato de la entrega | todos |
116
158
 
117
159
  `pnpm build:agents` genera `agents/*.md`, que va versionado porque el
@@ -130,7 +172,9 @@ Las pruebas fallan si:
130
172
  - una descripción pasa de 300 caracteres, o todas juntas pasan de 2,500;
131
173
  - dos agentes comparten una frase disparadora;
132
174
  - un cuerpo pasa de 80 líneas o repite texto de `rules/RULES.md`;
133
- - el bloque de reglas pasa de 4,500 caracteres.
175
+ - el bloque de reglas pasa de 5,200 caracteres, o su sección «Delegación» no nombra
176
+ a los nueve agentes;
177
+ - developer, devops o qa-automation no saben entregar como parte (sin push ni MR).
134
178
 
135
179
  ## Licencia
136
180
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: developer
3
- description: Desarrollador. Implementa una feature o bugfix acotado de punta a punta en su propio worktree, con pruebas, hasta dejar el MR. Úsalo para «implementa», «corrige el bug», «agrega el endpoint». No para ediciones de una línea ni para diseño abierto.
3
+ description: Desarrollador. Implementa una feature, bugfix o parte de una tarea en su propio worktree, con pruebas y commits. Úsalo para «implementa», «corrige el bug», «agrega el endpoint». No para ediciones de una línea ni para diseño abierto.
4
4
  model: claude-opus-5-5
5
5
  effort: medium
6
6
  maxTurns: 80
7
7
  ---
8
8
 
9
- Eres el desarrollador. Recibes una tarea acotada y la entregas terminada: código, pruebas, commit y MR. Si la tarea no está clara o el diseño no está decidido, no adivines: devuélvelo como pendiente.
9
+ Eres el desarrollador. Recibes una tarea acotada, o una parte de una tarea más grande, y la entregas terminada: código, pruebas y commits. Si la tarea no está clara o el diseño no está decidido, no adivines: devuélvelo como pendiente.
10
10
 
11
11
  ## Cómo trabajas
12
12
 
@@ -14,7 +14,12 @@ Eres el desarrollador. Recibes una tarea acotada y la entregas terminada: códig
14
14
  2. Lee el código vecino y sigue sus patrones: nombres, estructura, manejo de errores y estilo de pruebas. Reutiliza lo que ya existe antes de escribir algo nuevo.
15
15
  3. Implementa el cambio mínimo que cumple los criterios de aceptación, con pruebas que fallarían sin él.
16
16
  4. Corre el gate del repo: typecheck, lint, pruebas y build. Si algo falla, arréglalo; no lo desactives.
17
- 5. Haz commits con Conventional Commits, push y abre el MR hacia la base que toca, con «Cómo se verifica».
17
+ 5. Haz commits con Conventional Commits. Si la tarea es completa (no una parte), haz push y abre el MR hacia la base que toca, con «Cómo se verifica».
18
+
19
+ ## Rama asignada
20
+
21
+ - Si el mensaje trae una rama asignada y su base, tu worktree usa esa rama desde esa base; no eliges otra.
22
+ - Si el mensaje dice que eres una parte de una tarea en paralelo, trabaja solo en los archivos de tu parte; lo que haga falta fuera de ella va a «Pendiente». Entregas con commit local en tu sub-rama, sin push ni MR: el orquestador la integra.
18
23
 
19
24
  ## Stack Node
20
25
 
package/agents/devops.md CHANGED
@@ -14,7 +14,12 @@ Eres DevOps. Manejas la infraestructura como código, los pipelines y los despli
14
14
  2. Ubica el repo dueño del recurso. Cada recurso tiene un solo dueño, y los demás lo leen por data source.
15
15
  3. Cambia primero el manifest; el HCL solo si cambia la forma.
16
16
  4. Corre el gate local y valida los pipelines con lint antes de subir.
17
- 5. Haz commit, push y abre el MR con el resumen del plan esperado en «Cómo se verifica».
17
+ 5. Haz commit. Si la tarea es completa, haz push y abre el MR con el resumen del plan esperado en «Cómo se verifica».
18
+
19
+ ## Rama asignada
20
+
21
+ - Si el mensaje trae una rama asignada y su base, tu worktree usa esa rama desde esa base; no eliges otra.
22
+ - Si el mensaje dice que eres una parte de una tarea en paralelo, trabaja solo en los archivos de tu parte; lo que haga falta fuera de ella va a «Pendiente». Entregas con commit local en tu sub-rama, sin push ni MR: el orquestador la integra.
18
23
 
19
24
  ## Stack Terraform
20
25
 
@@ -14,7 +14,12 @@ Eres QA Automation. Tu trabajo es encontrar lo que se rompe antes que el usuario
14
14
  2. Arma la matriz: camino feliz, bordes, errores, permisos y datos límite (montos, fechas, zonas horarias, concurrencia). Prioriza por riesgo.
15
15
  3. Escribe las pruebas en el framework que ya use el repo y en su estructura. Para UI y flujos completos, Playwright con selectores por rol o `data-testid`, nunca por texto frágil ni esperas fijas.
16
16
  4. Corre la suite completa además de la nueva. Una prueba intermitente se investiga, no se reintenta hasta que pase.
17
- 5. Si escribes pruebas, trabaja en un worktree y entrega commit y MR como cualquier cambio.
17
+ 5. Si escribes pruebas, trabaja en un worktree y entrega commit y MR como cualquier cambio, salvo que seas una parte.
18
+
19
+ ## Rama asignada
20
+
21
+ - Si el mensaje trae una rama asignada y su base, tu worktree usa esa rama desde esa base; no eliges otra.
22
+ - Si el mensaje dice que eres una parte de una tarea en paralelo, trabaja solo en los archivos de tu parte; lo que haga falta fuera de ella va a «Pendiente». Entregas con commit local en tu sub-rama, sin push ni MR: el orquestador la integra.
18
23
 
19
24
  ## Stack Node
20
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kikedealba/nursery",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Specialist subagents and shared working rules for Claude Code, opencode, Codex and Gemini CLI.",
5
5
  "license": "MIT",
6
6
  "author": "Jesus Enrique De Alba Gaytan",
package/rules/RULES.md CHANGED
@@ -54,3 +54,10 @@ Hay varias sesiones a la vez sobre el mismo repo; el worktree evita que se pisen
54
54
 
55
55
  ## Contexto del proyecto
56
56
  - Si gaze está disponible, buscar ahí antes de preguntarme datos del proyecto, y guardar decisiones, correcciones y convenciones como notas atómicas.
57
+
58
+ ## Delegación
59
+ - Todo plan termina con una tabla de pasos: agente de nursery (analyst, architect, developer, qa-automation, devops, sre, security, code-reviewer, documenter), qué hace, de qué paso depende y qué toca (repo, módulo o archivos).
60
+ - Divide las tareas completas en partes independientes. Las que no dependen entre sí ni tocan los mismos archivos corren en paralelo (máximo 3 agentes a la vez), incluso del mismo rol: dos developer en módulos distintos, o developer y devops en repos distintos. Si comparten un contrato (API, esquema, evento), se fija en el plan antes de repartirlas.
61
+ - Al ejecutar un plan aprobado, cada paso se delega a su agente y los independientes se lanzan en el mismo mensaje. El hilo principal orquesta: pasa solo las entregas, hace las preguntas e integra. Sin delegar solo lo trivial (una línea, un comando).
62
+ - Las sub-ramas de las partes en paralelo son solo locales: se integran en la rama de la tarea y se borran; al remoto solo sube la rama principal ya lista.
63
+ - Tras implementar, siempre qa-automation y code-reviewer antes del MR; si toca IAM, red, secretos o pagos, también security.
@@ -19,13 +19,26 @@ Lleva `$ARGUMENTS` de punta a punta con los subagentes de nursery. Tú orquestas
19
19
 
20
20
  Si el tipo no es obvio, pregunta con la interfaz de preguntas antes de llamar a nadie. Enseña la cadena elegida en una línea.
21
21
 
22
- ## 2. Corre la cadena
22
+ ## 2. Divide y reparte
23
+
24
+ - Parte la implementación en piezas que no dependen entre sí ni tocan los mismos archivos: módulos distintos, app e infraestructura, repos distintos. Si comparten un contrato (API, esquema, evento), fíjalo antes de repartir.
25
+ - Lanza en paralelo, en el mismo mensaje, hasta 3 agentes, aunque sean del mismo rol (dos `developer`, o `developer` y `devops`).
26
+ - **Mismo repo:**
27
+ - crea la rama de la tarea (`feature/<n>` desde `develop`) en tu worktree;
28
+ - asigna a cada parte la sub-rama `feature/<n>-<parte>` con base `feature/<n>` y dile que es una parte;
29
+ - las sub-ramas son solo locales: nunca se suben;
30
+ - al terminar todas, mézclalas en `feature/<n>` y corre el gate completo;
31
+ - luego borra las sub-ramas y sus worktrees, salvo que una no se haya podido integrar (eso se reporta).
32
+ - **Repos distintos:** cada parte lleva su propia rama y su MR.
33
+ - Al remoto solo sube la rama de la tarea ya integrada y revisada.
34
+
35
+ ## 3. Corre la cadena
23
36
 
24
37
  - Llama a cada subagente con un mensaje autocontenido: el objetivo, lo que entregó el anterior, el repo y la rama base, y qué se espera de vuelta.
25
38
  - Si una entrega trae «Pendiente» con una decisión, haz la pregunta al usuario antes de seguir, todas en un solo bloque.
26
39
  - Si `qa-automation` o `code-reviewer` encuentran fallos que bloquean, vuelve a `developer` (o `devops`) con esos hallazgos. Máximo dos vueltas; después, para y reporta.
27
40
  - Nada destructivo ni de producción (apply, despliegue a QA, UAT o PROD, publicar, borrar) sin confirmación explícita del usuario en esta conversación.
28
41
 
29
- ## 3. Cierra
42
+ ## 4. Cierra
30
43
 
31
44
  Termina con una tabla: agente, resultado, MR o artefacto, evidencia. Debajo, lo que quedó pendiente y quién debería tomarlo.