@qubiit/lmagent 3.0.0 → 3.0.4
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/.agents/config/models.yaml +1 -1
- package/.agents/config/settings.yaml +9 -1
- package/.agents/docs/commands.md +46 -132
- package/.agents/docs/customization-guide.md +24 -432
- package/.agents/docs/getting-started.md +49 -126
- package/.agents/docs/how-to-start.md +20 -232
- package/.agents/docs/navigation-index.md +17 -227
- package/.agents/docs/usage-guide.md +17 -108
- package/.agents/memory/01-project.md +17 -0
- package/.agents/memory/02-tech-updates.md +16 -0
- package/.agents/memory/03-learnings.md +12 -0
- package/.agents/memory/04-active-context.md +14 -0
- package/.agents/memory/05-product-state.md +13 -0
- package/.agents/rules/02-tech-stack.md +33 -32
- package/.agents/rules/03-code-style.md +1 -1
- package/.agents/rules/08-agents-ai.md +22 -611
- package/.agents/rules/09-automations.md +15 -642
- package/.agents/rules/10-git-flow.md +34 -122
- package/.agents/scripts/create_skill.js +1 -1
- package/.agents/scripts/validate_skills.js +2 -2
- package/.agents/templates/backend-node/Dockerfile +1 -1
- package/.agents/templates/backend-node/package.json +10 -10
- package/.agents/templates/backend-python/Dockerfile +1 -1
- package/.agents/templates/backend-python/requirements-dev.txt +5 -6
- package/.agents/templates/backend-python/requirements.txt +4 -4
- package/.agents/templates/frontend-react/Dockerfile +19 -0
- package/.agents/templates/frontend-react/package.json +31 -0
- package/.agents/templates/frontend-react/postcss.config.js +6 -0
- package/.agents/templates/frontend-react/tailwind.config.js +11 -0
- package/.agents/templates/frontend-react/tsconfig.app.json +35 -0
- package/.agents/templates/frontend-react/tsconfig.json +11 -0
- package/.agents/templates/frontend-react/tsconfig.node.json +24 -0
- package/.agents/templates/frontend-react/vite.config.ts +17 -0
- package/.agents/workflows/n8n/README.md +3 -0
- package/AGENTS.md +3 -2
- package/CONTRIBUTING.md +2 -2
- package/README.md +1 -1
- package/install.js +148 -91
- package/package.json +5 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# LMAgent Global Settings
|
|
2
2
|
# Configuración global personalizable del framework
|
|
3
3
|
|
|
4
|
-
version: "3.0.
|
|
4
|
+
version: "3.0.3"
|
|
5
5
|
|
|
6
6
|
# ============================================
|
|
7
7
|
# PERSONALIZACIÓN DEL FRAMEWORK
|
|
@@ -386,6 +386,14 @@ templates:
|
|
|
386
386
|
- name: "automation-n8n"
|
|
387
387
|
description: "n8n webhook handler"
|
|
388
388
|
path: "templates/automation-n8n"
|
|
389
|
+
|
|
390
|
+
- name: "database"
|
|
391
|
+
description: "Database schema and migrations"
|
|
392
|
+
path: "templates/database"
|
|
393
|
+
|
|
394
|
+
- name: "frontend-react"
|
|
395
|
+
description: "React Frontend template"
|
|
396
|
+
path: "templates/frontend-react"
|
|
389
397
|
|
|
390
398
|
# ============================================
|
|
391
399
|
# EXTENSIONES
|
package/.agents/docs/commands.md
CHANGED
|
@@ -1,132 +1,46 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
| `/
|
|
45
|
-
| `/
|
|
46
|
-
| `/
|
|
47
|
-
| `/perf` | optimize-performance.md |
|
|
48
|
-
| `/issue` | resolve-github-issue.md |
|
|
49
|
-
| `/security-review` | security-review.md |
|
|
50
|
-
| `/prd` | generate-prd.md |
|
|
51
|
-
| `/brainstorm` | ideation.md |
|
|
52
|
-
| `/spec` | spec-driven.md |
|
|
53
|
-
| `/feature` | new-feature.md |
|
|
54
|
-
|
|
55
|
-
## Niveles
|
|
56
|
-
|
|
57
|
-
| Comando | Nivel | Confirmación |
|
|
58
|
-
|---------|-------|--------------|
|
|
59
|
-
| `/l0` | Trivial | No |
|
|
60
|
-
| `/l1` | Small | No |
|
|
61
|
-
| `/l2` | Medium | Sí |
|
|
62
|
-
| `/l3` | Complex | Sí + Artefactos |
|
|
63
|
-
| `/l4` | Enterprise | Múltiples |
|
|
64
|
-
|
|
65
|
-
## Ejemplos de Uso
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
Usuario: /pm Necesito definir requisitos para un sistema de login
|
|
69
|
-
|
|
70
|
-
→ Activa Product Manager, inicia análisis de requisitos
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
Usuario: /yolo /dev Arregla el typo en la línea 42 de app.py
|
|
75
|
-
|
|
76
|
-
→ Activa Backend Engineer en modo sin confirmación
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
Usuario: /issue #123
|
|
81
|
-
|
|
82
|
-
→ Inicia workflow de resolución autónoma de GitHub issue
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
Usuario: /brainstorm Ideas para mejorar el onboarding
|
|
87
|
-
|
|
88
|
-
→ Inicia sesión de ideación
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Configuración de Shortcuts
|
|
92
|
-
|
|
93
|
-
Para configurar en cada IDE:
|
|
94
|
-
|
|
95
|
-
### Antigravity
|
|
96
|
-
Los comandos se reconocen automáticamente al usar `/` al inicio.
|
|
97
|
-
|
|
98
|
-
### Cursor
|
|
99
|
-
Agregar en `.cursorrules`:
|
|
100
|
-
```
|
|
101
|
-
# Shortcuts
|
|
102
|
-
/pm = Activate Product Manager persona
|
|
103
|
-
/dev = Activate Backend Engineer persona
|
|
104
|
-
...
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Claude Code
|
|
108
|
-
Agregar en `CLAUDE.md`:
|
|
109
|
-
```markdown
|
|
110
|
-
## Quick Commands
|
|
111
|
-
- /pm: Product Manager mode
|
|
112
|
-
- /dev: Developer mode
|
|
113
|
-
...
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### VS Code (con extensión)
|
|
117
|
-
Configurar snippets en `settings.json`.
|
|
118
|
-
|
|
119
|
-
## Combinaciones Avanzadas
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
/pm + /arch # PM + Architect para diseño de producto técnico
|
|
123
|
-
/dev + /qa # Dev + QA para TDD
|
|
124
|
-
/ai + /sec # AI Engineer + Security para agentes seguros
|
|
125
|
-
/auto + /dev # Automation + Dev para webhooks con backend
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Notas
|
|
129
|
-
|
|
130
|
-
- Los comandos son **case-insensitive** (`/PM` = `/pm`)
|
|
131
|
-
- Se pueden combinar comandos (`/yolo /dev`)
|
|
132
|
-
- El Orchestrator (`/orch`) decide automáticamente si no especificas
|
|
1
|
+
# 📟 CLI Commands Reference
|
|
2
|
+
> **Tipo**: `doc` | **Versión**: 3.0.0
|
|
3
|
+
|
|
4
|
+
## 🎯 **Core Commands**
|
|
5
|
+
|
|
6
|
+
### `lmagent init`
|
|
7
|
+
- **Descripción**: Inicializa un nuevo proyecto o actualiza la configuración existente.
|
|
8
|
+
- **Acciones**: Copia `AGENTS.md`, `CLAUDE.md`, y configura `.agents/`.
|
|
9
|
+
- **Opciones**:
|
|
10
|
+
- `--force (-f)`: Sobrescribe archivos sin preguntar.
|
|
11
|
+
- `--yes (-y)`: Modo no interactivo (defaults).
|
|
12
|
+
|
|
13
|
+
### `lmagent install`
|
|
14
|
+
- **Descripción**: Instala skills, rules, workflows y memory en el IDE del proyecto.
|
|
15
|
+
- **Alias**: `lmagent update`.
|
|
16
|
+
- **Acciones**: Detecta el IDE (Cursor, VSCode, etc.) y copia los artefactos necesarios.
|
|
17
|
+
- **Opciones**:
|
|
18
|
+
- `--force`: Reescribe configuraciones.
|
|
19
|
+
|
|
20
|
+
### `lmagent doctor`
|
|
21
|
+
- **Descripción**: Verifica la salud del entorno.
|
|
22
|
+
- **Chequeos**:
|
|
23
|
+
- Archivos críticos (`AGENTS.md`).
|
|
24
|
+
- `.gitignore` correctamente configurado.
|
|
25
|
+
- Versiones de dependencias.
|
|
26
|
+
|
|
27
|
+
### `lmagent validate`
|
|
28
|
+
- **Descripción**: Valida la integridad de los Skills (YAML Frontmatter).
|
|
29
|
+
- **Uso**: `lmagent validate [skill-name]`
|
|
30
|
+
|
|
31
|
+
### `lmagent create-skill`
|
|
32
|
+
- **Descripción**: Wizard interactivo para crear un nuevo Skill desde cero.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## ⚡ **Triggers (Chat Interface)**
|
|
37
|
+
Estos no son comandos de terminal, son comandos para el LLM en el chat.
|
|
38
|
+
|
|
39
|
+
| Trigger | Skill |
|
|
40
|
+
|:---|:---|
|
|
41
|
+
| `/orch` | Orchestrator (Triage) |
|
|
42
|
+
| `/pm` | Product Manager |
|
|
43
|
+
| `/dev` | Backend Engineer |
|
|
44
|
+
| `/front` | Frontend Engineer |
|
|
45
|
+
| `/fix` | Debugger |
|
|
46
|
+
| `/arch` | Architect |
|
|
@@ -1,445 +1,37 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 🛠️ Customization Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
LMAgent es 100% personalizable. Aquí te explicamos cómo adaptarlo a tu equipo.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 1. Personalizando Skills (Roles)
|
|
6
|
+
Los Skills viven en `.agents/skills/`. Cada carpeta es un "cerebro" especializado.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
5. [Crear Workflows Custom](#crear-workflows-custom)
|
|
12
|
-
6. [Configurar Modelos LLM](#configurar-modelos-llm)
|
|
13
|
-
7. [Extensiones](#extensiones)
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Configuración Inicial
|
|
18
|
-
|
|
19
|
-
### 1. Clonar y Configurar
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Clonar el repo
|
|
23
|
-
git clone https://github.com/tu-org/lmagent-template.git mi-proyecto
|
|
24
|
-
cd mi-proyecto
|
|
25
|
-
|
|
26
|
-
# Configurar información del proyecto
|
|
27
|
-
# Editar config/settings.yaml
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### 2. Personalizar settings.yaml
|
|
31
|
-
|
|
32
|
-
```yaml
|
|
33
|
-
# config/settings.yaml
|
|
34
|
-
|
|
35
|
-
project:
|
|
36
|
-
name: "Mi Proyecto"
|
|
37
|
-
description: "Descripción de mi proyecto"
|
|
38
|
-
team: "Mi Equipo"
|
|
39
|
-
version: "0.1.0"
|
|
40
|
-
|
|
41
|
-
agent_behavior:
|
|
42
|
-
language: "es" # Idioma preferido
|
|
43
|
-
autonomy:
|
|
44
|
-
mode: "auto" # auto, always_ask, never_ask
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 3. Variables de Entorno
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
# Copiar template
|
|
51
|
-
cp .env.example .env
|
|
52
|
-
|
|
53
|
-
# Configurar tus API keys
|
|
54
|
-
OPENAI_API_KEY=sk-...
|
|
55
|
-
DATABASE_URL=postgresql://...
|
|
56
|
-
REDIS_URL=redis://...
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## Personalizar Niveles
|
|
62
|
-
|
|
63
|
-
### Opción 1: Ajustar Tiempos
|
|
64
|
-
|
|
65
|
-
Si tu equipo es más rápido o lento que el promedio:
|
|
66
|
-
|
|
67
|
-
```yaml
|
|
68
|
-
# config/settings.yaml
|
|
69
|
-
levels:
|
|
70
|
-
time_multiplier: 1.5 # 1.5x más lento que default
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Opción 2: Crear Niveles Custom
|
|
74
|
-
|
|
75
|
-
```yaml
|
|
76
|
-
# config/levels-custom.yaml
|
|
77
|
-
# Luego en settings.yaml:
|
|
78
|
-
levels:
|
|
79
|
-
use_custom: true
|
|
80
|
-
custom_file: "config/levels-custom.yaml"
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Ejemplo de level custom:
|
|
84
|
-
|
|
85
|
-
```yaml
|
|
86
|
-
levels:
|
|
87
|
-
0:
|
|
88
|
-
name: "Micro"
|
|
89
|
-
description: "Cambios de < 1 minuto"
|
|
90
|
-
planning_required: false
|
|
91
|
-
estimated_time: "< 1 min"
|
|
92
|
-
|
|
93
|
-
5:
|
|
94
|
-
name: "Multi-Team"
|
|
95
|
-
description: "Proyectos que involucran múltiples equipos"
|
|
96
|
-
planning_required: true
|
|
97
|
-
planning_depth: "strategic"
|
|
98
|
-
estimated_time: "1+ mes"
|
|
99
|
-
human_review: true
|
|
100
|
-
human_approval_required: true
|
|
101
|
-
artifacts:
|
|
102
|
-
- project_charter.md
|
|
103
|
-
- implementation_plan.md
|
|
104
|
-
- architecture.md
|
|
105
|
-
- test_plan.md
|
|
106
|
-
- security_review.md
|
|
107
|
-
- rollback_plan.md
|
|
108
|
-
- communication_plan.md
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Agregar Reglas de Auto-Clasificación
|
|
112
|
-
|
|
113
|
-
```yaml
|
|
114
|
-
# config/settings.yaml
|
|
115
|
-
levels:
|
|
116
|
-
auto_classification:
|
|
117
|
-
level_bumps:
|
|
118
|
-
# Tus patrones custom
|
|
119
|
-
- pattern: "*payment*"
|
|
120
|
-
min_level: 3
|
|
121
|
-
reason: "Cambios de pagos son críticos"
|
|
122
|
-
|
|
123
|
-
- pattern: "*api/v2/*"
|
|
124
|
-
min_level: 2
|
|
125
|
-
reason: "API v2 requiere más cuidado"
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## Crear Personas Custom
|
|
131
|
-
|
|
132
|
-
### 1. Crear Archivo de Persona
|
|
133
|
-
|
|
134
|
-
```markdown
|
|
135
|
-
# personas/custom/devops-engineer.md
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
name: DevOps Engineer
|
|
139
|
-
role: Infrastructure and CI/CD
|
|
140
|
-
expertise:
|
|
141
|
-
- Docker/Kubernetes
|
|
142
|
-
- CI/CD pipelines
|
|
143
|
-
- Cloud infrastructure
|
|
144
|
-
- Monitoring
|
|
145
|
-
activates_on:
|
|
146
|
-
- Cambios de Dockerfile
|
|
147
|
-
- Configuración de CI/CD
|
|
148
|
-
- Infrastructure as Code
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
# DevOps Engineer Persona
|
|
152
|
-
|
|
153
|
-
Eres un DevOps Engineer especializado en...
|
|
154
|
-
|
|
155
|
-
## Responsabilidades
|
|
156
|
-
1. ...
|
|
157
|
-
|
|
158
|
-
## Stack
|
|
159
|
-
- Docker, Kubernetes
|
|
160
|
-
- GitHub Actions
|
|
161
|
-
- Terraform
|
|
162
|
-
- ...
|
|
163
|
-
|
|
164
|
-
## Patrones
|
|
165
|
-
...
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### 2. Habilitar en Settings
|
|
169
|
-
|
|
170
|
-
```yaml
|
|
171
|
-
# config/settings.yaml
|
|
172
|
-
personas:
|
|
173
|
-
allow_custom: true
|
|
174
|
-
custom_directory: "personas/custom"
|
|
175
|
-
enabled:
|
|
176
|
-
- product-manager
|
|
177
|
-
- architect
|
|
178
|
-
- backend-engineer
|
|
179
|
-
- devops-engineer # Tu persona custom
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## Agregar Herramientas
|
|
185
|
-
|
|
186
|
-
### 1. Definir en tools.yaml
|
|
187
|
-
|
|
188
|
-
```yaml
|
|
189
|
-
# config/tools.yaml
|
|
190
|
-
|
|
191
|
-
tools:
|
|
192
|
-
# Tu herramienta custom
|
|
193
|
-
jira_integration:
|
|
194
|
-
name: "Jira Integration"
|
|
195
|
-
module: "agents.python.tools.jira_tool"
|
|
196
|
-
class: "JiraTool"
|
|
197
|
-
description: "Interact with Jira for issue management"
|
|
198
|
-
category: "project_management"
|
|
199
|
-
parameters:
|
|
200
|
-
- name: action
|
|
201
|
-
type: string
|
|
202
|
-
enum: [get_issue, create_issue, update_status]
|
|
203
|
-
required: true
|
|
204
|
-
- name: issue_key
|
|
205
|
-
type: string
|
|
206
|
-
required: false
|
|
207
|
-
- name: data
|
|
208
|
-
type: object
|
|
209
|
-
required: false
|
|
210
|
-
requires:
|
|
211
|
-
- JIRA_URL
|
|
212
|
-
- JIRA_API_TOKEN
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### 2. Implementar la Herramienta
|
|
216
|
-
|
|
217
|
-
```python
|
|
218
|
-
# agents/python/tools/jira_tool.py
|
|
219
|
-
|
|
220
|
-
from lmagent.tools.base import BaseTool, ToolResult
|
|
221
|
-
from pydantic import Field
|
|
222
|
-
import httpx
|
|
223
|
-
|
|
224
|
-
class JiraTool(BaseTool):
|
|
225
|
-
"""
|
|
226
|
-
Interactúa con Jira para gestión de issues.
|
|
227
|
-
|
|
228
|
-
Usa esta herramienta cuando necesites:
|
|
229
|
-
- Obtener información de un issue
|
|
230
|
-
- Crear nuevos issues
|
|
231
|
-
- Actualizar estados
|
|
232
|
-
"""
|
|
233
|
-
|
|
234
|
-
name: str = "jira_integration"
|
|
235
|
-
description: str = "Interact with Jira for issue management"
|
|
236
|
-
|
|
237
|
-
async def execute(
|
|
238
|
-
self,
|
|
239
|
-
action: str = Field(..., description="Action: get_issue, create_issue, update_status"),
|
|
240
|
-
issue_key: str = Field(None, description="Issue key for get/update"),
|
|
241
|
-
data: dict = Field(None, description="Data for create/update")
|
|
242
|
-
) -> ToolResult:
|
|
243
|
-
"""Execute Jira operation."""
|
|
244
|
-
# Implementación...
|
|
245
|
-
pass
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### 3. Habilitar en Settings
|
|
249
|
-
|
|
250
|
-
```yaml
|
|
251
|
-
# config/settings.yaml
|
|
252
|
-
tools:
|
|
253
|
-
default_enabled:
|
|
254
|
-
- http_request
|
|
255
|
-
- database_query
|
|
256
|
-
- jira_integration # Tu tool
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## Crear Workflows Custom
|
|
262
|
-
|
|
263
|
-
### 1. Crear Archivo de Workflow
|
|
264
|
-
|
|
265
|
-
```markdown
|
|
266
|
-
# workflows/custom/deploy-to-production.md
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
description: Workflow para deploy a producción
|
|
270
|
-
level: 3
|
|
271
|
-
personas: [devops-engineer, backend-engineer]
|
|
272
|
-
---
|
|
273
|
-
|
|
274
|
-
# Deploy to Production Workflow
|
|
275
|
-
|
|
276
|
-
## Pre-requisitos
|
|
277
|
-
1. Código mergeado a main
|
|
278
|
-
2. Tests pasando
|
|
279
|
-
3. Aprobación de QA
|
|
280
|
-
|
|
281
|
-
## Paso 1: Pre-deploy Checks
|
|
282
|
-
...
|
|
283
|
-
|
|
284
|
-
## Paso 2: Deploy
|
|
285
|
-
...
|
|
286
|
-
|
|
287
|
-
## Paso 3: Verification
|
|
288
|
-
...
|
|
289
|
-
|
|
290
|
-
## Rollback
|
|
291
|
-
...
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### 2. Habilitar en Settings
|
|
295
|
-
|
|
296
|
-
```yaml
|
|
297
|
-
# config/settings.yaml
|
|
298
|
-
workflows:
|
|
299
|
-
allow_custom: true
|
|
300
|
-
custom_directory: "workflows/custom"
|
|
301
|
-
enabled:
|
|
302
|
-
- new-automation
|
|
303
|
-
- deploy-to-production # Tu workflow
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
## Configurar Modelos LLM
|
|
309
|
-
|
|
310
|
-
### Agregar Proveedor Custom
|
|
311
|
-
|
|
312
|
-
```yaml
|
|
313
|
-
# config/models.yaml
|
|
314
|
-
|
|
315
|
-
providers:
|
|
316
|
-
# Tu proveedor custom
|
|
317
|
-
azure_openai:
|
|
318
|
-
name: "Azure OpenAI"
|
|
319
|
-
api_base: "https://your-resource.openai.azure.com/"
|
|
320
|
-
env_key: "AZURE_OPENAI_API_KEY"
|
|
321
|
-
models:
|
|
322
|
-
gpt-4:
|
|
323
|
-
name: "GPT-4 (Azure)"
|
|
324
|
-
context_window: 128000
|
|
325
|
-
max_output: 4096
|
|
326
|
-
cost_per_1k_input: 0.03
|
|
327
|
-
cost_per_1k_output: 0.06
|
|
328
|
-
supports_tools: true
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### Configurar por Tipo de Tarea
|
|
8
|
+
### Estructura de un Skill
|
|
9
|
+
- `SKILL.md`: (**Obligatorio**) El prompt maestro. Define la personalidad y capacidades.
|
|
10
|
+
- `scripts/`: Scripts ejecutables (Python/Node) que el skill puede usar.
|
|
11
|
+
- `references/`: Documentación estática que el skill lee para aprender.
|
|
332
12
|
|
|
13
|
+
### Cómo crear un Skill nuevo
|
|
14
|
+
Basta con crear un archivo `SKILL.md`:
|
|
333
15
|
```yaml
|
|
334
|
-
# config/models.yaml
|
|
335
|
-
|
|
336
|
-
task_models:
|
|
337
|
-
# Tu configuración custom
|
|
338
|
-
financial_analysis:
|
|
339
|
-
primary: "openai/o1"
|
|
340
|
-
fallback: "anthropic/claude-sonnet-4"
|
|
341
|
-
reason: "O1 para análisis financiero complejo"
|
|
342
|
-
```
|
|
343
|
-
|
|
344
16
|
---
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
### Estructura de Extensión
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
extensions/
|
|
352
|
-
└── my-extension/
|
|
353
|
-
├── extension.yaml # Metadata
|
|
354
|
-
├── __init__.py
|
|
355
|
-
├── tools/ # Tools adicionales
|
|
356
|
-
├── workflows/ # Workflows adicionales
|
|
357
|
-
└── personas/ # Personas adicionales
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
### extension.yaml
|
|
361
|
-
|
|
362
|
-
```yaml
|
|
363
|
-
name: "my-extension"
|
|
364
|
-
version: "1.0.0"
|
|
365
|
-
description: "Mi extensión custom"
|
|
366
|
-
author: "Tu Nombre"
|
|
367
|
-
|
|
368
|
-
# Qué agrega
|
|
369
|
-
provides:
|
|
370
|
-
tools:
|
|
371
|
-
- my_custom_tool
|
|
372
|
-
workflows:
|
|
373
|
-
- my_custom_workflow
|
|
374
|
-
personas:
|
|
375
|
-
- my_custom_persona
|
|
376
|
-
|
|
377
|
-
# Configuración
|
|
378
|
-
settings:
|
|
379
|
-
api_url: ""
|
|
380
|
-
api_key_env: "MY_API_KEY"
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
### Habilitar Extensión
|
|
384
|
-
|
|
385
|
-
```yaml
|
|
386
|
-
# config/settings.yaml
|
|
387
|
-
extensions:
|
|
388
|
-
enabled: true
|
|
389
|
-
installed:
|
|
390
|
-
- my-extension
|
|
391
|
-
```
|
|
392
|
-
|
|
17
|
+
name: Cloud Architect
|
|
18
|
+
description: Experto en AWS y Terraform
|
|
19
|
+
triggers: [/cloud, /aws]
|
|
393
20
|
---
|
|
394
21
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
### 1. Empezar Simple
|
|
398
|
-
|
|
399
|
-
- Primero usa el framework como está
|
|
400
|
-
- Identifica qué necesitas cambiar
|
|
401
|
-
- Personaliza incrementalmente
|
|
402
|
-
|
|
403
|
-
### 2. Documentar Cambios
|
|
404
|
-
|
|
405
|
-
- Documenta por qué personalizaste algo
|
|
406
|
-
- Facilita onboarding de nuevos miembros
|
|
407
|
-
|
|
408
|
-
### 3. Mantener Compatibilidad
|
|
409
|
-
|
|
410
|
-
- No modifiques archivos core directamente
|
|
411
|
-
- Usa archivos custom y overrides
|
|
412
|
-
- Facilita actualizar a nuevas versiones
|
|
413
|
-
|
|
414
|
-
### 4. Compartir con el Equipo
|
|
415
|
-
|
|
416
|
-
```bash
|
|
417
|
-
# Commitear solo lo necesario
|
|
418
|
-
git add config/settings.yaml
|
|
419
|
-
git add personas/custom/
|
|
420
|
-
git add workflows/custom/
|
|
421
|
-
git add config/tools-custom.yaml
|
|
422
|
-
git commit -m "chore: add team customizations"
|
|
22
|
+
# Cloud Architect Persona
|
|
23
|
+
Eres un experto en infraestructura...
|
|
423
24
|
```
|
|
424
25
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
## Troubleshooting
|
|
428
|
-
|
|
429
|
-
### Persona Custom No Funciona
|
|
430
|
-
|
|
431
|
-
1. Verificar que está en `personas/custom/` o directorio correcto
|
|
432
|
-
2. Verificar YAML frontmatter
|
|
433
|
-
3. Verificar que está habilitada en settings.yaml
|
|
434
|
-
|
|
435
|
-
### Tool Custom No Se Registra
|
|
26
|
+
## 2. Personalizando Reglas (Governance)
|
|
27
|
+
Las reglas en `.agents/rules/` son leídas por **todos** los skills.
|
|
436
28
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
3. Verificar las dependencias necesarias
|
|
29
|
+
- **00-master.md**: El índice maestro. Si agregas una regla, enlázala aquí.
|
|
30
|
+
- **Tech Stack**: Edita `02-tech-stack.md` para definir qué librerías permites.
|
|
440
31
|
|
|
441
|
-
|
|
32
|
+
## 3. Personalizando Workflows (SOPs)
|
|
33
|
+
Los workflows en `.agents/workflows/` son "recetas" paso a paso.
|
|
34
|
+
El Orchestrator los usa para guiar procesos complejos.
|
|
442
35
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
3. Verificar path del archivo
|
|
36
|
+
## 4. Extendiendo el CLI
|
|
37
|
+
Si quieres lógica imperativa (comandos), puedes modificar `install.js` o agregar scripts en `.agents/scripts/` y llamarlos con `npx lmagent run tu-script`.
|