agent-ctx 1.0.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.
- package/LICENSE +21 -0
- package/README.md +133 -0
- package/dist/bin/agent-ctx.d.ts +7 -0
- package/dist/bin/agent-ctx.d.ts.map +1 -0
- package/dist/bin/agent-ctx.js +8 -0
- package/dist/bin/agent-ctx.js.map +1 -0
- package/dist/bin/agentrc.d.ts +7 -0
- package/dist/bin/agentrc.d.ts.map +1 -0
- package/dist/bin/agentrc.js +8 -0
- package/dist/bin/agentrc.js.map +1 -0
- package/dist/commands/add.d.ts +12 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +17 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/centralize.d.ts +12 -0
- package/dist/commands/centralize.d.ts.map +1 -0
- package/dist/commands/centralize.js +111 -0
- package/dist/commands/centralize.js.map +1 -0
- package/dist/commands/clean.d.ts +13 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +109 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/doctor.d.ts +12 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +168 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +189 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/update.d.ts +13 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +97 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/bridges.d.ts +35 -0
- package/dist/lib/bridges.d.ts.map +1 -0
- package/dist/lib/bridges.js +171 -0
- package/dist/lib/bridges.js.map +1 -0
- package/dist/lib/config.d.ts +31 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +75 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/i18n.d.ts +22 -0
- package/dist/lib/i18n.d.ts.map +1 -0
- package/dist/lib/i18n.js +170 -0
- package/dist/lib/i18n.js.map +1 -0
- package/dist/lib/logger.d.ts +55 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +168 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/templates.d.ts +46 -0
- package/dist/lib/templates.d.ts.map +1 -0
- package/dist/lib/templates.js +88 -0
- package/dist/lib/templates.js.map +1 -0
- package/dist/lib/utils.d.ts +39 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +127 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/wizard.d.ts +22 -0
- package/dist/lib/wizard.d.ts.map +1 -0
- package/dist/lib/wizard.js +197 -0
- package/dist/lib/wizard.js.map +1 -0
- package/package.json +63 -0
- package/src/templates/en/base/_agents.md +62 -0
- package/src/templates/en/base/_architecture.md +90 -0
- package/src/templates/en/base/_bootstrap.md +89 -0
- package/src/templates/en/base/_doc.md +65 -0
- package/src/templates/en/base/_mcp.md +81 -0
- package/src/templates/en/base/_project_state.md +48 -0
- package/src/templates/en/base/_rule.md +56 -0
- package/src/templates/en/base/_skill.md +60 -0
- package/src/templates/en/docs/doc-readme.md +43 -0
- package/src/templates/en/docs/mcp-readme.md +21 -0
- package/src/templates/en/memory/active_context.md +38 -0
- package/src/templates/en/memory/progress.md +35 -0
- package/src/templates/en/memory/project_brief.md +34 -0
- package/src/templates/en/memory/tech_context.md +44 -0
- package/src/templates/en/rules/rule-coding-standards.md +22 -0
- package/src/templates/en/skills/skill-agents.md +74 -0
- package/src/templates/en/skills/skill-api.md +117 -0
- package/src/templates/en/skills/skill-architecture.md +87 -0
- package/src/templates/en/skills/skill-generating.md +116 -0
- package/src/templates/en/skills/skill-git.md +109 -0
- package/src/templates/en/skills/skill-project-state.md +99 -0
- package/src/templates/en/skills/skill-react.md +94 -0
- package/src/templates/en/skills/skill-rules.md +100 -0
- package/src/templates/en/skills/skill-testing.md +139 -0
- package/src/templates/es/base/_agents.md +62 -0
- package/src/templates/es/base/_architecture.md +90 -0
- package/src/templates/es/base/_bootstrap.md +89 -0
- package/src/templates/es/base/_doc.md +65 -0
- package/src/templates/es/base/_mcp.md +81 -0
- package/src/templates/es/base/_project_state.md +48 -0
- package/src/templates/es/base/_rule.md +56 -0
- package/src/templates/es/base/_skill.md +60 -0
- package/src/templates/es/docs/doc-readme.md +43 -0
- package/src/templates/es/docs/mcp-readme.md +21 -0
- package/src/templates/es/memory/active_context.md +38 -0
- package/src/templates/es/memory/progress.md +35 -0
- package/src/templates/es/memory/project_brief.md +34 -0
- package/src/templates/es/memory/tech_context.md +44 -0
- package/src/templates/es/rules/rule-coding-standards.md +22 -0
- package/src/templates/es/skills/skill-agents.md +74 -0
- package/src/templates/es/skills/skill-api.md +117 -0
- package/src/templates/es/skills/skill-architecture.md +87 -0
- package/src/templates/es/skills/skill-generating.md +116 -0
- package/src/templates/es/skills/skill-git.md +108 -0
- package/src/templates/es/skills/skill-project-state.md +99 -0
- package/src/templates/es/skills/skill-react.md +94 -0
- package/src/templates/es/skills/skill-rules.md +100 -0
- package/src/templates/es/skills/skill-testing.md +139 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech_context
|
|
3
|
+
description: Stack técnico y dependencias - semi-estático, actualiza con cambios mayores
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Contexto Técnico
|
|
7
|
+
|
|
8
|
+
## Stack
|
|
9
|
+
|
|
10
|
+
| Capa | Tecnología | Versión |
|
|
11
|
+
|------|------------|---------|
|
|
12
|
+
| Lenguaje | | |
|
|
13
|
+
| Framework | | |
|
|
14
|
+
| Base de datos | | |
|
|
15
|
+
| Cache | | |
|
|
16
|
+
| Hosting | | |
|
|
17
|
+
|
|
18
|
+
## Dependencias
|
|
19
|
+
|
|
20
|
+
### Producción
|
|
21
|
+
|
|
22
|
+
| Paquete | Propósito |
|
|
23
|
+
|---------|-----------|
|
|
24
|
+
| | |
|
|
25
|
+
|
|
26
|
+
### Desarrollo
|
|
27
|
+
|
|
28
|
+
| Paquete | Propósito |
|
|
29
|
+
|---------|-----------|
|
|
30
|
+
| | |
|
|
31
|
+
|
|
32
|
+
## Decisiones de Arquitectura
|
|
33
|
+
|
|
34
|
+
### [Decisión 1]
|
|
35
|
+
|
|
36
|
+
**Contexto:**
|
|
37
|
+
**Decisión:**
|
|
38
|
+
**Consecuencias:**
|
|
39
|
+
|
|
40
|
+
## Puntos de Integración
|
|
41
|
+
|
|
42
|
+
- **API:**
|
|
43
|
+
- **Servicios Externos:**
|
|
44
|
+
- **Terceros:**
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Estándares de Código y Reglas
|
|
2
|
+
|
|
3
|
+
## 1. Principios Generales
|
|
4
|
+
- **DRY (Don't Repeat Yourself):** Extrae lógica repetida a hooks o utilidades.
|
|
5
|
+
- **KISS (Keep It Simple, Stupid):** Prefiere la solución más legible a la más "inteligente".
|
|
6
|
+
- **Composición:** Prefiere componentes pequeños y compuestos sobre monolitos.
|
|
7
|
+
|
|
8
|
+
## 2. TypeScript & Tipado
|
|
9
|
+
- **Prohibido:** Usar `any`. Si no sabes el tipo, usa `unknown` y haz narrowing.
|
|
10
|
+
- **Requerido:** Definir interfaces/tipos para todas las Props de componentes.
|
|
11
|
+
- **Preferencia:** Usa `type` para definiciones de objetos y `interface` si necesitas extenderlas.
|
|
12
|
+
|
|
13
|
+
## 3. Estilos y Naming
|
|
14
|
+
- **Componentes:** `PascalCase` (ej: `UserProfile.tsx`).
|
|
15
|
+
- **Funciones/Variables:** `camelCase` (ej: `getUserData`).
|
|
16
|
+
- **Constantes:** `UPPER_SNAKE_CASE` (ej: `MAX_RETRY_COUNT`).
|
|
17
|
+
- **CSS:** Usamos [Tailwind CSS]. Evita estilos en línea (`style={{...}}`).
|
|
18
|
+
|
|
19
|
+
## 4. Gestión de Errores
|
|
20
|
+
- Envuelve llamadas asíncronas en bloques `try/catch`.
|
|
21
|
+
- Usa componentes `ErrorBoundary` para fallos de UI.
|
|
22
|
+
- Nunca dejes un `catch` vacío. Loguea el error.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: managing-agents
|
|
3
|
+
description: Configurar y actualizar el archivo AGENTS.md de contexto para agentes AI. Usar cuando se configura contexto de agente o se modifican instrucciones.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Gestionando Contexto de Agentes
|
|
7
|
+
|
|
8
|
+
Configurar el archivo AGENTS.md que orienta a los agentes AI en tu proyecto.
|
|
9
|
+
|
|
10
|
+
## Cuándo usar
|
|
11
|
+
|
|
12
|
+
- Configurar contexto de agente AI para un nuevo proyecto
|
|
13
|
+
- Actualizar instrucciones de agente
|
|
14
|
+
- Añadir nuevas fuentes de conocimiento para agentes
|
|
15
|
+
- Cambiar cómo deben comportarse los agentes en tu proyecto
|
|
16
|
+
|
|
17
|
+
## Propósito de AGENTS.md
|
|
18
|
+
|
|
19
|
+
El archivo AGENTS.md es el punto de entrada para agentes AI. Les dice:
|
|
20
|
+
- Qué hace el proyecto
|
|
21
|
+
- Dónde encontrar información crítica
|
|
22
|
+
- Cómo comportarse y qué reglas seguir
|
|
23
|
+
|
|
24
|
+
## Plantilla Estándar
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# Contexto de Agente AI
|
|
28
|
+
|
|
29
|
+
Eres un desarrollador senior uniéndote a este proyecto.
|
|
30
|
+
Tu objetivo es ayudar a construir, refactorizar y mantener código siguiendo nuestra arquitectura.
|
|
31
|
+
|
|
32
|
+
## Índice de Conocimiento
|
|
33
|
+
|
|
34
|
+
Antes de escribir código, carga contexto de:
|
|
35
|
+
|
|
36
|
+
- **Arquitectura:** `.context/architecture.md`
|
|
37
|
+
- **Reglas:** `.context/rules/coding-standards.md`
|
|
38
|
+
- **Skills:** `.context/skills/`
|
|
39
|
+
|
|
40
|
+
## Estado Actual
|
|
41
|
+
|
|
42
|
+
Consulta `.context/project_state.md` para el estado actual del trabajo.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Mejores prácticas
|
|
46
|
+
|
|
47
|
+
### ✅ Hacer
|
|
48
|
+
|
|
49
|
+
- Mantener AGENTS.md conciso (menos de 50 líneas)
|
|
50
|
+
- Apuntar a archivos detallados en vez de duplicar contenido
|
|
51
|
+
- Actualizar cuando cambia la estructura del proyecto
|
|
52
|
+
- Incluir ruta a reglas y convenciones
|
|
53
|
+
|
|
54
|
+
### ❌ Evitar
|
|
55
|
+
|
|
56
|
+
- Poner documentación detallada en AGENTS.md
|
|
57
|
+
- Rutas de archivo desactualizadas
|
|
58
|
+
- Instrucciones genéricas sin especificidad del proyecto
|
|
59
|
+
- Información conflictiva entre archivos
|
|
60
|
+
|
|
61
|
+
## Ubicación
|
|
62
|
+
|
|
63
|
+
AGENTS.md debe estar en la raíz del proyecto:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
proyecto/
|
|
67
|
+
├── AGENTS.md # Punto de entrada para agentes AI
|
|
68
|
+
├── .context/ # Contexto detallado
|
|
69
|
+
│ ├── architecture.md
|
|
70
|
+
│ ├── project_state.md
|
|
71
|
+
│ ├── rules/
|
|
72
|
+
│ └── skills/
|
|
73
|
+
└── src/
|
|
74
|
+
```
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-design
|
|
3
|
+
description: Diseña APIs REST con patrones consistentes, códigos HTTP apropiados y validación. Usar cuando se crean endpoints, manejo de errores o versionado de APIs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# API Design
|
|
7
|
+
|
|
8
|
+
Patrones y mejores prácticas para diseñar APIs REST.
|
|
9
|
+
|
|
10
|
+
## Cuándo usar
|
|
11
|
+
|
|
12
|
+
- Diseñar endpoints REST
|
|
13
|
+
- Manejar errores de forma consistente
|
|
14
|
+
- Versionado de APIs
|
|
15
|
+
- Validación de requests
|
|
16
|
+
|
|
17
|
+
## Convenciones REST
|
|
18
|
+
|
|
19
|
+
### Estructura de URLs
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
GET /api/v1/users # Listar usuarios
|
|
23
|
+
GET /api/v1/users/:id # Obtener usuario
|
|
24
|
+
POST /api/v1/users # Crear usuario
|
|
25
|
+
PUT /api/v1/users/:id # Actualizar completo
|
|
26
|
+
PATCH /api/v1/users/:id # Actualizar parcial
|
|
27
|
+
DELETE /api/v1/users/:id # Eliminar usuario
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Query Parameters
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
GET /api/v1/users?
|
|
34
|
+
page=1& # Paginación
|
|
35
|
+
limit=20& # Items por página
|
|
36
|
+
sort=createdAt:desc& # Ordenamiento
|
|
37
|
+
filter[status]=active # Filtros
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Respuestas Estándar
|
|
41
|
+
|
|
42
|
+
### Éxito (200, 201)
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"success": true,
|
|
47
|
+
"data": { "id": "123", "name": "John Doe" },
|
|
48
|
+
"meta": { "page": 1, "total": 100 }
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Error (400, 404, 500)
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"success": false,
|
|
57
|
+
"error": {
|
|
58
|
+
"code": "VALIDATION_ERROR",
|
|
59
|
+
"message": "Email is required",
|
|
60
|
+
"details": [{ "field": "email", "message": "Required" }]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Códigos HTTP
|
|
66
|
+
|
|
67
|
+
| Código | Significado | Uso |
|
|
68
|
+
|--------|-------------|-----|
|
|
69
|
+
| 200 | OK | GET, PUT/PATCH exitoso |
|
|
70
|
+
| 201 | Created | POST exitoso |
|
|
71
|
+
| 204 | No Content | DELETE exitoso |
|
|
72
|
+
| 400 | Bad Request | Validación fallida |
|
|
73
|
+
| 401 | Unauthorized | No autenticado |
|
|
74
|
+
| 403 | Forbidden | Sin permisos |
|
|
75
|
+
| 404 | Not Found | Recurso no existe |
|
|
76
|
+
| 500 | Server Error | Error interno |
|
|
77
|
+
|
|
78
|
+
## Ejemplo de Validación
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
import { z } from 'zod';
|
|
82
|
+
|
|
83
|
+
const userSchema = z.object({
|
|
84
|
+
email: z.string().email(),
|
|
85
|
+
name: z.string().min(2),
|
|
86
|
+
role: z.enum(['admin', 'user'])
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
export function validate(schema: z.ZodSchema) {
|
|
90
|
+
return (req, res, next) => {
|
|
91
|
+
const result = schema.safeParse(req.body);
|
|
92
|
+
if (!result.success) {
|
|
93
|
+
return res.status(400).json({
|
|
94
|
+
success: false,
|
|
95
|
+
error: { code: 'VALIDATION_ERROR', details: result.error.issues }
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
req.body = result.data;
|
|
99
|
+
next();
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Mejores prácticas
|
|
105
|
+
|
|
106
|
+
### ✅ Hacer
|
|
107
|
+
|
|
108
|
+
- Usar HTTPS siempre
|
|
109
|
+
- Versionado en URL (`/api/v1/`)
|
|
110
|
+
- Rate limiting
|
|
111
|
+
- Respuestas consistentes
|
|
112
|
+
|
|
113
|
+
### ❌ Evitar
|
|
114
|
+
|
|
115
|
+
- Verbos en URLs (`/getUsers`, `/deleteUser`)
|
|
116
|
+
- Exponer IDs internos
|
|
117
|
+
- Respuestas sin formato estándar
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: documenting-architecture
|
|
3
|
+
description: Documentar arquitectura de proyecto, tech stack y flujo de datos. Usar cuando se configura o actualiza documentación de arquitectura.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Documentando Arquitectura
|
|
7
|
+
|
|
8
|
+
Crear y mantener documentación de arquitectura para agentes AI y desarrolladores.
|
|
9
|
+
|
|
10
|
+
## Cuándo usar
|
|
11
|
+
|
|
12
|
+
- Iniciar un nuevo proyecto
|
|
13
|
+
- Cambios importantes en tech stack
|
|
14
|
+
- Añadir nuevos servicios o integraciones
|
|
15
|
+
- Onboarding de nuevos miembros o agentes AI
|
|
16
|
+
|
|
17
|
+
## Estructura del Documento de Arquitectura
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# Arquitectura del Proyecto
|
|
21
|
+
|
|
22
|
+
## Objetivo del Proyecto
|
|
23
|
+
[2-3 líneas describiendo el propósito de la aplicación]
|
|
24
|
+
|
|
25
|
+
## Tech Stack
|
|
26
|
+
|
|
27
|
+
### Frontend
|
|
28
|
+
| Tecnología | Versión | Propósito |
|
|
29
|
+
|------------|---------|-----------|
|
|
30
|
+
| React | 18.x | UI |
|
|
31
|
+
|
|
32
|
+
### Backend
|
|
33
|
+
| Tecnología | Versión | Propósito |
|
|
34
|
+
|------------|---------|-----------|
|
|
35
|
+
| Node.js | 20.x | API |
|
|
36
|
+
|
|
37
|
+
## Estructura de Directorios
|
|
38
|
+
[Árbol mostrando directorios clave]
|
|
39
|
+
|
|
40
|
+
## Flujo de Datos
|
|
41
|
+
[Diagrama o descripción de cómo fluyen los datos]
|
|
42
|
+
|
|
43
|
+
## Variables de Entorno
|
|
44
|
+
| Variable | Descripción | Requerida |
|
|
45
|
+
|----------|-------------|-----------|
|
|
46
|
+
| API_KEY | Clave de servicio | ✅ |
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Secciones Clave
|
|
50
|
+
|
|
51
|
+
1. **Tech Stack**: Todas las tecnologías con versiones
|
|
52
|
+
2. **Estructura de Directorios**: Carpetas clave y su propósito
|
|
53
|
+
3. **Flujo de Datos**: Cómo se mueven los datos por el sistema
|
|
54
|
+
4. **Variables de Entorno**: Configuración requerida
|
|
55
|
+
5. **Dependencias Críticas**: Paquetes importantes
|
|
56
|
+
|
|
57
|
+
## Triggers de Actualización
|
|
58
|
+
|
|
59
|
+
Actualizar architecture.md cuando:
|
|
60
|
+
- Se añaden nuevos frameworks o librerías
|
|
61
|
+
- Cambia la estructura de directorios
|
|
62
|
+
- Se añaden nuevos servicios o APIs
|
|
63
|
+
- Se modifica el flujo de datos
|
|
64
|
+
|
|
65
|
+
## Mejores prácticas
|
|
66
|
+
|
|
67
|
+
### ✅ Hacer
|
|
68
|
+
|
|
69
|
+
- Incluir versiones específicas
|
|
70
|
+
- Documentar el POR QUÉ no solo el QUÉ
|
|
71
|
+
- Mantener actualizado con el codebase
|
|
72
|
+
- Usar tablas para escaneo rápido
|
|
73
|
+
|
|
74
|
+
### ❌ Evitar
|
|
75
|
+
|
|
76
|
+
- Números de versión desactualizados
|
|
77
|
+
- Integraciones críticas faltantes
|
|
78
|
+
- Demasiado detalle (enlazar a docs)
|
|
79
|
+
- Detalles de implementación (poner en comentarios de código)
|
|
80
|
+
|
|
81
|
+
## Ubicación del Archivo
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
proyecto/
|
|
85
|
+
└── .context/
|
|
86
|
+
└── architecture.md # Documento principal de arquitectura
|
|
87
|
+
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: generating-skills
|
|
3
|
+
description: Crear nuevos skills de agente siguiendo las mejores prácticas de SKILL.md. Usar cuando se crean, validan o mejoran archivos de skills para consumo de agentes AI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Generando Skills
|
|
7
|
+
|
|
8
|
+
Crear skills efectivos que los agentes AI puedan descubrir y usar.
|
|
9
|
+
|
|
10
|
+
## Cuándo usar
|
|
11
|
+
|
|
12
|
+
- Crear un nuevo skill desde cero
|
|
13
|
+
- Validar formato de skill existente
|
|
14
|
+
- Mejorar la descubribilidad de skills
|
|
15
|
+
- Convertir documentación a formato de skill
|
|
16
|
+
|
|
17
|
+
## Estructura de Carpetas Estándar
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
nombre-skill/
|
|
21
|
+
├── SKILL.md # Requerido: instrucciones + metadata
|
|
22
|
+
├── scripts/ # Opcional: utilidades ejecutables
|
|
23
|
+
├── references/ # Opcional: documentación detallada
|
|
24
|
+
└── assets/ # Opcional: plantillas, recursos
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Para skills simples, un solo archivo `SKILL.md` es suficiente.
|
|
28
|
+
|
|
29
|
+
## Requisitos de YAML Frontmatter
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
---
|
|
33
|
+
name: nombre-skill
|
|
34
|
+
description: Qué hace el skill y cuándo usarlo. Tercera persona. Max 1024 chars.
|
|
35
|
+
---
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Validación de Nombre
|
|
39
|
+
|
|
40
|
+
- Máximo 64 caracteres
|
|
41
|
+
- Solo letras minúsculas, números, guiones
|
|
42
|
+
- Sin guiones consecutivos (`--`)
|
|
43
|
+
- No puede empezar/terminar con guión
|
|
44
|
+
- Patrón: `^[a-z0-9]+(-[a-z0-9]+)*$`
|
|
45
|
+
|
|
46
|
+
**Buenos nombres**: `api-design`, `git-workflow`, `processing-pdfs`
|
|
47
|
+
**Malos nombres**: `APIDesign`, `git--workflow`, `-api-design`
|
|
48
|
+
|
|
49
|
+
### Guías de Descripción
|
|
50
|
+
|
|
51
|
+
- Escribir en tercera persona
|
|
52
|
+
- Incluir QUÉ hace Y CUÁNDO usarlo
|
|
53
|
+
- Ser específico con términos de activación
|
|
54
|
+
- Máximo 1024 caracteres
|
|
55
|
+
|
|
56
|
+
**Bueno**: `Diseña APIs REST con patrones consistentes. Usar cuando se crean endpoints o manejo de errores.`
|
|
57
|
+
**Malo**: `Ayuda con APIs`
|
|
58
|
+
|
|
59
|
+
## Plantilla SKILL.md
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
---
|
|
63
|
+
name: nombre-skill
|
|
64
|
+
description: Descripción breve en tercera persona. Incluir cuándo usar.
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
# Nombre del Skill
|
|
68
|
+
|
|
69
|
+
Breve descripción.
|
|
70
|
+
|
|
71
|
+
## Cuándo usar
|
|
72
|
+
|
|
73
|
+
- Condición de activación 1
|
|
74
|
+
- Condición de activación 2
|
|
75
|
+
|
|
76
|
+
## Inicio rápido
|
|
77
|
+
|
|
78
|
+
Ejemplo mínimo para empezar.
|
|
79
|
+
|
|
80
|
+
## Pasos de implementación
|
|
81
|
+
|
|
82
|
+
1. Paso 1
|
|
83
|
+
2. Paso 2
|
|
84
|
+
|
|
85
|
+
## Mejores prácticas
|
|
86
|
+
|
|
87
|
+
### ✅ Hacer
|
|
88
|
+
- Buena práctica
|
|
89
|
+
|
|
90
|
+
### ❌ Evitar
|
|
91
|
+
- Anti-patrón
|
|
92
|
+
|
|
93
|
+
## Referencias
|
|
94
|
+
|
|
95
|
+
- [Enlace](url)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Eficiencia de Tokens
|
|
99
|
+
|
|
100
|
+
- Mantener SKILL.md bajo 500 líneas
|
|
101
|
+
- Dividir contenido en archivos separados para skills complejos
|
|
102
|
+
- Usar revelación progresiva (archivos referenciados cargados bajo demanda)
|
|
103
|
+
- Asumir que Claude conoce patrones comunes
|
|
104
|
+
|
|
105
|
+
## Checklist de Workflow
|
|
106
|
+
|
|
107
|
+
Copia y sigue el progreso:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
- [ ] Nombre sigue formato lowercase-hyphen
|
|
111
|
+
- [ ] Descripción es específica e incluye triggers
|
|
112
|
+
- [ ] Sección "Cuándo usar" presente
|
|
113
|
+
- [ ] Ejemplo de inicio rápido incluido
|
|
114
|
+
- [ ] Mejores prácticas documentadas
|
|
115
|
+
- [ ] Menos de 500 líneas
|
|
116
|
+
```
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: git-workflow
|
|
3
|
+
description: Convenciones Git, estrategias de branching y formato de commits. Usar cuando se crean commits, branches, PRs o se resuelven conflictos.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Git Workflow
|
|
7
|
+
|
|
8
|
+
Convenciones Git, commits y patrones de flujo de trabajo.
|
|
9
|
+
|
|
10
|
+
## Cuándo usar
|
|
11
|
+
|
|
12
|
+
- Escribir mensajes de commit
|
|
13
|
+
- Crear feature branches
|
|
14
|
+
- Gestionar pull requests
|
|
15
|
+
- Resolver conflictos o hacer rebase
|
|
16
|
+
|
|
17
|
+
## Commits (Conventional Commits)
|
|
18
|
+
|
|
19
|
+
### Formato
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
<type>(<scope>): <description>
|
|
23
|
+
|
|
24
|
+
[cuerpo opcional]
|
|
25
|
+
|
|
26
|
+
[footer opcional]
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Tipos
|
|
30
|
+
|
|
31
|
+
| Tipo | Descripción |
|
|
32
|
+
|------|-------------|
|
|
33
|
+
| `feat` | Nueva funcionalidad |
|
|
34
|
+
| `fix` | Corrección de bug |
|
|
35
|
+
| `docs` | Solo documentación |
|
|
36
|
+
| `style` | Formato (sin cambio de código) |
|
|
37
|
+
| `refactor` | Refactorización |
|
|
38
|
+
| `test` | Añadir/modificar tests |
|
|
39
|
+
| `chore` | Mantenimiento, deps |
|
|
40
|
+
| `perf` | Mejora de rendimiento |
|
|
41
|
+
|
|
42
|
+
### Ejemplos
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
feat(auth): añadir login con Google OAuth
|
|
46
|
+
fix(api): manejar respuesta null en fetch de usuario
|
|
47
|
+
docs: actualizar guía de instalación
|
|
48
|
+
|
|
49
|
+
# Breaking change
|
|
50
|
+
feat(api)!: cambiar formato de respuesta
|
|
51
|
+
|
|
52
|
+
BREAKING CHANGE: Response ahora devuelve datos en `result` en vez de `data`
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Estrategia de Branching (Git Flow)
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
main (producción)
|
|
59
|
+
│
|
|
60
|
+
└── develop (desarrollo)
|
|
61
|
+
│
|
|
62
|
+
├── feature/nueva-funcionalidad
|
|
63
|
+
├── bugfix/corregir-bug
|
|
64
|
+
└── release/v1.2.0
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Crear Feature Branch
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
git checkout develop
|
|
71
|
+
git pull origin develop
|
|
72
|
+
git checkout -b feature/nombre-descriptivo
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Comandos Útiles
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Stash
|
|
79
|
+
git stash # Guardar cambios
|
|
80
|
+
git stash pop # Restaurar cambios
|
|
81
|
+
|
|
82
|
+
# Rebase interactivo
|
|
83
|
+
git rebase -i HEAD~3 # Últimos 3 commits
|
|
84
|
+
|
|
85
|
+
# Cherry Pick
|
|
86
|
+
git cherry-pick abc123 # Aplicar commit específico
|
|
87
|
+
|
|
88
|
+
# Bisect (encontrar bug)
|
|
89
|
+
git bisect start
|
|
90
|
+
git bisect bad # Commit actual tiene bug
|
|
91
|
+
git bisect good abc123 # Commit bueno conocido
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Mejores prácticas
|
|
95
|
+
|
|
96
|
+
### ✅ Hacer
|
|
97
|
+
|
|
98
|
+
- Commits atómicos (un cambio lógico por commit)
|
|
99
|
+
- PRs pequeños y enfocados
|
|
100
|
+
- Rebase antes de merge
|
|
101
|
+
- Squash commits WIP
|
|
102
|
+
|
|
103
|
+
### ❌ Evitar
|
|
104
|
+
|
|
105
|
+
- Commits con solo "fix" o "update"
|
|
106
|
+
- PRs gigantes (>500 líneas)
|
|
107
|
+
- Force push a branches compartidas
|
|
108
|
+
- Mezclar refactors con features
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracking-project-state
|
|
3
|
+
description: Gestionar documentación de estado del proyecto para contexto de agentes AI. Usar cuando se actualiza estado de trabajo, prioridades o fase del proyecto.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Seguimiento del Estado del Proyecto
|
|
7
|
+
|
|
8
|
+
Mantener un documento vivo del estado actual del proyecto para agentes AI.
|
|
9
|
+
|
|
10
|
+
## Cuándo usar
|
|
11
|
+
|
|
12
|
+
- Iniciar o completar tareas importantes
|
|
13
|
+
- Cambiar prioridades del proyecto
|
|
14
|
+
- Surgen bloqueos
|
|
15
|
+
- Transiciones de sprint o fase
|
|
16
|
+
|
|
17
|
+
## Estructura del Estado del Proyecto
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# Estado del Proyecto
|
|
21
|
+
|
|
22
|
+
## Fase Actual
|
|
23
|
+
[Desarrollo / Testing / Mantenimiento / etc.]
|
|
24
|
+
|
|
25
|
+
## Trabajo Activo
|
|
26
|
+
|
|
27
|
+
### En Progreso
|
|
28
|
+
- [ ] Feature X - [estado breve]
|
|
29
|
+
- [ ] Bug fix Y - [estado breve]
|
|
30
|
+
|
|
31
|
+
### Bloqueado
|
|
32
|
+
- Issue Z - [razón] - [responsable]
|
|
33
|
+
|
|
34
|
+
## Completados Recientes
|
|
35
|
+
- ✅ Feature A (fecha)
|
|
36
|
+
- ✅ Bug fix B (fecha)
|
|
37
|
+
|
|
38
|
+
## Próximas Prioridades
|
|
39
|
+
1. Tarea prioritaria 1
|
|
40
|
+
2. Tarea prioritaria 2
|
|
41
|
+
|
|
42
|
+
## Issues Conocidos
|
|
43
|
+
- Descripción del issue - [severidad]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Frecuencia de Actualización
|
|
47
|
+
|
|
48
|
+
Actualizar project_state.md cuando:
|
|
49
|
+
- Se inicia trabajo significativo
|
|
50
|
+
- Se completan features o fixes
|
|
51
|
+
- Se encuentran bloqueos
|
|
52
|
+
- Cambian prioridades
|
|
53
|
+
- Comienza nuevo sprint/fase
|
|
54
|
+
|
|
55
|
+
## Mejores prácticas
|
|
56
|
+
|
|
57
|
+
### ✅ Hacer
|
|
58
|
+
|
|
59
|
+
- Mantenerlo actual (actualizar mismo día)
|
|
60
|
+
- Ser específico sobre el estado
|
|
61
|
+
- Incluir bloqueos y responsables
|
|
62
|
+
- Fechar completados recientes
|
|
63
|
+
- Limitar a prioridades principales
|
|
64
|
+
|
|
65
|
+
### ❌ Evitar
|
|
66
|
+
|
|
67
|
+
- Información desactualizada (>1 semana)
|
|
68
|
+
- Demasiado detalle (enlazar a issues)
|
|
69
|
+
- Log histórico (mantener solo reciente)
|
|
70
|
+
- Actualizaciones de estado vagas
|
|
71
|
+
|
|
72
|
+
## Integración con Agentes AI
|
|
73
|
+
|
|
74
|
+
Los agentes AI consultan project_state.md para:
|
|
75
|
+
- Entender en qué se está trabajando
|
|
76
|
+
- Evitar cambios conflictivos
|
|
77
|
+
- Priorizar sus sugerencias
|
|
78
|
+
- Proporcionar ayuda contextual
|
|
79
|
+
|
|
80
|
+
## Ubicación del Archivo
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
proyecto/
|
|
84
|
+
└── .context/
|
|
85
|
+
└── project_state.md # Estado actual del proyecto
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Plantilla de Actualización Rápida
|
|
89
|
+
|
|
90
|
+
Al actualizar, usa este formato:
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
## Actualización [Fecha]
|
|
94
|
+
|
|
95
|
+
**Completado**: [qué se terminó]
|
|
96
|
+
**En Progreso**: [en qué se está trabajando]
|
|
97
|
+
**Siguiente**: [próxima prioridad]
|
|
98
|
+
**Bloqueado**: [bloqueos] (si aplica)
|
|
99
|
+
```
|