@qubiit/lmagent 2.7.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/{config → .agents/config}/models.yaml +1 -1
  2. package/{config → .agents/config}/settings.yaml +1 -1
  3. package/{docs → .agents/docs}/getting-started.md +1 -1
  4. package/{docs → .agents/docs}/how-to-start.md +1 -1
  5. package/{rules/_bootstrap.md → .agents/rules/00-master.md} +16 -15
  6. package/{rules/workflow.md → .agents/rules/01-workflow.md} +5 -22
  7. package/{rules/stack.md → .agents/rules/02-tech-stack.md} +1 -1
  8. package/{rules/code-style.md → .agents/rules/03-code-style.md} +12 -1
  9. package/{rules/security.md → .agents/rules/04-security.md} +10 -8
  10. package/{rules/testing.md → .agents/rules/05-testing.md} +6 -4
  11. package/{rules/api-design.md → .agents/rules/06-api-design.md} +1 -1
  12. package/{rules/documentation.md → .agents/rules/07-documentation.md} +8 -8
  13. package/{rules/agents-ia.md → .agents/rules/08-agents-ai.md} +11 -7
  14. package/{rules/automations-n8n.md → .agents/rules/09-automations.md} +1 -1
  15. package/.agents/rules/10-git-flow.md +122 -0
  16. package/{scripts → .agents/scripts}/create_skill.js +3 -3
  17. package/{scripts → .agents/scripts}/validate_skills.js +6 -5
  18. package/{skills → .agents/skills}/ai-agent-engineer/SKILL.md +394 -394
  19. package/{skills → .agents/skills}/api-designer/SKILL.md +1 -1
  20. package/{skills → .agents/skills}/architect/SKILL.md +285 -285
  21. package/{skills → .agents/skills}/automation-engineer/SKILL.md +352 -352
  22. package/{skills → .agents/skills}/backend-engineer/SKILL.md +261 -261
  23. package/{skills → .agents/skills}/bmad-methodology/SKILL.md +202 -202
  24. package/{skills → .agents/skills}/browser-agent/SKILL.md +1 -1
  25. package/{skills → .agents/skills}/code-reviewer/SKILL.md +1 -1
  26. package/{skills → .agents/skills}/data-engineer/SKILL.md +474 -474
  27. package/{skills → .agents/skills}/devops-engineer/SKILL.md +547 -547
  28. package/{skills → .agents/skills}/document-generator/SKILL.md +1 -1
  29. package/{skills → .agents/skills}/frontend-engineer/SKILL.md +532 -532
  30. package/{skills → .agents/skills}/git-workflow/SKILL.md +1 -1
  31. package/{skills → .agents/skills}/mcp-builder/SKILL.md +1 -1
  32. package/{skills → .agents/skills}/mobile-engineer/SKILL.md +502 -502
  33. package/{skills → .agents/skills}/orchestrator/SKILL.md +246 -246
  34. package/{skills → .agents/skills}/performance-engineer/SKILL.md +549 -549
  35. package/{skills → .agents/skills}/product-manager/SKILL.md +488 -488
  36. package/{skills → .agents/skills}/prompt-engineer/SKILL.md +433 -433
  37. package/{skills → .agents/skills}/qa-engineer/SKILL.md +441 -441
  38. package/{skills → .agents/skills}/scrum-master/SKILL.md +225 -225
  39. package/{skills → .agents/skills}/security-analyst/SKILL.md +390 -390
  40. package/{skills → .agents/skills}/seo-auditor/SKILL.md +1 -1
  41. package/{skills → .agents/skills}/spec-driven-dev/SKILL.md +342 -342
  42. package/{skills → .agents/skills}/supabase-expert/SKILL.md +1 -1
  43. package/{skills → .agents/skills}/swe-agent/SKILL.md +311 -311
  44. package/{skills → .agents/skills}/systematic-debugger/SKILL.md +1 -1
  45. package/{skills → .agents/skills}/tech-lead/SKILL.md +409 -409
  46. package/{skills → .agents/skills}/technical-writer/SKILL.md +631 -631
  47. package/{skills → .agents/skills}/testing-strategist/SKILL.md +1 -1
  48. package/{skills → .agents/skills}/ux-ui-designer/SKILL.md +419 -419
  49. package/{templates → .agents/templates}/SKILL_TEMPLATE.md +2 -2
  50. package/{templates → .agents/templates}/backend-node/package.json +1 -1
  51. package/{templates → .agents/templates}/spec.yaml +1 -1
  52. package/{workflows → .agents/workflows}/bugfix-backend.md +1 -1
  53. package/{workflows → .agents/workflows}/new-agent-ia.md +1 -1
  54. package/{workflows → .agents/workflows}/new-automation.md +1 -1
  55. package/{workflows → .agents/workflows}/new-feature.md +1 -1
  56. package/{workflows → .agents/workflows}/spec-driven.md +1 -1
  57. package/AGENTS.md +177 -196
  58. package/CLAUDE.md +12 -152
  59. package/CONTRIBUTING.md +9 -9
  60. package/README.md +29 -2
  61. package/install.js +229 -106
  62. package/package.json +41 -10
  63. package/docs/assets/logo.png +0 -0
  64. /package/{config → .agents/config}/commands.yaml +0 -0
  65. /package/{config → .agents/config}/levels.yaml +0 -0
  66. /package/{config → .agents/config}/tools-extended.yaml +0 -0
  67. /package/{config → .agents/config}/tools.yaml +0 -0
  68. /package/{docs → .agents/docs}/commands.md +0 -0
  69. /package/{docs → .agents/docs}/customization-guide.md +0 -0
  70. /package/{docs → .agents/docs}/navigation-index.md +0 -0
  71. /package/{docs → .agents/docs}/usage-guide.md +0 -0
  72. /package/{skills → .agents/skills}/ai-agent-engineer/references/agent-patterns.md +0 -0
  73. /package/{skills → .agents/skills}/api-designer/references/api-standards.md +0 -0
  74. /package/{skills → .agents/skills}/architect/references/c4-model.md +0 -0
  75. /package/{skills → .agents/skills}/automation-engineer/references/n8n-patterns.md +0 -0
  76. /package/{skills → .agents/skills}/backend-engineer/assets/fastapi-project-structure.yaml +0 -0
  77. /package/{skills → .agents/skills}/backend-engineer/references/debugging-guide.md +0 -0
  78. /package/{skills → .agents/skills}/backend-engineer/references/design-patterns.md +0 -0
  79. /package/{skills → .agents/skills}/backend-engineer/scripts/scaffold_backend.py +0 -0
  80. /package/{skills → .agents/skills}/bmad-methodology/references/scale-adaptive-levels.md +0 -0
  81. /package/{skills → .agents/skills}/browser-agent/scripts/playwright_setup.ts +0 -0
  82. /package/{skills → .agents/skills}/code-reviewer/references/code-review-checklist.md +0 -0
  83. /package/{skills → .agents/skills}/data-engineer/assets/pg-monitoring-queries.sql +0 -0
  84. /package/{skills → .agents/skills}/data-engineer/references/index-strategy.md +0 -0
  85. /package/{skills → .agents/skills}/data-engineer/scripts/backup_postgres.py +0 -0
  86. /package/{skills → .agents/skills}/devops-engineer/references/ci-cd-patterns.md +0 -0
  87. /package/{skills → .agents/skills}/devops-engineer/scripts/docker_healthcheck.py +0 -0
  88. /package/{skills → .agents/skills}/document-generator/references/pdf-generation.md +0 -0
  89. /package/{skills → .agents/skills}/frontend-engineer/references/accessibility-guide.md +0 -0
  90. /package/{skills → .agents/skills}/frontend-engineer/scripts/audit_bundle.py +0 -0
  91. /package/{skills → .agents/skills}/git-workflow/references/git-flow.md +0 -0
  92. /package/{skills → .agents/skills}/mcp-builder/references/mcp-server-guide.md +0 -0
  93. /package/{skills → .agents/skills}/mobile-engineer/references/platform-guidelines.md +0 -0
  94. /package/{skills → .agents/skills}/orchestrator/references/methodology-routing.md +0 -0
  95. /package/{skills → .agents/skills}/orchestrator/references/persona-mapping.md +0 -0
  96. /package/{skills → .agents/skills}/orchestrator/references/routing-logic.md +0 -0
  97. /package/{skills → .agents/skills}/performance-engineer/references/caching-patterns.md +0 -0
  98. /package/{skills → .agents/skills}/performance-engineer/scripts/profile_endpoint.py +0 -0
  99. /package/{skills → .agents/skills}/product-manager/references/prioritization-frameworks.md +0 -0
  100. /package/{skills → .agents/skills}/prompt-engineer/references/prompt-patterns.md +0 -0
  101. /package/{skills → .agents/skills}/qa-engineer/references/testing-strategy.md +0 -0
  102. /package/{skills → .agents/skills}/qa-engineer/scripts/run_coverage.py +0 -0
  103. /package/{skills → .agents/skills}/scrum-master/references/sprint-ceremonies.md +0 -0
  104. /package/{skills → .agents/skills}/security-analyst/references/owasp-top10.md +0 -0
  105. /package/{skills → .agents/skills}/security-analyst/scripts/audit_security.py +0 -0
  106. /package/{skills → .agents/skills}/seo-auditor/references/seo-checklist.md +0 -0
  107. /package/{skills → .agents/skills}/spec-driven-dev/references/phase-gates.md +0 -0
  108. /package/{skills → .agents/skills}/supabase-expert/references/supabase-patterns.md +0 -0
  109. /package/{skills → .agents/skills}/swe-agent/references/trajectory-format.md +0 -0
  110. /package/{skills → .agents/skills}/systematic-debugger/references/debugging-guide.md +0 -0
  111. /package/{skills → .agents/skills}/tech-lead/references/code-review-checklist.md +0 -0
  112. /package/{skills → .agents/skills}/technical-writer/references/doc-templates.md +0 -0
  113. /package/{skills → .agents/skills}/testing-strategist/references/testing-pyramid.md +0 -0
  114. /package/{skills → .agents/skills}/ux-ui-designer/references/design-system-foundation.md +0 -0
  115. /package/{templates → .agents/templates}/PROJECT_KICKOFF.md +0 -0
  116. /package/{templates → .agents/templates}/USAGE.md +0 -0
  117. /package/{templates → .agents/templates}/agent-python/README.md +0 -0
  118. /package/{templates → .agents/templates}/agent-python/agent.py +0 -0
  119. /package/{templates → .agents/templates}/agent-python/config.yaml +0 -0
  120. /package/{templates → .agents/templates}/agent-python/prompts/system.md +0 -0
  121. /package/{templates → .agents/templates}/agent-python/requirements.txt +0 -0
  122. /package/{templates → .agents/templates}/automation-n8n/README.md +0 -0
  123. /package/{templates → .agents/templates}/automation-n8n/webhook-handler.json +0 -0
  124. /package/{templates → .agents/templates}/backend-node/Dockerfile +0 -0
  125. /package/{templates → .agents/templates}/backend-node/README.md +0 -0
  126. /package/{templates → .agents/templates}/backend-node/src/index.ts +0 -0
  127. /package/{templates → .agents/templates}/backend-node/src/routes.ts +0 -0
  128. /package/{templates → .agents/templates}/backend-node/tsconfig.json +0 -0
  129. /package/{templates → .agents/templates}/backend-python/Dockerfile +0 -0
  130. /package/{templates → .agents/templates}/backend-python/README.md +0 -0
  131. /package/{templates → .agents/templates}/backend-python/app/core/config.py +0 -0
  132. /package/{templates → .agents/templates}/backend-python/app/core/database.py +0 -0
  133. /package/{templates → .agents/templates}/backend-python/app/main.py +0 -0
  134. /package/{templates → .agents/templates}/backend-python/app/routers/__init__.py +0 -0
  135. /package/{templates → .agents/templates}/backend-python/app/routers/health.py +0 -0
  136. /package/{templates → .agents/templates}/backend-python/requirements-dev.txt +0 -0
  137. /package/{templates → .agents/templates}/backend-python/requirements.txt +0 -0
  138. /package/{templates → .agents/templates}/backend-python/tests/test_health.py +0 -0
  139. /package/{templates → .agents/templates}/checkpoint.yaml +0 -0
  140. /package/{templates → .agents/templates}/database/README.md +0 -0
  141. /package/{templates → .agents/templates}/frontend-react/README.md +0 -0
  142. /package/{templates → .agents/templates}/plan.yaml +0 -0
  143. /package/{templates → .agents/templates}/session.yaml +0 -0
  144. /package/{templates → .agents/templates}/tasks.yaml +0 -0
  145. /package/{workflows → .agents/workflows}/documentation.md +0 -0
  146. /package/{workflows → .agents/workflows}/generate-prd.md +0 -0
  147. /package/{workflows → .agents/workflows}/ideation.md +0 -0
  148. /package/{workflows → .agents/workflows}/optimize-performance.md +0 -0
  149. /package/{workflows → .agents/workflows}/resolve-github-issue.md +0 -0
  150. /package/{workflows → .agents/workflows}/security-review.md +0 -0
  151. /package/{workflows → .agents/workflows}/testing-strategy.md +0 -0
  152. /package/{workflows → .agents/workflows}/third-party-integration.md +0 -0
package/install.js CHANGED
@@ -12,12 +12,12 @@ const gradient = require('gradient-string');
12
12
  const program = new Command();
13
13
 
14
14
  // Configuración: Directorios fuente del paquete
15
- const PACKAGE_SKILLS_DIR = path.join(__dirname, 'skills');
16
- const PACKAGE_RULES_DIR = path.join(__dirname, 'rules');
17
- const PACKAGE_WORKFLOWS_DIR = path.join(__dirname, 'workflows');
18
- const PACKAGE_CONFIG_DIR = path.join(__dirname, 'config');
19
- const PACKAGE_TEMPLATES_DIR = path.join(__dirname, 'templates');
20
- const PACKAGE_DOCS_DIR = path.join(__dirname, 'docs');
15
+ const PACKAGE_SKILLS_DIR = path.join(__dirname, '.agents', 'skills');
16
+ const PACKAGE_RULES_DIR = path.join(__dirname, '.agents', 'rules');
17
+ const PACKAGE_WORKFLOWS_DIR = path.join(__dirname, '.agents', 'workflows');
18
+ const PACKAGE_CONFIG_DIR = path.join(__dirname, '.agents', 'config');
19
+ const PACKAGE_TEMPLATES_DIR = path.join(__dirname, '.agents', 'templates');
20
+ const PACKAGE_DOCS_DIR = path.join(__dirname, '.agents', 'docs');
21
21
 
