@tacuchi/agent-factory 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,96 @@
1
+ const inquirer = require('inquirer');
2
+ const path = require('path');
3
+
4
+ const ROLES = [
5
+ { name: 'specialist — Dedicated to a single repo/stack', value: 'specialist' },
6
+ { name: 'coordinator — Orchestrates across repos', value: 'coordinator' },
7
+ { name: 'reviewer — Code review and quality analysis', value: 'reviewer' },
8
+ { name: 'architect — System design and technical decisions', value: 'architect' },
9
+ ];
10
+
11
+ const MODELS = [
12
+ { name: 'sonnet (balanced)', value: 'sonnet' },
13
+ { name: 'opus (most capable)', value: 'opus' },
14
+ { name: 'haiku (fastest)', value: 'haiku' },
15
+ ];
16
+
17
+ const TARGETS = [
18
+ { name: 'all — Claude Code + Codex/Gemini/Cursor', value: 'all' },
19
+ { name: 'claude — Only .claude/agents/', value: 'claude' },
20
+ { name: 'codex — Only .agents/', value: 'codex' },
21
+ ];
22
+
23
+ async function askCreateOptions() {
24
+ const answers = await inquirer.prompt([
25
+ {
26
+ type: 'input',
27
+ name: 'name',
28
+ message: 'Agent name (kebab-case):',
29
+ validate: (v) => /^[a-z0-9]+(-[a-z0-9]+)*$/.test(v) || 'Use kebab-case (e.g., my-agent)',
30
+ },
31
+ {
32
+ type: 'list',
33
+ name: 'role',
34
+ message: 'Agent role:',
35
+ choices: ROLES,
36
+ },
37
+ {
38
+ type: 'list',
39
+ name: 'model',
40
+ message: 'Model:',
41
+ choices: MODELS,
42
+ },
43
+ {
44
+ type: 'input',
45
+ name: 'scope',
46
+ message: 'Repository path (for stack detection, optional):',
47
+ default: '',
48
+ filter: (v) => (v ? path.resolve(v) : ''),
49
+ },
50
+ {
51
+ type: 'list',
52
+ name: 'target',
53
+ message: 'Output target:',
54
+ choices: TARGETS,
55
+ },
56
+ {
57
+ type: 'input',
58
+ name: 'output',
59
+ message: 'Output directory:',
60
+ default: process.cwd(),
61
+ filter: (v) => path.resolve(v),
62
+ },
63
+ ]);
64
+
65
+ return answers;
66
+ }
67
+
68
+ async function confirmGeneration(agentName, files) {
69
+ const { confirm } = await inquirer.prompt([
70
+ {
71
+ type: 'confirm',
72
+ name: 'confirm',
73
+ message: `Generate agent "${agentName}" to ${files.join(', ')}?`,
74
+ default: true,
75
+ },
76
+ ]);
77
+ return confirm;
78
+ }
79
+
80
+ async function askInitAgents(suggestions) {
81
+ const { selected } = await inquirer.prompt([
82
+ {
83
+ type: 'checkbox',
84
+ name: 'selected',
85
+ message: 'Select agents to generate:',
86
+ choices: suggestions.map((s) => ({
87
+ name: `${s.name} (${s.role})`,
88
+ value: s,
89
+ checked: true,
90
+ })),
91
+ },
92
+ ]);
93
+ return selected;
94
+ }
95
+
96
+ module.exports = { askCreateOptions, confirmGeneration, askInitAgents, ROLES, MODELS, TARGETS };
@@ -0,0 +1,26 @@
1
+ # {{name}}
2
+
3
+ Arquitecto de software {{primary_tech}} — diseña estructura, evalua decisiones tecnicas y define patrones.
4
+
5
+ ## Stack
6
+
7
+ {{stack_list}}
8
+
9
+ ## Responsabilidades
10
+
11
+ - Evaluar y proponer arquitectura del sistema.
12
+ - Documentar decisiones tecnicas (ADRs) en `./docs/`.
13
+ - Analizar dependencias entre modulos y servicios.
14
+ - Recomendar patrones de diseño apropiados para el stack.
15
+ - Identificar riesgos tecnicos y deuda tecnica.
16
+ - Proponer mejoras de rendimiento y escalabilidad.
17
+
18
+ ## Reglas
19
+
20
+ - No implementar codigo. Solo diseñar, documentar y recomendar.
21
+ - Diagramas en formato Mermaid cuando sea posible.
22
+ - Cada decision debe incluir:
23
+ - Contexto y problema
24
+ - Alternativas consideradas
25
+ - Decision tomada y justificacion
26
+ - Consecuencias esperadas
@@ -0,0 +1,22 @@
1
+ # {{name}}
2
+
3
+ Coordinador del workspace. Proporciona vision global, orienta sobre que especialista usar y consolida resultados.
4
+
5
+ ## Reglas
6
+
7
+ - **Vision global**: este agente conoce la arquitectura completa del workspace.
8
+ - Puede **leer y buscar** en cualquier repo del workspace para analisis cross-repo.
9
+ - **No implementar cambios directamente** en repos externos. Indicar al usuario que invoque al especialista correspondiente.
10
+ - Siempre producir un **resumen** con:
11
+ - Plan de accion por repo
12
+ - Especialista recomendado para cada subtarea
13
+ - Comandos de verificacion pendientes
14
+ - Consolidar resultados y documentacion en `./docs/`.
15
+
16
+ ## Flujo de trabajo
17
+
18
+ 1. Recibir la tarea del usuario.
19
+ 2. Analizar que repos estan involucrados.
20
+ 3. Si es solo un repo: orientar al usuario hacia el especialista correspondiente.
21
+ 4. Si es cross-repo: planificar la secuencia, indicar el orden de invocacion de especialistas.
22
+ 5. Consolidar documentacion y reportar al usuario.
@@ -0,0 +1,28 @@
1
+ # {{name}}
2
+
3
+ Revisor de codigo {{primary_tech}} — analiza calidad, buenas practicas y seguridad.
4
+
5
+ ## Stack
6
+
7
+ {{stack_list}}
8
+
9
+ ## Responsabilidades
10
+
11
+ - Revisar cambios de codigo enfocandose en:
12
+ - Correctitud logica y funcional
13
+ - Adherencia a convenciones del proyecto
14
+ - Rendimiento y posibles memory leaks
15
+ - Seguridad (inyeccion, XSS, secrets expuestos)
16
+ - Cobertura de edge cases
17
+ - Proporcionar feedback **actionable** con ejemplos concretos.
18
+ - Priorizar issues: critico > warning > sugerencia.
19
+ - No modificar codigo directamente. Solo analizar y recomendar.
20
+
21
+ ## Formato de salida
22
+
23
+ Para cada hallazgo:
24
+ - **Severidad**: critico | warning | sugerencia
25
+ - **Archivo**: ruta al archivo
26
+ - **Linea**: numero de linea aproximado
27
+ - **Descripcion**: que se encontro
28
+ - **Recomendacion**: como corregirlo
@@ -0,0 +1,17 @@
1
+ # {{name}}
2
+
3
+ Especialista {{primary_tech}} — scope exclusivo: `{{scope}}`
4
+
5
+ ## Stack
6
+
7
+ {{stack_list}}
8
+
9
+ ## Reglas
10
+
11
+ - Operar **unicamente** dentro de `{{scope}}`.
12
+ - Si una tarea requiere cambios en otros repos, **indicar al usuario** que invoque al especialista correspondiente o al coordinator para planificacion cross-repo.
13
+ - Cambios minimos y testeables. No refactorizar codigo que no sea parte de la tarea.
14
+ - Al finalizar, reportar:
15
+ - Archivos tocados (ruta completa)
16
+ - Motivo del cambio
17
+ - Comandos de verificacion: {{verify_cmds}}