@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.
- package/{config → .agents/config}/models.yaml +1 -1
- package/{config → .agents/config}/settings.yaml +1 -1
- package/{docs → .agents/docs}/getting-started.md +1 -1
- package/{docs → .agents/docs}/how-to-start.md +1 -1
- package/{rules/_bootstrap.md → .agents/rules/00-master.md} +16 -15
- package/{rules/workflow.md → .agents/rules/01-workflow.md} +5 -22
- package/{rules/stack.md → .agents/rules/02-tech-stack.md} +1 -1
- package/{rules/code-style.md → .agents/rules/03-code-style.md} +12 -1
- package/{rules/security.md → .agents/rules/04-security.md} +10 -8
- package/{rules/testing.md → .agents/rules/05-testing.md} +6 -4
- package/{rules/api-design.md → .agents/rules/06-api-design.md} +1 -1
- package/{rules/documentation.md → .agents/rules/07-documentation.md} +8 -8
- package/{rules/agents-ia.md → .agents/rules/08-agents-ai.md} +11 -7
- package/{rules/automations-n8n.md → .agents/rules/09-automations.md} +1 -1
- package/.agents/rules/10-git-flow.md +122 -0
- package/{scripts → .agents/scripts}/create_skill.js +3 -3
- package/{scripts → .agents/scripts}/validate_skills.js +6 -5
- package/{skills → .agents/skills}/ai-agent-engineer/SKILL.md +394 -394
- package/{skills → .agents/skills}/api-designer/SKILL.md +1 -1
- package/{skills → .agents/skills}/architect/SKILL.md +285 -285
- package/{skills → .agents/skills}/automation-engineer/SKILL.md +352 -352
- package/{skills → .agents/skills}/backend-engineer/SKILL.md +261 -261
- package/{skills → .agents/skills}/bmad-methodology/SKILL.md +202 -202
- package/{skills → .agents/skills}/browser-agent/SKILL.md +1 -1
- package/{skills → .agents/skills}/code-reviewer/SKILL.md +1 -1
- package/{skills → .agents/skills}/data-engineer/SKILL.md +474 -474
- package/{skills → .agents/skills}/devops-engineer/SKILL.md +547 -547
- package/{skills → .agents/skills}/document-generator/SKILL.md +1 -1
- package/{skills → .agents/skills}/frontend-engineer/SKILL.md +532 -532
- package/{skills → .agents/skills}/git-workflow/SKILL.md +1 -1
- package/{skills → .agents/skills}/mcp-builder/SKILL.md +1 -1
- package/{skills → .agents/skills}/mobile-engineer/SKILL.md +502 -502
- package/{skills → .agents/skills}/orchestrator/SKILL.md +246 -246
- package/{skills → .agents/skills}/performance-engineer/SKILL.md +549 -549
- package/{skills → .agents/skills}/product-manager/SKILL.md +488 -488
- package/{skills → .agents/skills}/prompt-engineer/SKILL.md +433 -433
- package/{skills → .agents/skills}/qa-engineer/SKILL.md +441 -441
- package/{skills → .agents/skills}/scrum-master/SKILL.md +225 -225
- package/{skills → .agents/skills}/security-analyst/SKILL.md +390 -390
- package/{skills → .agents/skills}/seo-auditor/SKILL.md +1 -1
- package/{skills → .agents/skills}/spec-driven-dev/SKILL.md +342 -342
- package/{skills → .agents/skills}/supabase-expert/SKILL.md +1 -1
- package/{skills → .agents/skills}/swe-agent/SKILL.md +311 -311
- package/{skills → .agents/skills}/systematic-debugger/SKILL.md +1 -1
- package/{skills → .agents/skills}/tech-lead/SKILL.md +409 -409
- package/{skills → .agents/skills}/technical-writer/SKILL.md +631 -631
- package/{skills → .agents/skills}/testing-strategist/SKILL.md +1 -1
- package/{skills → .agents/skills}/ux-ui-designer/SKILL.md +419 -419
- package/{templates → .agents/templates}/SKILL_TEMPLATE.md +2 -2
- package/{templates → .agents/templates}/backend-node/package.json +1 -1
- package/{templates → .agents/templates}/spec.yaml +1 -1
- package/{workflows → .agents/workflows}/bugfix-backend.md +1 -1
- package/{workflows → .agents/workflows}/new-agent-ia.md +1 -1
- package/{workflows → .agents/workflows}/new-automation.md +1 -1
- package/{workflows → .agents/workflows}/new-feature.md +1 -1
- package/{workflows → .agents/workflows}/spec-driven.md +1 -1
- package/AGENTS.md +177 -196
- package/CLAUDE.md +12 -152
- package/CONTRIBUTING.md +9 -9
- package/README.md +29 -2
- package/install.js +229 -106
- package/package.json +41 -10
- package/docs/assets/logo.png +0 -0
- /package/{config → .agents/config}/commands.yaml +0 -0
- /package/{config → .agents/config}/levels.yaml +0 -0
- /package/{config → .agents/config}/tools-extended.yaml +0 -0
- /package/{config → .agents/config}/tools.yaml +0 -0
- /package/{docs → .agents/docs}/commands.md +0 -0
- /package/{docs → .agents/docs}/customization-guide.md +0 -0
- /package/{docs → .agents/docs}/navigation-index.md +0 -0
- /package/{docs → .agents/docs}/usage-guide.md +0 -0
- /package/{skills → .agents/skills}/ai-agent-engineer/references/agent-patterns.md +0 -0
- /package/{skills → .agents/skills}/api-designer/references/api-standards.md +0 -0
- /package/{skills → .agents/skills}/architect/references/c4-model.md +0 -0
- /package/{skills → .agents/skills}/automation-engineer/references/n8n-patterns.md +0 -0
- /package/{skills → .agents/skills}/backend-engineer/assets/fastapi-project-structure.yaml +0 -0
- /package/{skills → .agents/skills}/backend-engineer/references/debugging-guide.md +0 -0
- /package/{skills → .agents/skills}/backend-engineer/references/design-patterns.md +0 -0
- /package/{skills → .agents/skills}/backend-engineer/scripts/scaffold_backend.py +0 -0
- /package/{skills → .agents/skills}/bmad-methodology/references/scale-adaptive-levels.md +0 -0
- /package/{skills → .agents/skills}/browser-agent/scripts/playwright_setup.ts +0 -0
- /package/{skills → .agents/skills}/code-reviewer/references/code-review-checklist.md +0 -0
- /package/{skills → .agents/skills}/data-engineer/assets/pg-monitoring-queries.sql +0 -0
- /package/{skills → .agents/skills}/data-engineer/references/index-strategy.md +0 -0
- /package/{skills → .agents/skills}/data-engineer/scripts/backup_postgres.py +0 -0
- /package/{skills → .agents/skills}/devops-engineer/references/ci-cd-patterns.md +0 -0
- /package/{skills → .agents/skills}/devops-engineer/scripts/docker_healthcheck.py +0 -0
- /package/{skills → .agents/skills}/document-generator/references/pdf-generation.md +0 -0
- /package/{skills → .agents/skills}/frontend-engineer/references/accessibility-guide.md +0 -0
- /package/{skills → .agents/skills}/frontend-engineer/scripts/audit_bundle.py +0 -0
- /package/{skills → .agents/skills}/git-workflow/references/git-flow.md +0 -0
- /package/{skills → .agents/skills}/mcp-builder/references/mcp-server-guide.md +0 -0
- /package/{skills → .agents/skills}/mobile-engineer/references/platform-guidelines.md +0 -0
- /package/{skills → .agents/skills}/orchestrator/references/methodology-routing.md +0 -0
- /package/{skills → .agents/skills}/orchestrator/references/persona-mapping.md +0 -0
- /package/{skills → .agents/skills}/orchestrator/references/routing-logic.md +0 -0
- /package/{skills → .agents/skills}/performance-engineer/references/caching-patterns.md +0 -0
- /package/{skills → .agents/skills}/performance-engineer/scripts/profile_endpoint.py +0 -0
- /package/{skills → .agents/skills}/product-manager/references/prioritization-frameworks.md +0 -0
- /package/{skills → .agents/skills}/prompt-engineer/references/prompt-patterns.md +0 -0
- /package/{skills → .agents/skills}/qa-engineer/references/testing-strategy.md +0 -0
- /package/{skills → .agents/skills}/qa-engineer/scripts/run_coverage.py +0 -0
- /package/{skills → .agents/skills}/scrum-master/references/sprint-ceremonies.md +0 -0
- /package/{skills → .agents/skills}/security-analyst/references/owasp-top10.md +0 -0
- /package/{skills → .agents/skills}/security-analyst/scripts/audit_security.py +0 -0
- /package/{skills → .agents/skills}/seo-auditor/references/seo-checklist.md +0 -0
- /package/{skills → .agents/skills}/spec-driven-dev/references/phase-gates.md +0 -0
- /package/{skills → .agents/skills}/supabase-expert/references/supabase-patterns.md +0 -0
- /package/{skills → .agents/skills}/swe-agent/references/trajectory-format.md +0 -0
- /package/{skills → .agents/skills}/systematic-debugger/references/debugging-guide.md +0 -0
- /package/{skills → .agents/skills}/tech-lead/references/code-review-checklist.md +0 -0
- /package/{skills → .agents/skills}/technical-writer/references/doc-templates.md +0 -0
- /package/{skills → .agents/skills}/testing-strategist/references/testing-pyramid.md +0 -0
- /package/{skills → .agents/skills}/ux-ui-designer/references/design-system-foundation.md +0 -0
- /package/{templates → .agents/templates}/PROJECT_KICKOFF.md +0 -0
- /package/{templates → .agents/templates}/USAGE.md +0 -0
- /package/{templates → .agents/templates}/agent-python/README.md +0 -0
- /package/{templates → .agents/templates}/agent-python/agent.py +0 -0
- /package/{templates → .agents/templates}/agent-python/config.yaml +0 -0
- /package/{templates → .agents/templates}/agent-python/prompts/system.md +0 -0
- /package/{templates → .agents/templates}/agent-python/requirements.txt +0 -0
- /package/{templates → .agents/templates}/automation-n8n/README.md +0 -0
- /package/{templates → .agents/templates}/automation-n8n/webhook-handler.json +0 -0
- /package/{templates → .agents/templates}/backend-node/Dockerfile +0 -0
- /package/{templates → .agents/templates}/backend-node/README.md +0 -0
- /package/{templates → .agents/templates}/backend-node/src/index.ts +0 -0
- /package/{templates → .agents/templates}/backend-node/src/routes.ts +0 -0
- /package/{templates → .agents/templates}/backend-node/tsconfig.json +0 -0
- /package/{templates → .agents/templates}/backend-python/Dockerfile +0 -0
- /package/{templates → .agents/templates}/backend-python/README.md +0 -0
- /package/{templates → .agents/templates}/backend-python/app/core/config.py +0 -0
- /package/{templates → .agents/templates}/backend-python/app/core/database.py +0 -0
- /package/{templates → .agents/templates}/backend-python/app/main.py +0 -0
- /package/{templates → .agents/templates}/backend-python/app/routers/__init__.py +0 -0
- /package/{templates → .agents/templates}/backend-python/app/routers/health.py +0 -0
- /package/{templates → .agents/templates}/backend-python/requirements-dev.txt +0 -0
- /package/{templates → .agents/templates}/backend-python/requirements.txt +0 -0
- /package/{templates → .agents/templates}/backend-python/tests/test_health.py +0 -0
- /package/{templates → .agents/templates}/checkpoint.yaml +0 -0
- /package/{templates → .agents/templates}/database/README.md +0 -0
- /package/{templates → .agents/templates}/frontend-react/README.md +0 -0
- /package/{templates → .agents/templates}/plan.yaml +0 -0
- /package/{templates → .agents/templates}/session.yaml +0 -0
- /package/{templates → .agents/templates}/tasks.yaml +0 -0
- /package/{workflows → .agents/workflows}/documentation.md +0 -0
- /package/{workflows → .agents/workflows}/generate-prd.md +0 -0
- /package/{workflows → .agents/workflows}/ideation.md +0 -0
- /package/{workflows → .agents/workflows}/optimize-performance.md +0 -0
- /package/{workflows → .agents/workflows}/resolve-github-issue.md +0 -0
- /package/{workflows → .agents/workflows}/security-review.md +0 -0
- /package/{workflows → .agents/workflows}/testing-strategy.md +0 -0
- /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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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('
|
|
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
|
|
511
|
-
{ name: 'En
|
|
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
|
|
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": "
|
|
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
|
-
"
|
|
15
|
-
"docs",
|
|
16
|
-
"rules",
|
|
17
|
-
"scripts",
|
|
18
|
-
"skills",
|
|
19
|
-
"templates",
|
|
20
|
-
"workflows"
|
|
14
|
+
".agents"
|
|
21
15
|
],
|
|
22
|
-
"description": "
|
|
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
|
-
"
|
|
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",
|
package/docs/assets/logo.png
DELETED
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|