@qubiit/lmagent 2.6.2 → 2.6.5
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.md +60 -3
- package/CLAUDE.md +38 -3
- package/README.md +5 -2
- package/install.js +144 -42
- package/package.json +1 -1
- package/rules/_bootstrap.md +2 -2
- package/scripts/create_skill.js +1 -1
- package/scripts/validate_skills.js +3 -2
- package/skills_overview.txt +0 -94
package/AGENTS.md
CHANGED
|
@@ -1,12 +1,53 @@
|
|
|
1
1
|
# 🤖 LMAgent Intelligence Catalog
|
|
2
2
|
|
|
3
|
-
> Catálogo completo de capacidades del ecosistema **LMAgent v2.6.
|
|
3
|
+
> Catálogo completo de capacidades del ecosistema **LMAgent v2.6.5**.
|
|
4
4
|
> Última actualización: 2026-02-11
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
## 🏗️ 1. Skills (Capacidades Ejecutables)
|
|
9
|
-
*Ubicación:
|
|
9
|
+
*Ubicación: Tu directorio de configuración de agente. Consulta la siguiente tabla para encontrar tu ruta:*
|
|
10
|
+
|
|
11
|
+
| IDE / Agente | Ruta de Configuración |
|
|
12
|
+
| :--- | :--- |
|
|
13
|
+
| **Cursor** | `.cursor/` |
|
|
14
|
+
| **Windsurf** | `.windsurf/` |
|
|
15
|
+
| **VSCode / Copilot** | `.github/` |
|
|
16
|
+
| **Zed** | `.rules/` |
|
|
17
|
+
| **Antigravity** | `.agent/` |
|
|
18
|
+
| **Claude Code** | `.claude/` |
|
|
19
|
+
| **Cline / Roo Code** | `.clinerules/` / `.roo/` |
|
|
20
|
+
| **Continue** | `.continue/` |
|
|
21
|
+
| **Trae** | `.trae/` |
|
|
22
|
+
| **Qodo** | `agents/` |
|
|
23
|
+
| **Amp / Kimi / Replit** | `.agents/` |
|
|
24
|
+
| **Augment** | `.augment/` |
|
|
25
|
+
| **Codex** | `.codex/` |
|
|
26
|
+
| **Gemini CLI** | `.gemini/` |
|
|
27
|
+
| **OpenCode** | `.opencode/` |
|
|
28
|
+
| **OpenHands** | `.openhands/` |
|
|
29
|
+
| **Goose** | `.goose/` |
|
|
30
|
+
| **Mistral Vibe** | `.vibe/` |
|
|
31
|
+
| **Envoid (OpenClaw)** | `openclaw.json` |
|
|
32
|
+
| **CodeBuddy** | `.codebuddy/` |
|
|
33
|
+
| **Command Code** | `.commandcode/` |
|
|
34
|
+
| **Crush** | `.crush/` |
|
|
35
|
+
| **Droid** | `.factory/` |
|
|
36
|
+
| **Junie** | `.junie/` |
|
|
37
|
+
| **iFlow** | `.iflow/` |
|
|
38
|
+
| **Kilo Code** | `.kilocode/` |
|
|
39
|
+
| **Kiro** | `.kiro/` |
|
|
40
|
+
| **Kode** | `.kode/` |
|
|
41
|
+
| **MCPJam** | `.mcpjam/` |
|
|
42
|
+
| **Mux** | `.mux/` |
|
|
43
|
+
| **Pi** | `.pi/` |
|
|
44
|
+
| **Qoder** | `.qoder/` |
|
|
45
|
+
| **Qwen Code** | `.qwen/` |
|
|
46
|
+
| **Trae CN** | `.trae-cn/` |
|
|
47
|
+
| **Zencoder** | `.zencoder/` |
|
|
48
|
+
| **Neovate** | `.neovate/` |
|
|
49
|
+
| **Pochi** | `.pochi/` |
|
|
50
|
+
| **AdaL** | `.adal/` |
|
|
10
51
|
|
|
11
52
|
Skills son unidades especializadas que definen el comportamiento del agente para dominios específicos. Cada skill contiene:
|
|
12
53
|
|
|
@@ -64,7 +105,19 @@ skills/{skill-name}/
|
|
|
64
105
|
| **scrum-master** | `/sm`, `/agile`, `/coach` | Ceremonias Scrum, sprints, retrospectivas | `references/sprint-ceremonies.md` |
|
|
65
106
|
| **technical-writer** | `/doc`, `/readme`, `/guide` | Documentación, API refs, guías de usuario | `references/doc-templates.md` |
|
|
66
107
|
| **ux-ui-designer** | `/ux`, `/ui`, `/design` | Design systems, UX research, accesibilidad | `references/design-system-foundation.md` |
|
|
67
|
-
|
|
108
|
+
|
|
109
|
+
## 📚 2. Knowledge Base (Documentación)
|
|
110
|
+
*Ubicación: `docs/` en la raíz del proyecto.*
|
|
111
|
+
|
|
112
|
+
El agente debe consultar estos archivos si el usuario tiene dudas sobre el framework:
|
|
113
|
+
|
|
114
|
+
| Archivo | Propósito |
|
|
115
|
+
| :--- | :--- |
|
|
116
|
+
| `docs/getting-started.md` | Configuración inicial y primeros pasos |
|
|
117
|
+
| `docs/usage-guide.md` | Cómo interactuar con el agente y comandos |
|
|
118
|
+
| `docs/customization-guide.md` | Cómo crear nuevos skills o reglas |
|
|
119
|
+
| `docs/commands.md` | Referencia de comandos CLI (`lmagent ...`) |
|
|
120
|
+
| `docs/navigation-index.md` | Mapa completo de archivos y sus relaciones |
|
|
68
121
|
|
|
69
122
|
### 📐 Methodologies
|
|
70
123
|
|
|
@@ -100,6 +153,8 @@ Rules definen **CÓMO** debe comportarse el agente. Son restricciones y estánda
|
|
|
100
153
|
|
|
101
154
|
Workflows son **SOPs (Standard Operating Procedures)** que guían al agente en procesos complejos multi-paso.
|
|
102
155
|
|
|
156
|
+
> **Instrucción para Agente**: Antes de iniciar una tarea compleja, **verifica si existe un workflow** aquí. Si existe, **LÉELO** y síguelo paso a paso.
|
|
157
|
+
|
|
103
158
|
| Workflow | Propósito |
|
|
104
159
|
|----------|----------|
|
|
105
160
|
| **bugfix-backend.md** | Protocolo para diagnosticar, corregir y verificar bugs de backend |
|
|
@@ -137,6 +192,8 @@ Workflows son **SOPs (Standard Operating Procedures)** que guían al agente en p
|
|
|
137
192
|
|
|
138
193
|
👉 **[Ver Guía de Uso de Templates](templates/USAGE.md)**
|
|
139
194
|
|
|
195
|
+
> **Instrucción para Agente**: Cuando debas crear nuevos archivos o proyectos, **usa estos templates como referencia** para mantener la consistencia, no inventes estructuras desde cero.
|
|
196
|
+
|
|
140
197
|
| Template | Descripción |
|
|
141
198
|
|----------|-------------|
|
|
142
199
|
| **backend-python/** | FastAPI backend con SQLModel |
|
package/CLAUDE.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# LMAgent Framework v2.6.
|
|
1
|
+
# LMAgent Framework v2.6.5 - Claude Code Instructions
|
|
2
2
|
|
|
3
3
|
> [!IMPORTANT]
|
|
4
|
-
> **ANTES DE HACER CUALQUIER COSA**: Este proyecto usa el framework **LMAgent v2.6.
|
|
4
|
+
> **ANTES DE HACER CUALQUIER COSA**: Este proyecto usa el framework **LMAgent v2.6.5**.
|
|
5
5
|
> **DEBES** leer `AGENTS.md` y `rules/_bootstrap.md` antes de implementar cualquier cambio.
|
|
6
6
|
|
|
7
7
|
## Framework
|
|
8
8
|
|
|
9
|
-
Estás trabajando con **LMAgent v2.6.
|
|
9
|
+
Estás trabajando con **LMAgent v2.6.4**, un framework para desarrollo de automatizaciones y agentes de IA. Organiza las capacidades del agente en tres pilares: **Skills**, **Rules** y **Workflows**.
|
|
10
10
|
|
|
11
11
|
## ⚡ Inicio Rápido
|
|
12
12
|
|
|
@@ -14,6 +14,41 @@ Estás trabajando con **LMAgent v2.6.2**, un framework para desarrollo de automa
|
|
|
14
14
|
2. Lee `AGENTS.md` — Catálogo completo de skills, rules y workflows
|
|
15
15
|
3. Lee las rules aplicables en `rules/`
|
|
16
16
|
|
|
17
|
+
## 🧠 CRITICAL: Agent Capabilities & Skill Loading
|
|
18
|
+
|
|
19
|
+
**You have access to a rich set of capabilities (Skills) installed in this project.**
|
|
20
|
+
However, they may be in hidden directories depending on your environment.
|
|
21
|
+
|
|
22
|
+
### 1. 🔍 Locate Skills
|
|
23
|
+
Check these paths (in order) to find installed skills:
|
|
24
|
+
|
|
25
|
+
1. `.agent/skills/` (Antigravity standard)
|
|
26
|
+
2. `.cursor/skills/` (Cursor)
|
|
27
|
+
3. `.windsurf/skills/` (Windsurf)
|
|
28
|
+
4. `.github/skills/` (VSCode/Copilot)
|
|
29
|
+
5. `.claude/skills/` (Claude Code)
|
|
30
|
+
6. `.clinerules/skills/` or `.roo/skills/` (Cline / Roo Code)
|
|
31
|
+
7. `.continue/skills/` (Continue)
|
|
32
|
+
8. `.trae/skills/` (Trae)
|
|
33
|
+
9. `.agents/skills/` (Amp, Kimi, Replit)
|
|
34
|
+
10. `.augment/skills/` (Augment)
|
|
35
|
+
11. `.codex/skills/` (Codex)
|
|
36
|
+
12. `.gemini/skills/` (Gemini CLI)
|
|
37
|
+
13. `.opencode/skills/` (OpenCode)
|
|
38
|
+
14. `skills/` (Source repo / custom setup)
|
|
39
|
+
*(And many others: .openhands, .goose, .vibe, .codebuddy, etc. - See AGENTS.md for full list)*
|
|
40
|
+
|
|
41
|
+
### 2. ⚡ Activate Skills
|
|
42
|
+
**IF** the user request matches a trigger in `AGENTS.md` or implies a specific role:
|
|
43
|
+
1. **FIND** the corresponding `SKILL.md` in one of the paths above.
|
|
44
|
+
2. **READ** the `SKILL.md` file using `view_file` **IMMEDIATELY**.
|
|
45
|
+
3. **ADOPT** the persona and instructions defined in that skill.
|
|
46
|
+
|
|
47
|
+
> **Example:** User says "Fix this bug".
|
|
48
|
+
> 1. You see `/fix` trigger for `systematic-debugger`.
|
|
49
|
+
> 2. You look for `.agent/skills/systematic-debugger/SKILL.md`.
|
|
50
|
+
> 3. You read it and follow the debugging protocol.
|
|
51
|
+
|
|
17
52
|
## 🚀 STARTUP CHECK (Auto-Start)
|
|
18
53
|
|
|
19
54
|
> **¿Existe `PROJECT_KICKOFF.md`?**
|
package/README.md
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
██║ ██╔████╔██║███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║
|
|
7
7
|
██║ ██║╚██╔╝██║██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║
|
|
8
8
|
███████╗██║ ╚═╝ ██║██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║
|
|
9
|
-
|
|
9
|
+
╚══════╝╚╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝
|
|
10
10
|
by QuBit
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
  
|
|
14
14
|
|
|
15
15
|
> **"Separate the reasoning from the execution."**
|
|
16
16
|
> LMAgent is the foundational runtime that empowers your AI Agents with standardized **Skills**, **Rules**, and **Workflows** across any IDE (Cursor, Windsurf, VSCode, Zed, Qodo).
|
|
@@ -215,6 +215,9 @@ LMAgent creates a **Single Source of Truth** in your home directory.
|
|
|
215
215
|
| **Qodo** | ✅ Full | `agents/` |
|
|
216
216
|
| **Amp / Kimi / Replit** | ✅ Full | `.agents/` |
|
|
217
217
|
| **Augment** | ✅ Full | `.augment/` |
|
|
218
|
+
| **Codex** | ✅ Full | `.codex/` |
|
|
219
|
+
| **Gemini CLI** | ✅ Full | `.gemini/` |
|
|
220
|
+
| **OpenCode** | ✅ Full | `.opencode/` |
|
|
218
221
|
| **OpenHands** | ✅ Full | `.openhands/` |
|
|
219
222
|
| **Goose** | ✅ Full | `.goose/` |
|
|
220
223
|
| **Mistral Vibe** | ✅ Full | `.vibe/` |
|
package/install.js
CHANGED
|
@@ -29,6 +29,7 @@ const INIT_DIRS = [
|
|
|
29
29
|
{ src: 'config', desc: 'Configuración del framework' },
|
|
30
30
|
{ src: 'templates', desc: 'Templates de proyecto' },
|
|
31
31
|
{ src: 'docs', desc: 'Documentación extendida' },
|
|
32
|
+
{ src: 'workflows', desc: 'SOPs y Procedimientos' },
|
|
32
33
|
];
|
|
33
34
|
|
|
34
35
|
// Configuración: IDEs y Agentes soportados
|
|
@@ -40,7 +41,8 @@ const IDE_CONFIGS = [
|
|
|
40
41
|
rulesDir: '.cursor/rules',
|
|
41
42
|
skillsDir: '.cursor/skills',
|
|
42
43
|
workflowsDir: '.cursor/workflows',
|
|
43
|
-
markerFile: '.cursorrules'
|
|
44
|
+
markerFile: '.cursorrules',
|
|
45
|
+
forceCopy: true
|
|
44
46
|
},
|
|
45
47
|
{
|
|
46
48
|
name: 'Windsurf',
|
|
@@ -48,7 +50,8 @@ const IDE_CONFIGS = [
|
|
|
48
50
|
rulesDir: '.windsurf/rules',
|
|
49
51
|
skillsDir: '.windsurf/skills',
|
|
50
52
|
workflowsDir: '.windsurf/workflows',
|
|
51
|
-
markerFile: '.windsurf'
|
|
53
|
+
markerFile: '.windsurf',
|
|
54
|
+
forceCopy: true
|
|
52
55
|
},
|
|
53
56
|
{
|
|
54
57
|
name: 'VSCode / GitHub Copilot',
|
|
@@ -64,7 +67,8 @@ const IDE_CONFIGS = [
|
|
|
64
67
|
rulesDir: '.claude/rules',
|
|
65
68
|
skillsDir: '.claude/skills',
|
|
66
69
|
workflowsDir: '.claude/workflows',
|
|
67
|
-
markerFile: '.claude'
|
|
70
|
+
markerFile: '.claude',
|
|
71
|
+
forceCopy: true
|
|
68
72
|
},
|
|
69
73
|
{
|
|
70
74
|
name: 'Cline',
|
|
@@ -72,7 +76,8 @@ const IDE_CONFIGS = [
|
|
|
72
76
|
rulesDir: '.clinesrules',
|
|
73
77
|
skillsDir: '.cline/skills',
|
|
74
78
|
workflowsDir: '.cline/workflows',
|
|
75
|
-
markerFile: '.clinesrules'
|
|
79
|
+
markerFile: '.clinesrules',
|
|
80
|
+
forceCopy: true
|
|
76
81
|
},
|
|
77
82
|
{
|
|
78
83
|
name: 'Roo Code',
|
|
@@ -80,7 +85,8 @@ const IDE_CONFIGS = [
|
|
|
80
85
|
rulesDir: '.roo/rules',
|
|
81
86
|
skillsDir: '.roo/skills',
|
|
82
87
|
workflowsDir: '.roo/workflows',
|
|
83
|
-
markerFile: '.roo'
|
|
88
|
+
markerFile: '.roo',
|
|
89
|
+
forceCopy: true
|
|
84
90
|
},
|
|
85
91
|
{
|
|
86
92
|
name: 'Trae',
|
|
@@ -88,7 +94,8 @@ const IDE_CONFIGS = [
|
|
|
88
94
|
rulesDir: '.trae/rules',
|
|
89
95
|
skillsDir: '.trae/skills',
|
|
90
96
|
workflowsDir: '.trae/workflows',
|
|
91
|
-
markerFile: '.trae'
|
|
97
|
+
markerFile: '.trae',
|
|
98
|
+
forceCopy: true
|
|
92
99
|
},
|
|
93
100
|
|
|
94
101
|
// --- Otros Agentes ---
|
|
@@ -116,6 +123,22 @@ const IDE_CONFIGS = [
|
|
|
116
123
|
workflowsDir: '.augment/workflows',
|
|
117
124
|
markerFile: '.augment'
|
|
118
125
|
},
|
|
126
|
+
{
|
|
127
|
+
name: 'Codex',
|
|
128
|
+
value: 'codex',
|
|
129
|
+
rulesDir: '.agents/rules',
|
|
130
|
+
skillsDir: '.codex/skills',
|
|
131
|
+
workflowsDir: '.agents/workflows',
|
|
132
|
+
markerFile: '.codex'
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: 'Gemini CLI',
|
|
136
|
+
value: 'gemini',
|
|
137
|
+
rulesDir: '.agents/rules',
|
|
138
|
+
skillsDir: '.gemini/skills',
|
|
139
|
+
workflowsDir: '.agents/workflows',
|
|
140
|
+
markerFile: '.gemini'
|
|
141
|
+
},
|
|
119
142
|
{
|
|
120
143
|
name: 'Continue',
|
|
121
144
|
value: 'continue',
|
|
@@ -124,6 +147,14 @@ const IDE_CONFIGS = [
|
|
|
124
147
|
workflowsDir: '.continue/workflows',
|
|
125
148
|
markerFile: '.continue'
|
|
126
149
|
},
|
|
150
|
+
{
|
|
151
|
+
name: 'OpenCode',
|
|
152
|
+
value: 'opencode',
|
|
153
|
+
rulesDir: '.agents/rules',
|
|
154
|
+
skillsDir: '.config/opencode/skills',
|
|
155
|
+
workflowsDir: '.agents/workflows',
|
|
156
|
+
markerFile: '.opencode'
|
|
157
|
+
},
|
|
127
158
|
{
|
|
128
159
|
name: 'OpenHands',
|
|
129
160
|
value: 'openhands',
|
|
@@ -157,7 +188,7 @@ const IDE_CONFIGS = [
|
|
|
157
188
|
markerFile: '.zed'
|
|
158
189
|
},
|
|
159
190
|
{
|
|
160
|
-
name: 'Envoid (OpenClaw)',
|
|
191
|
+
name: 'Envoid (OpenClaw / Moltbot)',
|
|
161
192
|
value: 'openclaw',
|
|
162
193
|
rulesDir: 'rules',
|
|
163
194
|
skillsDir: 'skills',
|
|
@@ -170,7 +201,8 @@ const IDE_CONFIGS = [
|
|
|
170
201
|
rulesDir: '.codebuddy/rules',
|
|
171
202
|
skillsDir: '.codebuddy/skills',
|
|
172
203
|
workflowsDir: '.codebuddy/workflows',
|
|
173
|
-
markerFile: '.codebuddy'
|
|
204
|
+
markerFile: '.codebuddy',
|
|
205
|
+
forceCopy: true
|
|
174
206
|
},
|
|
175
207
|
{
|
|
176
208
|
name: 'Command Code',
|
|
@@ -337,7 +369,7 @@ const IDE_CONFIGS = [
|
|
|
337
369
|
program
|
|
338
370
|
.name('lmagent')
|
|
339
371
|
.description('CLI para instalar skills y reglas de LMAgent')
|
|
340
|
-
.version('2.6.
|
|
372
|
+
.version('2.6.5'); // Version bump
|
|
341
373
|
|
|
342
374
|
program.command('install')
|
|
343
375
|
.description('Instalar skills, rules y workflows en el IDE del proyecto')
|
|
@@ -465,7 +497,9 @@ async function runInstall(options) {
|
|
|
465
497
|
selectedRules = getAllItems(SOURCE_RULES, false);
|
|
466
498
|
selectedWorkflows = getAllItems(SOURCE_WORKFLOWS, false);
|
|
467
499
|
} else {
|
|
500
|
+
console.log(chalk.gray('================================================================'));
|
|
468
501
|
console.log(chalk.cyan('🔹 Configuración de Instalación'));
|
|
502
|
+
console.log(chalk.gray('================================================================'));
|
|
469
503
|
|
|
470
504
|
const targetAnswer = await inquirer.prompt([
|
|
471
505
|
{
|
|
@@ -481,6 +515,7 @@ async function runInstall(options) {
|
|
|
481
515
|
installTarget = targetAnswer.target;
|
|
482
516
|
targetRoot = (installTarget === 'user') ? userHome : projectRoot;
|
|
483
517
|
|
|
518
|
+
console.log('');
|
|
484
519
|
const methodAnswer = await inquirer.prompt([
|
|
485
520
|
{
|
|
486
521
|
type: 'list',
|
|
@@ -495,6 +530,8 @@ async function runInstall(options) {
|
|
|
495
530
|
]);
|
|
496
531
|
installMethod = methodAnswer.method;
|
|
497
532
|
|
|
533
|
+
console.log('');
|
|
534
|
+
console.log(chalk.gray('--- Selección de Agentes ---'));
|
|
498
535
|
const ideAnswer = await inquirer.prompt([{
|
|
499
536
|
type: 'checkbox',
|
|
500
537
|
name: 'ides',
|
|
@@ -550,21 +587,33 @@ async function runInstall(options) {
|
|
|
550
587
|
const availableRules = getAllItems(SOURCE_RULES, false);
|
|
551
588
|
const availableWorkflows = getAllItems(SOURCE_WORKFLOWS, false);
|
|
552
589
|
|
|
553
|
-
|
|
590
|
+
console.log('');
|
|
591
|
+
console.log(chalk.gray('--- Selección de Contenido ---'));
|
|
592
|
+
const skillsAnswer = await inquirer.prompt([
|
|
554
593
|
{
|
|
555
594
|
type: 'checkbox',
|
|
556
595
|
name: 'skills',
|
|
557
596
|
message: 'Selecciona los Skills:',
|
|
558
597
|
choices: availableSkills.map(s => ({ name: s, checked: true })),
|
|
559
598
|
pageSize: 15
|
|
560
|
-
}
|
|
599
|
+
}
|
|
600
|
+
]);
|
|
601
|
+
selectedSkills = skillsAnswer.skills;
|
|
602
|
+
|
|
603
|
+
console.log('');
|
|
604
|
+
const rulesAnswer = await inquirer.prompt([
|
|
561
605
|
{
|
|
562
606
|
type: 'checkbox',
|
|
563
607
|
name: 'rules',
|
|
564
608
|
message: 'Selecciona las Reglas:',
|
|
565
609
|
choices: availableRules.map(r => ({ name: r, checked: true })),
|
|
566
610
|
pageSize: 15
|
|
567
|
-
}
|
|
611
|
+
}
|
|
612
|
+
]);
|
|
613
|
+
selectedRules = rulesAnswer.rules;
|
|
614
|
+
|
|
615
|
+
console.log('');
|
|
616
|
+
const workflowsAnswer = await inquirer.prompt([
|
|
568
617
|
{
|
|
569
618
|
type: 'checkbox',
|
|
570
619
|
name: 'workflows',
|
|
@@ -573,10 +622,9 @@ async function runInstall(options) {
|
|
|
573
622
|
pageSize: 15
|
|
574
623
|
}
|
|
575
624
|
]);
|
|
576
|
-
|
|
577
|
-
selectedRules = contentAnswers.rules;
|
|
578
|
-
selectedWorkflows = contentAnswers.workflows;
|
|
625
|
+
selectedWorkflows = workflowsAnswer.workflows;
|
|
579
626
|
|
|
627
|
+
console.log('');
|
|
580
628
|
const { confirm } = await inquirer.prompt([{
|
|
581
629
|
type: 'confirm',
|
|
582
630
|
name: 'confirm',
|
|
@@ -589,8 +637,8 @@ async function runInstall(options) {
|
|
|
589
637
|
console.log('');
|
|
590
638
|
for (const ide of targetIdes) {
|
|
591
639
|
let currentInstallMethod = installMethod;
|
|
592
|
-
if (ide.
|
|
593
|
-
console.log(chalk.yellow(`⚠️
|
|
640
|
+
if (ide.forceCopy && currentInstallMethod === 'symlink') {
|
|
641
|
+
console.log(chalk.yellow(`⚠️ ${ide.name} detectado: Forzando método 'copy' (Mejor compatibilidad)`));
|
|
594
642
|
currentInstallMethod = 'copy';
|
|
595
643
|
}
|
|
596
644
|
|
|
@@ -679,6 +727,20 @@ async function runInstall(options) {
|
|
|
679
727
|
}
|
|
680
728
|
}
|
|
681
729
|
console.log(gradient.pastel.multiline('\n✨ Instalación Finalizada ✨'));
|
|
730
|
+
|
|
731
|
+
console.log(chalk.gray('================================================================'));
|
|
732
|
+
console.log(chalk.bold.green('🎉 ¡Todo listo! Aquí tienes cómo usar tus nuevos superpoderes:'));
|
|
733
|
+
console.log('');
|
|
734
|
+
console.log(chalk.cyan('🤖 Para Cursor / Windsurf / Trae:'));
|
|
735
|
+
console.log(chalk.white(' 1. Tus skills aparecen como Reglas (.cursorrules, etc.)'));
|
|
736
|
+
console.log(chalk.white(' 2. En el Chat (Ctrl+L) o Composer (Ctrl+I), simplemente pídelo.'));
|
|
737
|
+
console.log(chalk.gray(' Ej: "Crea un nuevo componente de React" (El agente usará frontend-engineer automáticamente)'));
|
|
738
|
+
console.log('');
|
|
739
|
+
console.log(chalk.magenta('🧠 Para Antigravity / Claude Code / Agentes Autónomos:'));
|
|
740
|
+
console.log(chalk.white(' 1. El agente lee automáticamente tu carpeta .agent/ o configuración local.'));
|
|
741
|
+
console.log(chalk.white(' 2. Escribe tu petición en lenguaje natural.'));
|
|
742
|
+
console.log(chalk.gray(' Ej: "Analiza la base de datos" (El agente buscará y usará backend-engineer/data-engineer)'));
|
|
743
|
+
console.log(chalk.gray('================================================================'));
|
|
682
744
|
}
|
|
683
745
|
|
|
684
746
|
async function applyFile(source, dest, method) {
|
|
@@ -792,6 +854,7 @@ function getAllItems(dir, isNested) {
|
|
|
792
854
|
// ============================================
|
|
793
855
|
|
|
794
856
|
async function runInit(options) {
|
|
857
|
+
let targetIdes = []; // Initialize targetIdes
|
|
795
858
|
console.clear();
|
|
796
859
|
const branding = figlet.textSync('LMAGENT', { font: 'ANSI Shadow' });
|
|
797
860
|
console.log(gradient.pastel.multiline(branding));
|
|
@@ -847,34 +910,73 @@ async function runInit(options) {
|
|
|
847
910
|
]);
|
|
848
911
|
filesToCopy = INIT_FILES.filter(f => answers.files.includes(f.src));
|
|
849
912
|
dirsToCopy = INIT_DIRS.filter(d => answers.dirs.includes(d.src));
|
|
913
|
+
filesToCopy = INIT_FILES.filter(f => answers.files.includes(f.src));
|
|
914
|
+
dirsToCopy = INIT_DIRS.filter(d => answers.dirs.includes(d.src));
|
|
915
|
+
|
|
916
|
+
// Seleccionar IDE para destino de archivos
|
|
917
|
+
console.log('');
|
|
918
|
+
const ideAnswer = await inquirer.prompt([
|
|
919
|
+
{
|
|
920
|
+
type: 'checkbox',
|
|
921
|
+
name: 'ides',
|
|
922
|
+
message: 'Selecciona tu IDE principal (para ubicar las carpetas):',
|
|
923
|
+
choices: IDE_CONFIGS.filter(i => i.value !== 'custom').map(i => ({
|
|
924
|
+
name: i.name,
|
|
925
|
+
value: i.value,
|
|
926
|
+
checked: i.value === 'cursor'
|
|
927
|
+
}))
|
|
928
|
+
}
|
|
929
|
+
]);
|
|
930
|
+
targetIdes = IDE_CONFIGS.filter(i => ideAnswer.ides.includes(i.value));
|
|
931
|
+
} else {
|
|
932
|
+
// Defaults for non-interactive
|
|
933
|
+
targetIdes = [IDE_CONFIGS.find(i => i.value === 'cursor')];
|
|
850
934
|
}
|
|
851
935
|
|
|
852
|
-
// Copiar archivos
|
|
853
|
-
console.log(chalk.bold('\n
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
936
|
+
// Copiar archivos del framework a la carpeta del Agente (Clean Root)
|
|
937
|
+
console.log(chalk.bold('\n📦 Instalando framework en directorios de Agente:'));
|
|
938
|
+
|
|
939
|
+
for (const ide of targetIdes) {
|
|
940
|
+
if (!ide.skillsDir) continue; // Skip custom/manual if no dir defined
|
|
941
|
+
|
|
942
|
+
// Determinar "Agent Root" (ej: .cursor/ o .github/)
|
|
943
|
+
// Asume que skillsDir es "root/skills", así que dirname obtiene "root"
|
|
944
|
+
const agentRootDir = path.join(targetRoot, path.dirname(ide.skillsDir));
|
|
945
|
+
|
|
946
|
+
console.log(chalk.dim(` Destino: ${agentRootDir}`));
|
|
947
|
+
|
|
948
|
+
// Crear directorio root si no existe
|
|
949
|
+
if (!fs.existsSync(agentRootDir)) fs.mkdirSync(agentRootDir, { recursive: true });
|
|
950
|
+
|
|
951
|
+
// Copiar Archivos (AGENTS.md, etc - EXCEPTO CLAUDE.md que suele ir en root)
|
|
952
|
+
for (const file of filesToCopy) {
|
|
953
|
+
if (file.src === 'CLAUDE.md') {
|
|
954
|
+
// CLAUDE.md se queda en projectRoot para visibilidad inmediata si se usa Claude
|
|
955
|
+
// Opcional: Podríamos moverlo también, pero por ahora lo dejamos en root para compatibilidad
|
|
956
|
+
const dest = path.join(projectRoot, file.src);
|
|
957
|
+
if (fs.existsSync(path.join(__dirname, file.src))) {
|
|
958
|
+
fs.copyFileSync(path.join(__dirname, file.src), dest);
|
|
959
|
+
console.log(` ${chalk.green('✔')} ${file.src} (Project Root)`);
|
|
960
|
+
}
|
|
961
|
+
continue;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
const src = path.join(__dirname, file.src);
|
|
965
|
+
const dest = path.join(agentRootDir, file.src);
|
|
966
|
+
if (fs.existsSync(src)) {
|
|
967
|
+
fs.copyFileSync(src, dest);
|
|
968
|
+
console.log(` ${chalk.green('✔')} ${file.src} -> ${path.dirname(ide.skillsDir)}/${file.src}`);
|
|
969
|
+
}
|
|
863
970
|
}
|
|
864
|
-
}
|
|
865
971
|
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
const itemCount = getAllItemsFlat(src).length;
|
|
875
|
-
console.log(` ${chalk.green('✔')} ${dir.src}/ (${itemCount} archivos) ${exists ? chalk.yellow('(actualizado)') : chalk.green('(nuevo)')}`);
|
|
876
|
-
} else {
|
|
877
|
-
console.log(` ${chalk.red('✘')} ${dir.src}/ ${chalk.red('(no encontrado en el paquete)')}`);
|
|
972
|
+
// Copiar Directorios (docs, config, templates)
|
|
973
|
+
for (const dir of dirsToCopy) {
|
|
974
|
+
const src = path.join(__dirname, dir.src);
|
|
975
|
+
const dest = path.join(agentRootDir, dir.src);
|
|
976
|
+
if (fs.existsSync(src)) {
|
|
977
|
+
copyRecursiveSync(src, dest, true); // Force overwrite
|
|
978
|
+
console.log(` ${chalk.green('✔')} ${dir.src}/ -> ${path.dirname(ide.skillsDir)}/${dir.src}/`);
|
|
979
|
+
}
|
|
878
980
|
}
|
|
879
981
|
}
|
|
880
982
|
|
|
@@ -914,7 +1016,7 @@ DEBUG=true
|
|
|
914
1016
|
}
|
|
915
1017
|
|
|
916
1018
|
// Resumen
|
|
917
|
-
console.log(gradient.pastel.multiline('\n✨ Proyecto inicializado con LMAgent v2.
|
|
1019
|
+
console.log(gradient.pastel.multiline('\n✨ Proyecto inicializado con LMAgent v2.6.5 ✨'));
|
|
918
1020
|
console.log('');
|
|
919
1021
|
console.log(chalk.cyan('Próximos pasos:'));
|
|
920
1022
|
console.log(` 1. ${chalk.bold('lmagent install')} - Instalar skills/rules/workflows en tu IDE`);
|
package/package.json
CHANGED
package/rules/_bootstrap.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 🚀 LMAgent Bootstrap — Instrucciones Iniciales
|
|
2
2
|
|
|
3
|
-
> **Tipo**: `rule` | **Versión**: 2.6.
|
|
3
|
+
> **Tipo**: `rule` | **Versión**: 2.6.5 | **Prioridad**: MÁXIMA
|
|
4
4
|
> Esta regla se aplica **SIEMPRE** como primer paso antes de cualquier tarea.
|
|
5
5
|
|
|
6
6
|
---
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
## 🧠 Framework
|
|
17
17
|
|
|
18
|
-
Estás trabajando con **LMAgent v2.6.
|
|
18
|
+
Estás trabajando con **LMAgent v2.6.5**. Antes de implementar cualquier cambio:
|
|
19
19
|
|
|
20
20
|
1. **Lee `AGENTS.md`** — Catálogo completo de skills, rules y workflows
|
|
21
21
|
2. **Clasifica la tarea** — Nivel 0-4 según complejidad (ver `rules/workflow.md`)
|
package/scripts/create_skill.js
CHANGED
|
@@ -212,7 +212,7 @@ Antes de considerar una tarea terminada, verifica TODO:
|
|
|
212
212
|
|
|
213
213
|
// ─── Main ─────────────────────────────────────────────────────
|
|
214
214
|
async function main() {
|
|
215
|
-
console.log(c.bold('\n🛠️ LMAgent Skill Generator v2.6.
|
|
215
|
+
console.log(c.bold('\n🛠️ LMAgent Skill Generator v2.6.5\n'));
|
|
216
216
|
|
|
217
217
|
const prompt = createPrompt();
|
|
218
218
|
|
|
@@ -194,12 +194,13 @@ function validateSkill(skillDir) {
|
|
|
194
194
|
function main() {
|
|
195
195
|
const filterSkill = process.argv[2];
|
|
196
196
|
|
|
197
|
-
|
|
197
|
+
const c = chalk;
|
|
198
|
+
|
|
199
|
+
console.log(c.bold('\n🔍 LMAgent Skill Validator v2.6.5\n'));
|
|
198
200
|
console.log(chalk.dim(` Directorio: ${SKILLS_DIR}`));
|
|
199
201
|
console.log(chalk.dim(` Campos obligatorios: ${REQUIRED_FIELDS.length}`));
|
|
200
202
|
console.log('');
|
|
201
203
|
|
|
202
|
-
const c = chalk;
|
|
203
204
|
|
|
204
205
|
if (!existsSync(SKILLS_DIR)) {
|
|
205
206
|
console.error(c.red('❌ No se encontró el directorio skills/'));
|
package/skills_overview.txt
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
skills/ai-agent-engineer/SKILL.md:description: Especialista en diseño, desarrollo y optimización de agentes de inteligencia artificial y flujos RAG.
|
|
2
|
-
skills/ai-agent-engineer/SKILL.md:role: Diseño y Desarrollo de Agentes IA
|
|
3
|
-
skills/ai-agent-engineer/SKILL.md:triggers:
|
|
4
|
-
skills/api-designer/SKILL.md:description: Arquitecto de APIs REST y GraphQL con enfoque en diseño consistente, documentación OpenAPI y experiencia del desarrollador.
|
|
5
|
-
skills/api-designer/SKILL.md:role: Especialista en Diseño de APIs y Developer Experience
|
|
6
|
-
skills/api-designer/SKILL.md:triggers:
|
|
7
|
-
skills/architect/SKILL.md:description: Diseño de arquitectura de software, patrones de diseño y estructuración de sistemas robustos.
|
|
8
|
-
skills/architect/SKILL.md:role: Senior Solutions Architect - Diseño de Sistemas Distribuidos
|
|
9
|
-
skills/architect/SKILL.md:triggers:
|
|
10
|
-
skills/automation-engineer/SKILL.md:description: Automatización de flujos de trabajo, procesos repetitivos e integración de herramientas.
|
|
11
|
-
skills/automation-engineer/SKILL.md:role: Automatización e Integraciones
|
|
12
|
-
skills/automation-engineer/SKILL.md:triggers:
|
|
13
|
-
skills/automation-engineer/SKILL.md:description: Procesa una orden nueva desde n8n
|
|
14
|
-
skills/backend-engineer/SKILL.md:description: Desarrollo de lógica de servidor, gestión de bases de datos, APIs y servicios escalables.
|
|
15
|
-
skills/backend-engineer/SKILL.md:role: Senior Backend Engineer & Tech Lead - Ingeniería de Software Robusta
|
|
16
|
-
skills/backend-engineer/SKILL.md:triggers:
|
|
17
|
-
skills/bmad-methodology/SKILL.md:description: Experto en la aplicación de la metodología Best Model Agent Driven (BMAD).
|
|
18
|
-
skills/bmad-methodology/SKILL.md:role: Scale-Adaptive Intelligence & Project Orchestration
|
|
19
|
-
skills/bmad-methodology/SKILL.md:triggers:
|
|
20
|
-
skills/browser-agent/SKILL.md:description: Automatización inteligente de navegador con Playwright/Puppeteer para scraping, auditorías, flujos interactivos y extracción de datos.
|
|
21
|
-
skills/browser-agent/SKILL.md:role: Automatización de Navegador para Agentes IA
|
|
22
|
-
skills/browser-agent/SKILL.md:triggers:
|
|
23
|
-
skills/code-reviewer/SKILL.md:description: Especialista en revisiones de código sistemáticas, asegurando calidad, seguridad y mantenibilidad.
|
|
24
|
-
skills/code-reviewer/SKILL.md:role: Experto en Code Review y Calidad de Código
|
|
25
|
-
skills/code-reviewer/SKILL.md:triggers:
|
|
26
|
-
skills/data-engineer/SKILL.md:description: Gestión de pipelines de datos, almacenamiento, procesamiento y análisis de información.
|
|
27
|
-
skills/data-engineer/SKILL.md:role: Diseño y Administración de Bases de Datos
|
|
28
|
-
skills/data-engineer/SKILL.md:triggers:
|
|
29
|
-
skills/devops-engineer/SKILL.md:description: Configuración de CI/CD, infraestructura en la nube, contenedores y automatización de despliegues.
|
|
30
|
-
skills/devops-engineer/SKILL.md:role: Infrastructure, CI/CD y Operaciones
|
|
31
|
-
skills/devops-engineer/SKILL.md:triggers:
|
|
32
|
-
skills/document-generator/SKILL.md:description: Generación programática de documentos formales (PDF, DOCX, XLSX, PPTX) con librerías especializadas.
|
|
33
|
-
skills/document-generator/SKILL.md:role: Generación de Documentos de Oficina
|
|
34
|
-
skills/document-generator/SKILL.md:triggers:
|
|
35
|
-
skills/frontend-engineer/SKILL.md:description: Desarrollo de interfaces de usuario modernas, responsivas y centradas en la experiencia del usuario.
|
|
36
|
-
skills/frontend-engineer/SKILL.md:role: Desarrollo de Interfaces de Usuario
|
|
37
|
-
skills/frontend-engineer/SKILL.md:triggers:
|
|
38
|
-
skills/git-workflow/SKILL.md:description: Experto en estrategias de branching, flujos de trabajo Git, y gestión de releases.
|
|
39
|
-
skills/git-workflow/SKILL.md:role: Especialista en Git Workflows y Release Management
|
|
40
|
-
skills/git-workflow/SKILL.md:triggers:
|
|
41
|
-
skills/mcp-builder/SKILL.md:description: Experto en construir MCP Servers, Tools, Resources y Prompts para extender agentes de IA.
|
|
42
|
-
skills/mcp-builder/SKILL.md:role: Especialista en Model Context Protocol y Agent Tooling
|
|
43
|
-
skills/mcp-builder/SKILL.md:triggers:
|
|
44
|
-
skills/mobile-engineer/SKILL.md:description: Desarrollo de aplicaciones móviles utilizando React Native, Expo y otras tecnologías nativas.
|
|
45
|
-
skills/mobile-engineer/SKILL.md:role: Desarrollo de Aplicaciones Móviles
|
|
46
|
-
skills/mobile-engineer/SKILL.md:triggers:
|
|
47
|
-
skills/orchestrator/SKILL.md:description: Agente orquestador encargado de dirigir las solicitudes al experto más adecuado.
|
|
48
|
-
skills/orchestrator/SKILL.md:role: Meta-Agent que decide qué persona y workflow activar
|
|
49
|
-
skills/orchestrator/SKILL.md:triggers:
|
|
50
|
-
skills/performance-engineer/SKILL.md:description: Especialista en identificación y resolución de cuellos de botella para optimizar el rendimiento y la escalabilidad.
|
|
51
|
-
skills/performance-engineer/SKILL.md:role: Optimización de Rendimiento y Escalabilidad
|
|
52
|
-
skills/performance-engineer/SKILL.md:triggers:
|
|
53
|
-
skills/product-manager/SKILL.md:description: Definición de la visión del producto, roadmap y requisitos detallados para maximizar el valor al usuario.
|
|
54
|
-
skills/product-manager/SKILL.md:role: Senior Product Manager - Estrategia y Visión de Producto
|
|
55
|
-
skills/product-manager/SKILL.md:triggers:
|
|
56
|
-
skills/prompt-engineer/SKILL.md:description: Optimización de prompts para maximizar la calidad, precisión y razonamiento de los outputs de los LLMs.
|
|
57
|
-
skills/prompt-engineer/SKILL.md:role: Ingeniería de Prompts y Arquitectura Cognitiva
|
|
58
|
-
skills/prompt-engineer/SKILL.md:triggers:
|
|
59
|
-
skills/qa-engineer/SKILL.md:description: Aseguramiento de la calidad mediante pruebas automatizadas, manuales y validación rigurosa de criterios de aceptación.
|
|
60
|
-
skills/qa-engineer/SKILL.md:role: Testing y Aseguramiento de Calidad
|
|
61
|
-
skills/qa-engineer/SKILL.md:triggers:
|
|
62
|
-
skills/scrum-master/SKILL.md:description: Facilitador de metodologías ágiles enfocado en la eliminación de obstáculos y la mejora continua del equipo.
|
|
63
|
-
skills/scrum-master/SKILL.md:role: Agile Coach & Senior Scrum Master - Facilitador de Alto Rendimiento
|
|
64
|
-
skills/scrum-master/SKILL.md:triggers:
|
|
65
|
-
skills/security-analyst/SKILL.md:description: Auditoría de vulnerabilidades, protección de datos y cumplimiento de estándares de seguridad internacionales.
|
|
66
|
-
skills/security-analyst/SKILL.md:role: Seguridad y Compliance
|
|
67
|
-
skills/security-analyst/SKILL.md:triggers:
|
|
68
|
-
skills/seo-auditor/SKILL.md:description: Auditoría técnica completa de sitios web incluyendo SEO on-page, Core Web Vitals, accesibilidad WCAG, schema markup y Open Graph.
|
|
69
|
-
skills/seo-auditor/SKILL.md:role: Auditoría Web y SEO Técnico
|
|
70
|
-
skills/seo-auditor/SKILL.md:triggers:
|
|
71
|
-
skills/spec-driven-dev/SKILL.md:description: Metodología de desarrollo basada rigurosamente en especificaciones y contratos técnicos para garantizar trazabilidad.
|
|
72
|
-
skills/spec-driven-dev/SKILL.md:role: Development Methodology - Specification as Source of Truth
|
|
73
|
-
skills/spec-driven-dev/SKILL.md:triggers:
|
|
74
|
-
skills/supabase-expert/SKILL.md:description: Especialista en Supabase, incluyendo PostgreSQL, RLS, Edge Functions, Auth, Realtime y Storage.
|
|
75
|
-
skills/supabase-expert/SKILL.md:role: Experto en Supabase Platform & PostgreSQL
|
|
76
|
-
skills/supabase-expert/SKILL.md:triggers:
|
|
77
|
-
skills/swe-agent/SKILL.md:description: Agente de ingeniería de software especializado en la resolución autónoma de issues y refactorización sistemática.
|
|
78
|
-
skills/swe-agent/SKILL.md:role: Autonomous Software Engineering Agent
|
|
79
|
-
skills/swe-agent/SKILL.md:triggers:
|
|
80
|
-
skills/systematic-debugger/SKILL.md:description: Metodología rigurosa de debugging en 4 fases para encontrar la causa raíz antes de aplicar cualquier fix.
|
|
81
|
-
skills/systematic-debugger/SKILL.md:role: Debugging Metódico y Resolución de Problemas
|
|
82
|
-
skills/systematic-debugger/SKILL.md:triggers:
|
|
83
|
-
skills/tech-lead/SKILL.md:description: Liderazgo técnico, revisión de código crítica y establecimiento de mejores prácticas de ingeniería de software.
|
|
84
|
-
skills/tech-lead/SKILL.md:role: Liderazgo Técnico y Mentorship
|
|
85
|
-
skills/tech-lead/SKILL.md:triggers:
|
|
86
|
-
skills/technical-writer/SKILL.md:description: Creación de documentación técnica clara, manuales de usuario y guías que reducen la curva de aprendizaje.
|
|
87
|
-
skills/technical-writer/SKILL.md:role: Documentación Técnica y Comunicación
|
|
88
|
-
skills/technical-writer/SKILL.md:triggers:
|
|
89
|
-
skills/testing-strategist/SKILL.md:description: Experto en estrategias de testing automatizado, TDD/BDD, y frameworks de testing modernos.
|
|
90
|
-
skills/testing-strategist/SKILL.md:role: Especialista en Testing Strategy y Quality Assurance Automation
|
|
91
|
-
skills/testing-strategist/SKILL.md:triggers:
|
|
92
|
-
skills/ux-ui-designer/SKILL.md:description: Diseño visual e interactivo centrado en la usabilidad, estética moderna y accesibilidad universal.
|
|
93
|
-
skills/ux-ui-designer/SKILL.md:role: Diseño de Experiencia e Interfaz de Usuario
|
|
94
|
-
skills/ux-ui-designer/SKILL.md:triggers:
|