@qubiit/lmagent 2.5.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/.editorconfig +18 -0
- package/AGENTS.md +169 -0
- package/CLAUDE.md +122 -0
- package/CONTRIBUTING.md +90 -0
- package/LICENSE +21 -0
- package/README.md +195 -0
- package/config/commands.yaml +194 -0
- package/config/levels.yaml +135 -0
- package/config/models.yaml +192 -0
- package/config/settings.yaml +405 -0
- package/config/tools-extended.yaml +534 -0
- package/config/tools.yaml +437 -0
- package/docs/assets/logo.png +0 -0
- package/docs/commands.md +132 -0
- package/docs/customization-guide.md +445 -0
- package/docs/getting-started.md +154 -0
- package/docs/how-to-start.md +242 -0
- package/docs/navigation-index.md +227 -0
- package/docs/usage-guide.md +113 -0
- package/install.js +1044 -0
- package/package.json +35 -0
- package/pyproject.toml +182 -0
- package/rules/_bootstrap.md +138 -0
- package/rules/agents-ia.md +607 -0
- package/rules/api-design.md +337 -0
- package/rules/automations-n8n.md +646 -0
- package/rules/code-style.md +570 -0
- package/rules/documentation.md +98 -0
- package/rules/security.md +316 -0
- package/rules/stack.md +395 -0
- package/rules/testing.md +326 -0
- package/rules/workflow.md +353 -0
- package/scripts/create_skill.js +300 -0
- package/scripts/validate_skills.js +283 -0
- package/skills/ai-agent-engineer/SKILL.md +394 -0
- package/skills/ai-agent-engineer/references/agent-patterns.md +149 -0
- package/skills/api-designer/SKILL.md +429 -0
- package/skills/api-designer/references/api-standards.md +13 -0
- package/skills/architect/SKILL.md +285 -0
- package/skills/architect/references/c4-model.md +133 -0
- package/skills/automation-engineer/SKILL.md +352 -0
- package/skills/automation-engineer/references/n8n-patterns.md +127 -0
- package/skills/backend-engineer/SKILL.md +261 -0
- package/skills/backend-engineer/assets/fastapi-project-structure.yaml +74 -0
- package/skills/backend-engineer/references/debugging-guide.md +174 -0
- package/skills/backend-engineer/references/design-patterns.md +208 -0
- package/skills/backend-engineer/scripts/scaffold_backend.py +313 -0
- package/skills/bmad-methodology/SKILL.md +202 -0
- package/skills/bmad-methodology/references/scale-adaptive-levels.md +141 -0
- package/skills/browser-agent/SKILL.md +502 -0
- package/skills/browser-agent/scripts/playwright_setup.ts +16 -0
- package/skills/code-reviewer/SKILL.md +306 -0
- package/skills/code-reviewer/references/code-review-checklist.md +16 -0
- package/skills/data-engineer/SKILL.md +474 -0
- package/skills/data-engineer/assets/pg-monitoring-queries.sql +154 -0
- package/skills/data-engineer/references/index-strategy.md +128 -0
- package/skills/data-engineer/scripts/backup_postgres.py +221 -0
- package/skills/devops-engineer/SKILL.md +547 -0
- package/skills/devops-engineer/references/ci-cd-patterns.md +265 -0
- package/skills/devops-engineer/scripts/docker_healthcheck.py +125 -0
- package/skills/document-generator/SKILL.md +746 -0
- package/skills/document-generator/references/pdf-generation.md +22 -0
- package/skills/frontend-engineer/SKILL.md +532 -0
- package/skills/frontend-engineer/references/accessibility-guide.md +146 -0
- package/skills/frontend-engineer/scripts/audit_bundle.py +144 -0
- package/skills/git-workflow/SKILL.md +374 -0
- package/skills/git-workflow/references/git-flow.md +25 -0
- package/skills/mcp-builder/SKILL.md +471 -0
- package/skills/mcp-builder/references/mcp-server-guide.md +23 -0
- package/skills/mobile-engineer/SKILL.md +502 -0
- package/skills/mobile-engineer/references/platform-guidelines.md +160 -0
- package/skills/orchestrator/SKILL.md +246 -0
- package/skills/orchestrator/references/methodology-routing.md +117 -0
- package/skills/orchestrator/references/persona-mapping.md +85 -0
- package/skills/orchestrator/references/routing-logic.md +110 -0
- package/skills/performance-engineer/SKILL.md +549 -0
- package/skills/performance-engineer/references/caching-patterns.md +181 -0
- package/skills/performance-engineer/scripts/profile_endpoint.py +170 -0
- package/skills/product-manager/SKILL.md +488 -0
- package/skills/product-manager/references/prioritization-frameworks.md +126 -0
- package/skills/prompt-engineer/SKILL.md +433 -0
- package/skills/prompt-engineer/references/prompt-patterns.md +158 -0
- package/skills/qa-engineer/SKILL.md +441 -0
- package/skills/qa-engineer/references/testing-strategy.md +166 -0
- package/skills/qa-engineer/scripts/run_coverage.py +147 -0
- package/skills/scrum-master/SKILL.md +225 -0
- package/skills/scrum-master/references/sprint-ceremonies.md +159 -0
- package/skills/security-analyst/SKILL.md +390 -0
- package/skills/security-analyst/references/owasp-top10.md +188 -0
- package/skills/security-analyst/scripts/audit_security.py +242 -0
- package/skills/seo-auditor/SKILL.md +523 -0
- package/skills/seo-auditor/references/seo-checklist.md +17 -0
- package/skills/spec-driven-dev/SKILL.md +342 -0
- package/skills/spec-driven-dev/references/phase-gates.md +107 -0
- package/skills/supabase-expert/SKILL.md +602 -0
- package/skills/supabase-expert/references/supabase-patterns.md +19 -0
- package/skills/swe-agent/SKILL.md +311 -0
- package/skills/swe-agent/references/trajectory-format.md +134 -0
- package/skills/systematic-debugger/SKILL.md +512 -0
- package/skills/systematic-debugger/references/debugging-guide.md +12 -0
- package/skills/tech-lead/SKILL.md +409 -0
- package/skills/tech-lead/references/code-review-checklist.md +111 -0
- package/skills/technical-writer/SKILL.md +631 -0
- package/skills/technical-writer/references/doc-templates.md +218 -0
- package/skills/testing-strategist/SKILL.md +476 -0
- package/skills/testing-strategist/references/testing-pyramid.md +16 -0
- package/skills/ux-ui-designer/SKILL.md +419 -0
- package/skills/ux-ui-designer/references/design-system-foundation.md +168 -0
- package/skills_overview.txt +94 -0
- package/templates/PROJECT_KICKOFF.md +284 -0
- package/templates/SKILL_TEMPLATE.md +131 -0
- package/templates/USAGE.md +95 -0
- package/templates/agent-python/README.md +71 -0
- package/templates/agent-python/agent.py +272 -0
- package/templates/agent-python/config.yaml +76 -0
- package/templates/agent-python/prompts/system.md +109 -0
- package/templates/agent-python/requirements.txt +7 -0
- package/templates/automation-n8n/README.md +14 -0
- package/templates/automation-n8n/webhook-handler.json +57 -0
- package/templates/backend-node/Dockerfile +12 -0
- package/templates/backend-node/README.md +15 -0
- package/templates/backend-node/package.json +30 -0
- package/templates/backend-node/src/index.ts +19 -0
- package/templates/backend-node/src/routes.ts +7 -0
- package/templates/backend-node/tsconfig.json +22 -0
- package/templates/backend-python/Dockerfile +11 -0
- package/templates/backend-python/README.md +78 -0
- package/templates/backend-python/app/core/config.py +12 -0
- package/templates/backend-python/app/core/database.py +12 -0
- package/templates/backend-python/app/main.py +17 -0
- package/templates/backend-python/app/routers/__init__.py +1 -0
- package/templates/backend-python/app/routers/health.py +7 -0
- package/templates/backend-python/requirements-dev.txt +6 -0
- package/templates/backend-python/requirements.txt +4 -0
- package/templates/backend-python/tests/test_health.py +9 -0
- package/templates/checkpoint.yaml +117 -0
- package/templates/database/README.md +474 -0
- package/templates/frontend-react/README.md +446 -0
- package/templates/plan.yaml +320 -0
- package/templates/session.yaml +125 -0
- package/templates/spec.yaml +229 -0
- package/templates/tasks.yaml +330 -0
- package/workflows/bugfix-backend.md +380 -0
- package/workflows/documentation.md +232 -0
- package/workflows/generate-prd.md +320 -0
- package/workflows/ideation.md +396 -0
- package/workflows/new-agent-ia.md +497 -0
- package/workflows/new-automation.md +374 -0
- package/workflows/new-feature.md +290 -0
- package/workflows/optimize-performance.md +373 -0
- package/workflows/resolve-github-issue.md +524 -0
- package/workflows/security-review.md +291 -0
- package/workflows/spec-driven.md +476 -0
- package/workflows/testing-strategy.md +296 -0
- package/workflows/third-party-integration.md +277 -0
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
# LMAgent Customization Guide
|
|
2
|
+
|
|
3
|
+
Esta guía explica cómo personalizar el framework LMAgent para las necesidades de tu equipo.
|
|
4
|
+
|
|
5
|
+
## Tabla de Contenidos
|
|
6
|
+
|
|
7
|
+
1. [Configuración Inicial](#configuración-inicial)
|
|
8
|
+
2. [Personalizar Niveles](#personalizar-niveles)
|
|
9
|
+
3. [Crear Personas Custom](#crear-personas-custom)
|
|
10
|
+
4. [Agregar Herramientas](#agregar-herramientas)
|
|
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
|
|
332
|
+
|
|
333
|
+
```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
|
+
---
|
|
345
|
+
|
|
346
|
+
## Extensiones
|
|
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
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Tips de Personalización
|
|
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"
|
|
423
|
+
```
|
|
424
|
+
|
|
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
|
|
436
|
+
|
|
437
|
+
1. Verificar path del módulo en tools.yaml
|
|
438
|
+
2. Verificar que la clase existe e importa
|
|
439
|
+
3. Verificar las dependencias necesarias
|
|
440
|
+
|
|
441
|
+
### Workflow No Aparece
|
|
442
|
+
|
|
443
|
+
1. Verificar que está habilitado en settings.yaml
|
|
444
|
+
2. Verificar YAML frontmatter
|
|
445
|
+
3. Verificar path del archivo
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Guía de Inicio Rápido (Getting Started)
|
|
2
|
+
|
|
3
|
+
Bienvenido a **LMAgent**, tu framework para desarrollo asistido por IA. Esta guía te llevará desde cero hasta estar productivo con tus agentes.
|
|
4
|
+
|
|
5
|
+
## 1. Instalación
|
|
6
|
+
|
|
7
|
+
### Requisitos previos
|
|
8
|
+
- Python 3.12+
|
|
9
|
+
- Git
|
|
10
|
+
- Un IDE agéntico (Antigravity, Cursor, Windsurf, VS Code + Claude/Copilot)
|
|
11
|
+
- API Keys para tus LLMs (OpenAI, Anthropic, Google)
|
|
12
|
+
|
|
13
|
+
### Instalación del CLI
|
|
14
|
+
Para tener el comando `lmagent` disponible en tu terminal:
|
|
15
|
+
|
|
16
|
+
1. Clona el repositorio oficial:
|
|
17
|
+
```bash
|
|
18
|
+
git clone https://github.com/QuBiit0/lmagent.git
|
|
19
|
+
cd lmagent
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
2. Instala el paquete en modo editable:
|
|
23
|
+
```bash
|
|
24
|
+
pip install -e .
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. Verifica que funcione:
|
|
28
|
+
```bash
|
|
29
|
+
lmagent --version
|
|
30
|
+
# Debería mostrar: LMAgent v2.0.0
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Opción A: Proyecto Nuevo (Desde Cero)
|
|
34
|
+
```bash
|
|
35
|
+
# 1. Crea el directorio
|
|
36
|
+
mkdir mi-nuevo-proyecto
|
|
37
|
+
cd mi-nuevo-proyecto
|
|
38
|
+
|
|
39
|
+
# 2. Inicializa el framework
|
|
40
|
+
lmagent init
|
|
41
|
+
```
|
|
42
|
+
Esto creará la estructura base y estarás listo para empezar.
|
|
43
|
+
|
|
44
|
+
### Opción B: Proyecto Existente (Legacy/Brownfield)
|
|
45
|
+
LMAgent es **no-intrusivo**. No tocará tu código fuente, solo agregará una capa de inteligencia.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# 1. Ve a la raíz de tu proyecto
|
|
49
|
+
cd mi-proyecto-existente
|
|
50
|
+
|
|
51
|
+
# 2. Inicializa el framework
|
|
52
|
+
lmagent init
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**¿Qué pasará?**
|
|
56
|
+
- Se creará la carpeta `.agent/` (el cerebro del agente).
|
|
57
|
+
- Se añadirán archivos de configuración para tu IDE (`CLAUDE.md`, `.cursorrules`).
|
|
58
|
+
- **Tu código fuente (`src/`, `app/`, etc.) permanecerá intacto.**
|
|
59
|
+
|
|
60
|
+
**Recomendación**: Después de inicializar, pídele al agente:
|
|
61
|
+
> "Analiza la estructura de este proyecto y crea un `rules/project.md` con las convenciones que veas."
|
|
62
|
+
|
|
63
|
+
## 2. Configuración Básica
|
|
64
|
+
|
|
65
|
+
1. **Variables de Entorno**:
|
|
66
|
+
Copia el ejemplo y edita tus claves:
|
|
67
|
+
```bash
|
|
68
|
+
cp .env.example .env
|
|
69
|
+
# Edita .env con tus API KEYS
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
2. **Verifica la instalación**:
|
|
73
|
+
```bash
|
|
74
|
+
lmagent doctor
|
|
75
|
+
```
|
|
76
|
+
Deberías ver "✨ All checks passed!".
|
|
77
|
+
|
|
78
|
+
## 3. Tu Primera Tarea con el Agente
|
|
79
|
+
|
|
80
|
+
LMAgent está diseñado para trabajar **contigo** en el chat de tu IDE.
|
|
81
|
+
|
|
82
|
+
### Paso 1: Entender el Contexto
|
|
83
|
+
Abre el chat y dile al agente:
|
|
84
|
+
> "Hola, soy nuevo en este proyecto. ¿Puedes explicarme la estructura y qué personas tienes disponibles?"
|
|
85
|
+
|
|
86
|
+
### Paso 2: Activar una Persona
|
|
87
|
+
Si vas a trabajar en backend, activa al experto:
|
|
88
|
+
> "Actúa como @Backend Engineer /dev"
|
|
89
|
+
|
|
90
|
+
El agente adoptará el rol, conocimientos y reglas de esa persona.
|
|
91
|
+
|
|
92
|
+
### Paso 3: Ejecutar un Workflow
|
|
93
|
+
Vamos a crear una automatización simple. Dile al agente:
|
|
94
|
+
> "Quiero crear una nueva automatización de n8n. Usa el workflow /new-automation"
|
|
95
|
+
|
|
96
|
+
El agente:
|
|
97
|
+
1. Leerá `workflows/new-automation.md`
|
|
98
|
+
2. Te guiará paso a paso
|
|
99
|
+
3. Creará los archivos necesarios
|
|
100
|
+
|
|
101
|
+
## 4. Tu Primer Día: Guía Paso a Paso
|
|
102
|
+
|
|
103
|
+
Si arrancas de cero, **no escribas código todavía**. Sigue este "script" de conversación con el agente:
|
|
104
|
+
|
|
105
|
+
### Paso 0: El "Super Prompt" (Opcional pero Recomendado) 🚀
|
|
106
|
+
Si ya tienes la idea clara, no pierdas tiempo chateando.
|
|
107
|
+
|
|
108
|
+
1. Copia la plantilla de **`templates/project_brief.md`**.
|
|
109
|
+
2. Llénala con tus datos.
|
|
110
|
+
3. Pégala en el chat:
|
|
111
|
+
> "Hola **/orch**. Aquí está el brief de mi proyecto. Inicia el trabajo."
|
|
112
|
+
|
|
113
|
+
El Orchestrator leerá todo y asignará tareas al PM y Arquitecto automáticamente.
|
|
114
|
+
|
|
115
|
+
### Paso 1: Definir el "QUÉ" (con el Product Manager)
|
|
116
|
+
Activa al PM y cuéntale tu idea abstracta.
|
|
117
|
+
> "Hola **/pm**. Quiero crear una aplicación para gestionar gastos personales que sea muy simple. Ayúdame a definir los requerimientos y un MVP."
|
|
118
|
+
|
|
119
|
+
El agente te hará preguntas. Respóndelas hasta que genere un **PRD** (Product Requirements Document).
|
|
120
|
+
|
|
121
|
+
### Paso 2: Definir el "CÓMO" (con el Architect)
|
|
122
|
+
Una vez tengas el PRD (o una idea clara), llama al Arquitecto.
|
|
123
|
+
> "Hola **/arch**. Basado en lo que definimos con el PM, define el stack tecnológico ideal y crea la estructura de carpetas inicial. Crea también un archivo `rules/project.md` con las convenciones."
|
|
124
|
+
|
|
125
|
+
### Paso 3: Empezar a Construir (con el Developer)
|
|
126
|
+
Con el plan y las reglas listas, empieza a codear.
|
|
127
|
+
> "Hola **/dev**. Vamos a implementar la estructura base que definió el arquitecto. Empieza por inicializar el proyecto (package.json o pyproject.toml)."
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 5. Conceptos Clave
|
|
132
|
+
|
|
133
|
+
### 🎭 Personas
|
|
134
|
+
Son roles especializados que el agente adopta. Cada uno tiene sus propias instrucciones y "superpoderes".
|
|
135
|
+
- **/pm** - Product Manager (Define QUÉ hacer)
|
|
136
|
+
- **/arch** - Architect (Define CÓMO hacerlo)
|
|
137
|
+
- **/dev** - Backend Dev (Escribe el código)
|
|
138
|
+
- **/qa** - QA Engineer (Escribe los tests)
|
|
139
|
+
- **/prompt** - Prompt Engineer (Diseña la lógica cognitiva)
|
|
140
|
+
|
|
141
|
+
### 📏 Niveles (Levels)
|
|
142
|
+
Determinan cuánto "pensar" antes de "hacer".
|
|
143
|
+
- **Level 0**: Trivial. Hazlo ya.
|
|
144
|
+
- **Level 2**: Medium. Crea un plan (`implementation_plan.md`) y espera mi OK.
|
|
145
|
+
- **Level 4**: Enterprise. Plan muy detallado, revisión de seguridad, aprobación humana obligatoria.
|
|
146
|
+
|
|
147
|
+
### 📜 Reglas Proactivas
|
|
148
|
+
El agente lee tus reglas en `.agent/rules/`. Si rompes una regla (ej. "No usar prints"), el agente te corregirá o lo arreglará automáticamente.
|
|
149
|
+
|
|
150
|
+
## 5. Siguientes Pasos
|
|
151
|
+
|
|
152
|
+
- Lee la [Guía de Uso Completa](usage-guide.md) para dominar el framework.
|
|
153
|
+
- Explora las [Personas](../personas/) disponibles.
|
|
154
|
+
- Revisa los [Workflows](../workflows/) para automatizar tus tareas repetitivas.
|