22
22
  // Archivos de proyecto que init copia a la raíz
23
23
  const INIT_FILES = [
@@ -32,111 +32,57 @@ const INIT_DIRS = [
32
32
  { src: 'workflows', desc: 'SOPs y Procedimientos' },
33
33
  ];
34
34
 
35
+ // Configuración: IDEs y Agentes soportados
35
36
  // Configuración: IDEs y Agentes soportados
36
37
  const IDE_CONFIGS = [
37
- // --- IDEs Principales ---
38
- {
39
- name: 'Cursor',
40
- value: 'cursor',
41
- rulesDir: '.cursor/rules',
42
- skillsDir: '.cursor/skills',
43
- workflowsDir: '.cursor/workflows',
44
- markerFile: '.cursorrules',
45
- forceCopy: true
46
- },
47
- {
48
- name: 'Windsurf',
49
- value: 'windsurf',
50
- rulesDir: '.windsurf/rules',
51
- skillsDir: '.windsurf/skills',
52
- workflowsDir: '.windsurf/workflows',
53
- markerFile: '.windsurf',
54
- forceCopy: true
55
- },
56
- {
57
- name: 'VSCode / GitHub Copilot',
58
- value: 'vscode',
59
- rulesDir: '.github/instructions',
60
- skillsDir: '.github/skills',
61
- workflowsDir: '.github/workflows',
62
- markerFile: '.vscode'
63
- },
64
- {
65
- name: 'Claude Code',
66
- value: 'claude',
67
- rulesDir: '.claude/rules',
68
- skillsDir: '.claude/skills',
69
- workflowsDir: '.claude/workflows',
70
- markerFile: '.claude',
71
- forceCopy: true
72
- },
73
- {
74
- name: 'Cline',
75
- value: 'cline',
76
- rulesDir: '.clinesrules',
77
- skillsDir: '.cline/skills',
78
- workflowsDir: '.cline/workflows',
79
- markerFile: '.clinesrules',
80
- forceCopy: true
81
- },
82
- {
83
- name: 'Roo Code',
84
- value: 'roo',
85
- rulesDir: '.roo/rules',
86
- skillsDir: '.roo/skills',
87
- workflowsDir: '.roo/workflows',
88
- markerFile: '.roo',
89
- forceCopy: true
90
- },
91
- {
92
- name: 'Trae',
93
- value: 'trae',
94
- rulesDir: '.trae/rules',
95
- skillsDir: '.trae/skills',
96
- workflowsDir: '.trae/workflows',
97
- markerFile: '.trae',
98
- forceCopy: true
99
- },
38
+ // --- IDEs & Tiers Principales (Auto-Detected) ---
39
+ { name: 'Cursor', value: 'cursor', rulesDir: '.cursor/rules', skillsDir: '.cursor/skills', workflowsDir: '.cursor/workflows', configFile: '.cursorrules', bridgeFile: 'lmagent.mdc', markerFile: '.cursorrules', forceCopy: true },
40
+ { name: 'Windsurf', value: 'windsurf', rulesDir: '.windsurf/rules', skillsDir: '.windsurf/skills', workflowsDir: '.windsurf/workflows', configFile: '.windsurfrules', bridgeFile: 'lmagent.md', markerFile: '.windsurfrules', forceCopy: true },
41
+ { name: 'Cline', value: 'cline', rulesDir: '.clinerules', skillsDir: '.cline/skills', workflowsDir: '.cline/workflows', configFile: null, bridgeFile: '00-lmagent.md', markerFile: '.clinerules', forceCopy: true },
42
+ { name: 'Roo Code', value: 'roo', rulesDir: '.clinerules', skillsDir: '.roo/skills', workflowsDir: '.roo/workflows', configFile: null, bridgeFile: '00-lmagent.md', markerFile: '.roo', forceCopy: true },
43
+ { name: 'VSCode Copilot', value: 'vscode', rulesDir: '.github/instructions', skillsDir: '.github/skills', workflowsDir: '.github/workflows', configFile: '.github/copilot-instructions.md', markerFile: '.vscode' },
44
+ { name: 'Trae', value: 'trae', rulesDir: '.trae/rules', skillsDir: '.trae/skills', workflowsDir: '.trae/workflows', configFile: null, bridgeFile: 'lmagent.md', markerFile: '.trae', forceCopy: true },
45
+ { name: 'Claude Code', value: 'claude', rulesDir: '.claude/rules', skillsDir: '.claude/skills', workflowsDir: '.claude/workflows', configFile: 'CLAUDE.md', markerFile: '.claude', forceCopy: true },
46
+
47
+ // --- Expanded Agent Support (Manual/Config Injection) ---
48
+ { name: 'Amp / Kimi / Replit', value: 'amp', rulesDir: '.agents/rules', skillsDir: '.agents/skills', workflowsDir: '.agents/workflows', configFile: null, markerFile: '.agents' },
49
+ { name: 'Antigravity', value: 'antigravity', rulesDir: '.agent/rules', skillsDir: '.agent/skills', workflowsDir: '.agent/workflows', configFile: null, markerFile: '.agent' },
50
+ { name: 'Augment', value: 'augment', rulesDir: '.augment/rules', skillsDir: '.augment/skills', workflowsDir: '.augment/workflows', configFile: null, markerFile: '.augment' },
51
+ { name: 'OpenClaw', value: 'openclaw', rulesDir: 'rules', skillsDir: 'skills', workflowsDir: 'workflows', configFile: null, markerFile: 'openclaw.yaml' },
52
+ { name: 'CodeBuddy', value: 'codebuddy', rulesDir: '.codebuddy/rules', skillsDir: '.codebuddy/skills', workflowsDir: '.codebuddy/workflows', configFile: null, markerFile: '.codebuddy' },
53
+ { name: 'Codex', value: 'codex', rulesDir: '.codex/rules', skillsDir: '.codex/skills', workflowsDir: '.codex/workflows', configFile: null, markerFile: '.codex' },
54
+ { name: 'Command Code', value: 'command-code', rulesDir: '.commandcode/rules', skillsDir: '.commandcode/skills', workflowsDir: '.commandcode/workflows', configFile: null, markerFile: '.commandcode' },
55
+ { name: 'Continue', value: 'continue', rulesDir: '.continue/rules', skillsDir: '.continue/skills', workflowsDir: '.continue/workflows', configFile: null, bridgeFile: '00-lmagent.md', markerFile: '.continue' },
56
+ { name: 'Crush', value: 'crush', rulesDir: '.crush/rules', skillsDir: '.crush/skills', workflowsDir: '.crush/workflows', configFile: null, markerFile: '.crush' },
57
+ { name: 'Droid', value: 'droid', rulesDir: '.factory/rules', skillsDir: '.factory/skills', workflowsDir: '.factory/workflows', configFile: null, markerFile: '.factory' },
58
+ { name: 'Gemini CLI', value: 'gemini', rulesDir: '.agents/rules', skillsDir: '.agents/skills', workflowsDir: '.agents/workflows', configFile: null, markerFile: '.gemini' },
59
+ { name: 'Goose', value: 'goose', rulesDir: '.goose/rules', skillsDir: '.goose/skills', workflowsDir: '.goose/workflows', configFile: null, bridgeFile: 'lmagent.md', markerFile: '.goose' },
60
+ { name: 'Junie', value: 'junie', rulesDir: '.junie/rules', skillsDir: '.junie/skills', workflowsDir: '.junie/workflows', configFile: null, markerFile: '.junie' },
61
+ { name: 'iFlow CLI', value: 'iflow', rulesDir: '.iflow/rules', skillsDir: '.iflow/skills', workflowsDir: '.iflow/workflows', configFile: null, markerFile: '.iflow' },
62
+ { name: 'Kilo Code', value: 'kilo', rulesDir: '.kilocode/rules', skillsDir: '.kilocode/skills', workflowsDir: '.kilocode/workflows', configFile: null, markerFile: '.kilocode' },
63
+ { name: 'Kiro CLI', value: 'kiro', rulesDir: '.kiro/rules', skillsDir: '.kiro/skills', workflowsDir: '.kiro/workflows', configFile: null, markerFile: '.kiro' },
64
+ { name: 'Kode', value: 'kode', rulesDir: '.kode/rules', skillsDir: '.kode/skills', workflowsDir: '.kode/workflows', configFile: null, markerFile: '.kode' },
65
+ { name: 'MCPJam', value: 'mcpjam', rulesDir: '.mcpjam/rules', skillsDir: '.mcpjam/skills', workflowsDir: '.mcpjam/workflows', configFile: null, markerFile: '.mcpjam' },
66
+ { name: 'Mistral Vibe', value: 'mistral', rulesDir: '.vibe/rules', skillsDir: '.vibe/skills', workflowsDir: '.vibe/workflows', configFile: null, markerFile: '.vibe' },
67
+ { name: 'Mux', value: 'mux', rulesDir: '.mux/rules', skillsDir: '.mux/skills', workflowsDir: '.mux/workflows', configFile: null, markerFile: '.mux' },
68
+ { name: 'OpenCode', value: 'opencode', rulesDir: '.opencode/rules', skillsDir: '.opencode/skills', workflowsDir: '.opencode/workflows', configFile: null, markerFile: '.opencode' },
69
+ { name: 'OpenHands', value: 'openhands', rulesDir: '.openhands/microagents', skillsDir: '.openhands/skills', workflowsDir: '.openhands/workflows', configFile: null, bridgeFile: 'repo.md', markerFile: '.openhands' },
70
+ { name: 'Pi', value: 'pi', rulesDir: '.pi/rules', skillsDir: '.pi/skills', workflowsDir: '.pi/workflows', configFile: null, markerFile: '.pi' },
71
+ { name: 'Qoder', value: 'qoder', rulesDir: '.qoder/rules', skillsDir: '.qoder/skills', workflowsDir: '.qoder/workflows', configFile: null, markerFile: '.qoder' },
72
+ { name: 'Qwen Code', value: 'qwen', rulesDir: '.qwen/rules', skillsDir: '.qwen/skills', workflowsDir: '.qwen/workflows', configFile: null, markerFile: '.qwen' },
73
+ { name: 'Trae CN', value: 'trae-cn', rulesDir: '.trae-cn/rules', skillsDir: '.trae-cn/skills', workflowsDir: '.trae-cn/workflows', configFile: null, bridgeFile: 'lmagent.md', markerFile: '.trae-cn' },
74
+ { name: 'Zencoder', value: 'zencoder', rulesDir: '.zencoder/rules', skillsDir: '.zencoder/skills', workflowsDir: '.zencoder/workflows', configFile: null, markerFile: '.zencoder' },
75
+ { name: 'Neovate', value: 'neovate', rulesDir: '.neovate/rules', skillsDir: '.neovate/skills', workflowsDir: '.neovate/workflows', configFile: null, markerFile: '.neovate' },
76
+ { name: 'Pochi', value: 'pochi', rulesDir: '.pochi/rules', skillsDir: '.pochi/skills', workflowsDir: '.pochi/workflows', configFile: null, markerFile: '.pochi' },
77
+ { name: 'AdaL', value: 'adal', rulesDir: '.adal/rules', skillsDir: '.adal/skills', workflowsDir: '.adal/workflows', configFile: null, markerFile: '.adal' },
100
78
 
101
- // --- Otros Agentes ---
102
- {
103
- name: 'Antigravity',
104
- value: 'antigravity',
105
- rulesDir: '.agent/rules',
106
- skillsDir: '.agent/skills',
107
- workflowsDir: '.agent/workflows',
108
- markerFile: '.agent'
109
- },
110
- {
111
- name: 'Amp / Kimi / Replit',
112
- value: 'amp',
113
- rulesDir: '.agents/rules',
114
- skillsDir: '.agents/skills',
115
- workflowsDir: '.agents/workflows',
116
- markerFile: '.agents'
117
- },
118
- {
119
- name: 'Augment',
120
- value: 'augment',
121
- rulesDir: '.augment/rules',
122
- skillsDir: '.augment/skills',
123
- workflowsDir: '.augment/workflows',
124
- markerFile: '.augment'
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
79
  {
135
80
  name: 'Gemini CLI',
136
81
  value: 'gemini',
137
82
  rulesDir: '.agents/rules',
138
83
  skillsDir: '.gemini/skills',
139
84
  workflowsDir: '.agents/workflows',
85
+ configFile: '.gemini/config',
140
86
  markerFile: '.gemini'
141
87
  },
142
88
  {
@@ -145,6 +91,7 @@ const IDE_CONFIGS = [
145
91
  rulesDir: '.continue/rules',
146
92
  skillsDir: '.continue/skills',
147
93
  workflowsDir: '.continue/workflows',
94
+ configFile: '.continue/config.json',
148
95
  markerFile: '.continue'
149
96
  },
150
97
  {
@@ -153,6 +100,7 @@ const IDE_CONFIGS = [
153
100
  rulesDir: '.agents/rules',
154
101
  skillsDir: '.config/opencode/skills',
155
102
  workflowsDir: '.agents/workflows',
103
+ configFile: '.opencode/config',
156
104
  markerFile: '.opencode'
157
105
  },
158
106
  {
@@ -161,6 +109,7 @@ const IDE_CONFIGS = [
161
109
  rulesDir: '.openhands/rules',
162
110
  skillsDir: '.openhands/skills',
163
111
  workflowsDir: '.openhands/workflows',
112
+ configFile: '.openhands/config',
164
113
  markerFile: '.openhands'
165
114
  },
166
115
  {
@@ -169,6 +118,7 @@ const IDE_CONFIGS = [
169
118
  rulesDir: '.goose/rules',
170
119
  skillsDir: '.goose/skills',
171
120
  workflowsDir: '.goose/workflows',
121
+ configFile: '.goose/config',
172
122
  markerFile: '.goose'
173
123
  },
174
124
  {
@@ -177,6 +127,7 @@ const IDE_CONFIGS = [
177
127
  rulesDir: '.vibe/rules',
178
128
  skillsDir: '.vibe/skills',
179
129
  workflowsDir: '.vibe/workflows',
130
+ configFile: '.vibe/config',
180
131
  markerFile: '.vibe'
181
132
  },
182
133
  {
@@ -185,6 +136,7 @@ const IDE_CONFIGS = [
185
136
  rulesDir: '.rules',
186
137
  skillsDir: '.rules/skills',
187
138
  workflowsDir: '.rules/workflows',
139
+ configFile: '.rules/config',
188
140
  markerFile: '.zed'
189
141
  },
190
142
  {
@@ -193,6 +145,7 @@ const IDE_CONFIGS = [
193
145
  rulesDir: 'rules',
194
146
  skillsDir: 'skills',
195
147
  workflowsDir: 'workflows',
148
+ configFile: 'openclaw.json',
196
149
  markerFile: 'openclaw.json'
197
150
  },
198
151
  {
@@ -201,6 +154,7 @@ const IDE_CONFIGS = [
201
154
  rulesDir: '.codebuddy/rules',
202
155
  skillsDir: '.codebuddy/skills',
203
156
  workflowsDir: '.codebuddy/workflows',
157
+ configFile: '.codebuddy/config',
204
158
  markerFile: '.codebuddy',
205
159
  forceCopy: true
206
160
  },
@@ -210,6 +164,7 @@ const IDE_CONFIGS = [
210
164
  rulesDir: '.commandcode/rules',
211
165
  skillsDir: '.commandcode/skills',
212
166
  workflowsDir: '.commandcode/workflows',
167
+ configFile: '.commandcode/config',
213
168
  markerFile: '.commandcode'
214
169
  },
215
170
  {
@@ -218,6 +173,7 @@ const IDE_CONFIGS = [
218
173
  rulesDir: '.crush/rules',
219
174
  skillsDir: '.crush/skills',
220
175
  workflowsDir: '.crush/workflows',
176
+ configFile: '.crush/config',
221
177
  markerFile: '.crush'
222
178
  },
223
179
  {
@@ -226,6 +182,7 @@ const IDE_CONFIGS = [
226
182
  rulesDir: '.factory/rules',
227
183
  skillsDir: '.factory/skills',
228
184
  workflowsDir: '.factory/workflows',
185
+ configFile: '.factory/config',
229
186
  markerFile: '.factory'
230
187
  },
231
188
  {
@@ -234,6 +191,7 @@ const IDE_CONFIGS = [
234
191
  rulesDir: '.junie/rules',
235
192
  skillsDir: '.junie/skills',
236
193
  workflowsDir: '.junie/workflows',
194
+ configFile: '.junie/config',
237
195
  markerFile: '.junie'
238
196
  },
239
197
  {
@@ -242,6 +200,7 @@ const IDE_CONFIGS = [
242
200
  rulesDir: '.iflow/rules',
243
201
  skillsDir: '.iflow/skills',
244
202
  workflowsDir: '.iflow/workflows',
203
+ configFile: '.iflow/config',
245
204
  markerFile: '.iflow'
246
205
  },
247
206
  {
@@ -250,6 +209,7 @@ const IDE_CONFIGS = [
250
209
  rulesDir: '.kilocode/rules',
251
210
  skillsDir: '.kilocode/skills',
252
211
  workflowsDir: '.kilocode/workflows',
212
+ configFile: '.kilocode/config',
253
213
  markerFile: '.kilocode'
254
214
  },
255
215
  {
@@ -258,6 +218,7 @@ const IDE_CONFIGS = [
258
218
  rulesDir: '.kiro/rules',
259
219
  skillsDir: '.kiro/skills',
260
220
  workflowsDir: '.kiro/workflows',
221
+ configFile: '.kiro/config',
261
222
  markerFile: '.kiro'
262
223
  },
263
224
  {
@@ -266,6 +227,7 @@ const IDE_CONFIGS = [
266
227
  rulesDir: '.kode/rules',
267
228
  skillsDir: '.kode/skills',
268
229
  workflowsDir: '.kode/workflows',
230
+ configFile: '.kode/config',
269
231
  markerFile: '.kode'
270
232
  },
271
233
  {
@@ -274,6 +236,7 @@ const IDE_CONFIGS = [
274
236
  rulesDir: '.mcpjam/rules',
275
237
  skillsDir: '.mcpjam/skills',
276
238
  workflowsDir: '.mcpjam/workflows',
239
+ configFile: '.mcpjam/config',
277
240
  markerFile: '.mcpjam'
278
241
  },
279
242
  {
@@ -282,6 +245,7 @@ const IDE_CONFIGS = [
282
245
  rulesDir: '.mux/rules',
283
246
  skillsDir: '.mux/skills',
284
247
  workflowsDir: '.mux/workflows',
248
+ configFile: '.mux/config',
285
249
  markerFile: '.mux'
286
250
  },
287
251
  {
@@ -290,6 +254,7 @@ const IDE_CONFIGS = [
290
254
  rulesDir: '.pi/rules',
291
255
  skillsDir: '.pi/skills',
292
256
  workflowsDir: '.pi/workflows',
257
+ configFile: '.pi/config',
293
258
  markerFile: '.pi'
294
259
  },
295
260
  {
@@ -298,6 +263,7 @@ const IDE_CONFIGS = [
298
263
  rulesDir: '.qoder/rules',
299
264
  skillsDir: '.qoder/skills',
300
265
  workflowsDir: '.qoder/workflows',
266
+ configFile: '.qoder/config',
301
267
  markerFile: '.qoder'
302
268
  },
303
269
  {
@@ -306,6 +272,7 @@ const IDE_CONFIGS = [
306
272
  rulesDir: '.qwen/rules',
307
273
  skillsDir: '.qwen/skills',
308
274
  workflowsDir: '.qwen/workflows',
275
+ configFile: '.qwen/config',
309
276
  markerFile: '.qwen'
310
277
  },
311
278
  {
@@ -314,6 +281,7 @@ const IDE_CONFIGS = [
314
281
  rulesDir: '.trae-cn/rules',
315
282
  skillsDir: '.trae-cn/skills',
316
283
  workflowsDir: '.trae-cn/workflows',
284
+ configFile: '.trae-cn/config',
317
285
  markerFile: '.trae-cn'
318
286
  },
319
287
  {
@@ -322,6 +290,7 @@ const IDE_CONFIGS = [
322
290
  rulesDir: '.zencoder/rules',
323
291
  skillsDir: '.zencoder/skills',
324
292
  workflowsDir: '.zencoder/workflows',
293
+ configFile: '.zencoder/config',
325
294
  markerFile: '.zencoder'
326
295
  },
327
296
  {
@@ -330,6 +299,7 @@ const IDE_CONFIGS = [
330
299
  rulesDir: '.neovate/rules',
331
300
  skillsDir: '.neovate/skills',
332
301
  workflowsDir: '.neovate/workflows',
302
+ configFile: '.neovate/config',
333
303
  markerFile: '.neovate'
334
304
  },
335
305
  {
@@ -338,6 +308,7 @@ const IDE_CONFIGS = [
338
308
  rulesDir: '.pochi/rules',
339
309
  skillsDir: '.pochi/skills',
340
310
  workflowsDir: '.pochi/workflows',
311
+ configFile: '.pochi/config',
341
312
  markerFile: '.pochi'
342
313
  },
343
314
  {
@@ -346,6 +317,7 @@ const IDE_CONFIGS = [
346
317
  rulesDir: '.adal/rules',
347
318
  skillsDir: '.adal/skills',
348
319
  workflowsDir: '.adal/workflows',
320
+ configFile: '.adal/config',
349
321
  markerFile: '.adal'
350
322
  },
351
323
  {
@@ -354,6 +326,7 @@ const IDE_CONFIGS = [
354
326
  rulesDir: '.agents/rules',
355
327
  skillsDir: '.agents/skills',
356
328
  workflowsDir: '.agents/workflows',
329
+ configFile: 'AGENTS.md',
357
330
  markerFile: '.agents'
358
331
  },
359
332
  {
@@ -369,7 +342,7 @@ const IDE_CONFIGS = [
369
342
  program
370
343
  .name('lmagent')
371
344
  .description('CLI para instalar skills y reglas de LMAgent')
372
- .version('2.7.0'); // Version bump
345
+ .version('3.0.0');
373
346
 
374
347
  program.command('install')
375
348
  .description('Instalar skills, rules y workflows en el IDE del proyecto')
@@ -507,8 +480,8 @@ async function runInstall(options) {
507
480
  name: 'target',
508
481
  message: '¿Dónde quieres instalar los artefactos?',
509
482
  choices: [
510
- { name: 'En mi Usuario / Global IDE Config (~/) (Recomendado)', value: 'user' },
511
- { name: 'En este Proyecto (./)', value: 'project' }
483
+ { name: 'En este Proyecto (./) (Recomendado)', value: 'project' },
484
+ { name: 'En mi Usuario / Global IDE Config (~/) (No Recomendado - Sin Contexto)', value: 'user' }
512
485
  ]
513
486
  }
514
487
  ]);
@@ -674,6 +647,147 @@ async function runInstall(options) {
674
647
  }
675
648
  }
676
649
 
650
+ // 4. Generate/Update Global Config File (Bootstrap)
651
+ let bootstrapStatus = 'SKIP';
652
+ if (ide.configFile) {
653
+ // Safety: Don't inject Markdown into JSON/YAML
654
+ if (ide.configFile.endsWith('.json') || ide.configFile.endsWith('.yaml') || ide.configFile.endsWith('.yml')) {
655
+ // console.log(chalk.gray(` ℹ Skipping bootstrap for ${ide.name} (Structured Config)`));
656
+ bootstrapStatus = 'SKIP';
657
+ } else {
658
+ const configPath = path.join(targetRoot, ide.configFile);
659
+ const relativeRulesPath = getRelLink(ide.configFile, '.agents/rules/00-master.md');
660
+ const relativeCatalogPath = getRelLink(ide.configFile, 'AGENTS.md');
661
+ const relativeContextPath = getRelLink(ide.configFile, 'CLAUDE.md');
662
+
663
+ // console.log(chalk.bold(`\nConfiguring ${ide.name} auto-detect:`));
664
+ try {
665
+ let content = `
666
+ # 🤖 LMAgent Framework v3.0.0
667
+ > Contexto Activo: Este proyecto utiliza el estándar LMAgent V3.
668
+
669
+ ## 🚨 SOURCE OF TRUTH (CEREBRO)
670
+ **TU CONTEXTO Y REGLAS VIVEN AQUÍ 👉 [AGENTS.md](${relativeCatalogPath})**
671
+ *Lee este archivo INMEDIATAMENTE para obtener tu identidad, skills y reglas operativas.*
672
+
673
+ ## ⚡ QUICK START TRIGGERS (Menu Rápido)
674
+ Use estos comandos para activar su rol. Para detalles, consulte \`AGENTS.md\`.
675
+
676
+ | Trigger | Rol / Skill | Objetivo |
677
+ |:--- |:--- |:--- |
678
+ | \`/orch\` | **Orchestrator** | Clasificar y delegar. |
679
+ | \`/dev\` | **Backend** | APIs y Lógica. |
680
+ | \`/front\` | **Frontend** | UI/UX, React. |
681
+ | \`/pm\` | **Product** | PRDs y Roadmap. |
682
+ | \`/fix\` | **Debugger** | Análisis de bugs. |
683
+ | \`/arch\` | **Architect** | Diseño de sistemas. |
684
+
685
+ !! SYSTEM NOTE: Read AGENTS.md to understand how to execute these roles. !!
686
+ `;
687
+ // If file exists, check if we need to append
688
+ if (fs.existsSync(configPath)) {
689
+ // Check if it's a directory (Edge case: Cline legacy folders)
690
+ if (fs.statSync(configPath).isDirectory()) {
691
+ console.error(chalk.red(` ❌ Cannot bootstrap ${ide.configFile}: Is a directory.`));
692
+ bootstrapStatus = 'ERROR';
693
+ } else {
694
+ const existingContent = fs.readFileSync(configPath, 'utf8');
695
+ if (!existingContent.includes('QUICK START TRIGGERS')) {
696
+ fs.appendFileSync(configPath, '\n' + content);
697
+ bootstrapStatus = 'UPDATED';
698
+ } else {
699
+ bootstrapStatus = 'OK';
700
+ }
701
+ }
702
+ } else {
703
+ // Create parent dir if needed (for .github/copilot... etc)
704
+ if (!fs.existsSync(path.dirname(configPath))) fs.mkdirSync(path.dirname(configPath), { recursive: true });
705
+ fs.writeFileSync(configPath, content);
706
+ bootstrapStatus = 'CREATED';
707
+ }
708
+ } catch (e) {
709
+ console.error(chalk.red(` ❌ Error bootstrapping ${ide.name}: ${e.message}`));
710
+ bootstrapStatus = 'ERROR';
711
+ }
712
+ }
713
+ }
714
+
715
+ if (bootstrapStatus !== 'SKIP' && bootstrapStatus !== 'OK') {
716
+ console.log(` ${bootstrapStatus === 'CREATED' ? chalk.green('✔') : chalk.blue('ℹ')} ${ide.name} Bootstrap: ${bootstrapStatus}`);
717
+ }
718
+
719
+ // 4.1 Generate Bridge Rule if supported
720
+ const bridgeFile = ide.bridgeFile || 'lmagent.md';
721
+ if (ide.rulesDir && bridgeFile) {
722
+ const bridgePath = path.join(targetRoot, ide.rulesDir, bridgeFile);
723
+ const relativeBridgeToRoot = path.join(ide.rulesDir, bridgeFile);
724
+ const relContext = getRelLink(relativeBridgeToRoot, 'CLAUDE.md');
725
+ const relCatalog = getRelLink(relativeBridgeToRoot, 'AGENTS.md');
726
+ const relRules = getRelLink(relativeBridgeToRoot, '.agents/rules/00-master.md');
727
+
728
+ let bridgeContent = '';
729
+
730
+ if (bridgeFile.endsWith('.mdc')) {
731
+ // Cursor MDC Format
732
+ bridgeContent = `---
733
+ description: LMAgent Framework Entry Point - Use this rule to understand how to interact with the project skills and rules.
734
+ globs: **/*
735
+ ---
736
+
737
+ # 🤖 LMAgent Bridge Rule
738
+
739
+ Este proyecto está potenciado por **LMAgent v3.0.0**.
740
+
741
+ ## 🚨 SOURCE OF TRUTH (CEREBRO)
742
+ **TU CONTEXTO Y REGLAS VIVEN AQUÍ 👉 [AGENTS.md](${relCatalog})**
743
+ *Lee este archivo INMEDIATAMENTE para obtener tu identidad, skills y reglas operativas.*
744
+
745
+ ## ⚡ QUICK START TRIGGERS (Menu Rápido)
746
+ Use estos comandos para activar su rol. Para detalles, consulte \`AGENTS.md\`.
747
+
748
+ | Trigger | Rol / Skill | Objetivo |
749
+ |:--- |:--- |:--- |
750
+ | \`/orch\` | **Orchestrator** | Clasificar y delegar. |
751
+ | \`/dev\` | **Backend** | APIs y Lógica. |
752
+ | \`/front\` | **Frontend** | UI/UX, React. |
753
+ | \`/pm\` | **Product** | PRDs y Roadmap. |
754
+ | \`/fix\` | **Debugger** | Análisis de bugs. |
755
+ | \`/arch\` | **Architect** | Diseño de sistemas. |
756
+
757
+ !! SYSTEM NOTE: Read AGENTS.md to understand how to execute these roles. !!
758
+ `;
759
+ } else {
760
+ // Standard Markdown (Universal & Cline/Windsurf)
761
+ bridgeContent = `# 🤖 LMAgent Framework Entry Point
762
+
763
+ Este proyecto utiliza **LMAgent v3.0.0**.
764
+
765
+ ## 🚨 SOURCE OF TRUTH (CEREBRO)
766
+ **TU CONTEXTO Y REGLAS VIVEN AQUÍ 👉 [AGENTS.md](${relCatalog})**
767
+ *Lee este archivo INMEDIATAMENTE para obtener tu identidad, skills y reglas operativas.*
768
+
769
+ ## ⚡ QUICK START TRIGGERS (Menu Rápido)
770
+ Use estos comandos para activar su rol. Para detalles, consulte \`AGENTS.md\`.
771
+
772
+ | Trigger | Rol / Skill | Objetivo |
773
+ |:--- |:--- |:--- |
774
+ | \`/orch\` | **Orchestrator** | Clasificar y delegar. |
775
+ | \`/dev\` | **Backend** | APIs y Lógica. |
776
+ | \`/front\` | **Frontend** | UI/UX, React. |
777
+ | \`/pm\` | **Product** | PRDs y Roadmap. |
778
+ | \`/fix\` | **Debugger** | Análisis de bugs. |
779
+ | \`/arch\` | **Architect** | Diseño de sistemas. |
780
+ `;
781
+ }
782
+
783
+ try {
784
+ if (!fs.existsSync(path.dirname(bridgePath))) fs.mkdirSync(path.dirname(bridgePath), { recursive: true });
785
+ fs.writeFileSync(bridgePath, bridgeContent);
786
+ console.log(` ${chalk.green('✔')} ${ide.name} Bridge Rule: ${bridgeFile}`);
787
+ } catch (e) {
788
+ console.error(chalk.red(` ❌ Error creating bridge for ${ide.name}: ${e.message}`));
789
+ }
790
+ }
677
791
  // 2. Install RULES (Files)
678
792
  if (selectedRules.length > 0 && ide.rulesDir) {
679
793
  const targetDir = path.join(targetRoot, ide.rulesDir);
@@ -865,6 +979,7 @@ async function runInit(options) {
865
979
  console.log(gradient.cristal(' by QuBit\n'));
866
980
 
867
981
  const projectRoot = process.cwd();
982
+ const targetRoot = projectRoot; // Fix for ReferenceError in runInit
868
983
  console.log(chalk.cyan(`📦 Inicializando proyecto LMAgent en: ${chalk.bold(projectRoot)}\n`));
869
984
 
870
985
  // Verificar si ya está inicializado
@@ -1017,7 +1132,7 @@ DEBUG=true
1017
1132
  }
1018
1133
 
1019
1134
  // Resumen
1020
- console.log(gradient.pastel.multiline('\n✨ Proyecto inicializado con LMAgent v2.7.0 ✨'));
1135
+ console.log(gradient.pastel.multiline('\n✨ Proyecto inicializado con LMAgent v3.0.0 ✨'));
1021
1136
  console.log('');
1022
1137
  console.log(chalk.cyan('Próximos pasos:'));
1023
1138
  console.log(` 1. ${chalk.bold('lmagent install')} - Instalar skills/rules/workflows en tu IDE`);
@@ -1162,6 +1277,14 @@ async function runDoctor() {
1162
1277
  }
1163
1278
  }
1164
1279
 
1280
+ // Helper: Calculate relative Markdown link
1281
+ function getRelLink(fromRelPath, toRelPath) {
1282
+ const fromDir = path.dirname(fromRelPath);
1283
+ let rel = path.relative(fromDir, toRelPath);
1284
+ if (!rel.startsWith('.')) rel = './' + rel;
1285
+ return rel.replace(/\\/g, '/'); // Force forward slashes for Markdown
1286
+ }
1287
+
1165
1288
  // Helper: Contar archivos recursivamente
1166
1289
  function getAllItemsFlat(dir) {
1167
1290
  let results = [];
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.7.0",
6
+ "version": "3.0.0",
7
7
  "files": [
8
8
  "install.js",
9
9
  "README.md",
@@ -11,15 +11,9 @@
11
11
  "AGENTS.md",
12
12
  "CLAUDE.md",
13
13
  "CONTRIBUTING.md",
14
- "config",
15
- "docs",
16
- "rules",
17
- "scripts",
18
- "skills",
19
- "templates",
20
- "workflows"
14
+ ".agents"
21
15
  ],
22
- "description": "CLI to install LMAgent skills and rules into your IDE",
16
+ "description": "Universal Agent Compatibility Layer & Rules Framework (See AGENTS.md)",
23
17
  "main": "install.js",
24
18
  "bin": {
25
19
  "lmagent-skills": "install.js",
@@ -33,9 +27,46 @@
33
27
  "ai",
34
28
  "agent",
35
29
  "skills",
30
+ "ide",
36
31
  "cursor",
37
32
  "windsurf",
38
- "ide"
33
+ "amp",
34
+ "antigravity",
35
+ "augment",
36
+ "claude-code",
37
+ "openclaw",
38
+ "cline",
39
+ "codebuddy",
40
+ "codex",
41
+ "command-code",
42
+ "continue",
43
+ "crush",
44
+ "droid",
45
+ "gemini-cli",
46
+ "github-copilot",
47
+ "goose",
48
+ "junie",
49
+ "iflow-cli",
50
+ "kilo",
51
+ "kimi-cli",
52
+ "kiro-cli",
53
+ "kode",
54
+ "mcpjam",
55
+ "mistral-vibe",
56
+ "mux",
57
+ "opencode",
58
+ "openhands",
59
+ "pi",
60
+ "qoder",
61
+ "qwen-code",
62
+ "replit",
63
+ "roo",
64
+ "trae",
65
+ "trae-cn",
66
+ "zencoder",
67
+ "neovate",
68
+ "pochi",
69
+ "adal"
39
70
  ],
40
71
  "author": "Leandro Martín Alvarez (QuBiit)",
41
72
  "license": "MIT",
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes