@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 CHANGED
@@ -1,12 +1,53 @@
1
1
  # 🤖 LMAgent Intelligence Catalog
2
2
 
3
- > Catálogo completo de capacidades del ecosistema **LMAgent v2.6.2**.
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: `skills/`*
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
- | **testing-strategist** | `/test-plan`, `/strategy` | Pirámide de testing, planificación y estrategia de QA | **Uso:** Definición de estrategia. **Vs QA:** Strategist piensa el 'qué'; QA ejecuta el 'cómo'. |
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.2 - Claude Code Instructions
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.2**.
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.2**, un framework para desarrollo de automatizaciones y agentes de IA. Organiza las capacidades del agente en tres pilares: **Skills**, **Rules** y **Workflows**.
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
- ![Version](https://img.shields.io/badge/Version-2.6.2-purple?style=for-the-badge) ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) ![Agentic](https://img.shields.io/badge/AI-Agentic_Workflow-cyan?style=for-the-badge)
13
+ ![Version](https://img.shields.io/badge/version-2.6.5-blue.svg) ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) ![Agentic](https://img.shields.io/badge/AI-Agentic_Workflow-cyan?style=for-the-badge)
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.2'); // Version bump
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
- const contentAnswers = await inquirer.prompt([
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
- selectedSkills = contentAnswers.skills;
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.value === 'cursor' && currentInstallMethod === 'symlink') {
593
- console.log(chalk.yellow(`⚠️ Cursor detectado: Forzando método 'copy' (Skills no soportan symlinks en Cursor)`));
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 individuales
853
- console.log(chalk.bold('\n📄 Copiando archivos de proyecto:'));
854
- for (const file of filesToCopy) {
855
- const src = path.join(__dirname, file.src);
856
- const dest = path.join(projectRoot, file.src);
857
- if (fs.existsSync(src)) {
858
- const exists = fs.existsSync(dest);
859
- fs.copyFileSync(src, dest);
860
- console.log(` ${chalk.green('✔')} ${file.src} ${exists ? chalk.yellow('(actualizado)') : chalk.green('(nuevo)')}`);
861
- } else {
862
- console.log(` ${chalk.red('✘')} ${file.src} ${chalk.red('(no encontrado en el paquete)')}`);
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
- // Copiar directorios
867
- console.log(chalk.bold('\n📁 Copiando directorios:'));
868
- for (const dir of dirsToCopy) {
869
- const src = path.join(__dirname, dir.src);
870
- const dest = path.join(projectRoot, dir.src);
871
- if (fs.existsSync(src)) {
872
- const exists = fs.existsSync(dest);
873
- copyRecursiveSync(src, dest, true);
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.3.0 ✨'));
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
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.6.2",
6
+ "version": "2.6.5",
7
7
  "description": "CLI to install LMAgent skills and rules into your IDE",
8
8
  "main": "install.js",
9
9
  "bin": {
@@ -1,6 +1,6 @@
1
1
  # 🚀 LMAgent Bootstrap — Instrucciones Iniciales
2
2
 
3
- > **Tipo**: `rule` | **Versión**: 2.6.2 | **Prioridad**: MÁXIMA
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.2**. Antes de implementar cualquier cambio:
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`)
@@ -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.2\n'));
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
- console.log(gradient.pastel.multiline('\n🚀 LMAgent Skills Validator v2.6.2\n'));
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/'));
@@ -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: