ai-dev-analytics 1.0.3 → 1.1.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/README.md +73 -13
- package/README.zh-CN.md +73 -13
- package/dist/cli/commands/build.d.ts +2 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +61 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dashboard.js +1 -1
- package/dist/cli/commands/dashboard.js.map +1 -1
- package/dist/cli/commands/import.d.ts +2 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +28 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +167 -183
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/merge.d.ts +2 -0
- package/dist/cli/commands/merge.d.ts.map +1 -0
- package/dist/cli/commands/merge.js +47 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/migrate-dir.d.ts +2 -0
- package/dist/cli/commands/migrate-dir.d.ts.map +1 -0
- package/dist/cli/commands/migrate-dir.js +85 -0
- package/dist/cli/commands/migrate-dir.js.map +1 -0
- package/dist/cli/commands/migrate.js +5 -5
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/reindex.d.ts +4 -0
- package/dist/cli/commands/reindex.d.ts.map +1 -1
- package/dist/cli/commands/reindex.js +48 -3
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/report.js +1 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/rules.d.ts +5 -0
- package/dist/cli/commands/rules.d.ts.map +1 -1
- package/dist/cli/commands/rules.js +146 -39
- package/dist/cli/commands/rules.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +7 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +180 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +5 -9
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +1 -5
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +26 -5
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +30 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +86 -57
- package/dist/mcp/server.js.map +1 -1
- package/dist/server/api.js +2 -2
- package/dist/server/api.js.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/utils/ai-build.d.ts +19 -0
- package/dist/utils/ai-build.d.ts.map +1 -0
- package/dist/utils/ai-build.js +278 -0
- package/dist/utils/ai-build.js.map +1 -0
- package/dist/utils/fs.d.ts +18 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +70 -0
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/git.d.ts +10 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +76 -8
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/guide.d.ts +21 -4
- package/dist/utils/guide.d.ts.map +1 -1
- package/dist/utils/guide.js +168 -16
- package/dist/utils/guide.js.map +1 -1
- package/dist/utils/import.d.ts +27 -0
- package/dist/utils/import.d.ts.map +1 -0
- package/dist/utils/import.js +298 -0
- package/dist/utils/import.js.map +1 -0
- package/dist/utils/paths.d.ts +2 -2
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +8 -8
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/rules.d.ts +6 -1
- package/dist/utils/rules.d.ts.map +1 -1
- package/dist/utils/rules.js +126 -6
- package/dist/utils/rules.js.map +1 -1
- package/dist/utils/run-data.d.ts +2 -2
- package/dist/utils/run-data.d.ts.map +1 -1
- package/dist/utils/run-data.js +6 -11
- package/dist/utils/run-data.js.map +1 -1
- package/dist/utils/skills.d.ts +37 -0
- package/dist/utils/skills.d.ts.map +1 -0
- package/dist/utils/skills.js +228 -0
- package/dist/utils/skills.js.map +1 -0
- package/package.json +1 -1
- package/src/assets/skills/audit.md +6 -6
- package/src/assets/skills/bug-fixer.md +4 -4
- package/src/assets/skills/code-generator.md +4 -4
- package/src/assets/skills/dashboard-generator.md +2 -2
- package/src/assets/skills/dev-flower.md +3 -3
- package/src/assets/skills/deviation-recorder.md +7 -7
- package/src/assets/skills/mcp-reviewer.md +2 -2
- package/src/assets/skills/requirement-analyzer.md +4 -4
- package/src/assets/skills/rules-evolver.md +7 -7
- package/src/assets/skills/self-reviewer.md +4 -4
- package/src/assets/skills/task-splitter.md +5 -5
- package/src/assets/skills/workflow-orchestrator.md +11 -11
- package/src/assets/templates/demo-run.json +7 -7
- package/src/dashboard/assets/index-B8QcPcg7.css +1 -0
- package/src/dashboard/assets/{index-E4BP-QJG.js → index-DcAl6lhS.js} +1 -1
- package/src/dashboard/demo/run.en.json +1169 -0
- package/src/dashboard/demo/run.zh.json +1169 -0
- package/src/dashboard/index.html +2 -2
- package/src/dashboard/assets/index-CwXn3nJb.css +0 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as readline from 'node:readline/promises';
|
|
2
2
|
import { stdin, stdout } from 'node:process';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
|
-
import { SKILLS_DIR } from '../../utils/paths.js';
|
|
5
4
|
import { ensureDir, writeText, readText, fileExists, getProjectName, writeJson, } from '../../utils/fs.js';
|
|
6
5
|
import { bold, green, cyan, dim, yellow } from '../../utils/display.js';
|
|
7
|
-
import { addRule
|
|
8
|
-
import { ensureGuide, syncGuideReference } from '../../utils/guide.js';
|
|
6
|
+
import { addRule } from '../../utils/rules.js';
|
|
7
|
+
import { ensureGuide, syncGuideReference, updateGuide, updateGuideReferences } from '../../utils/guide.js';
|
|
8
|
+
import { ensureBundledSkills, seedBundledSkillRegistry, getSkillContent } from '../../utils/skills.js';
|
|
9
|
+
import { buildProjectArtifacts } from '../../utils/ai-build.js';
|
|
10
|
+
import { detectImportableTools, importExistingToolConfigs, importFromTool, mergeConfiguredTools } from '../../utils/import.js';
|
|
9
11
|
const QUICK_COMMANDS = [
|
|
10
12
|
{ name: 'workflow', skill: 'workflow-orchestrator' },
|
|
11
13
|
{ name: 'audit', skill: 'audit' },
|
|
@@ -41,137 +43,116 @@ const IRON_RULES_APPEND = `
|
|
|
41
43
|
1. 禁止任何形式的臆想,不清楚必须询问
|
|
42
44
|
2. 禁止随意生成文档,如需生成文档,必须询问用户是否需要
|
|
43
45
|
3. 生成测试脚本,在测试验证通过后必须删除测试脚本,保持项目清爽
|
|
46
|
+
4. 当用户直接要求沉淀项目级技术规范,或识别到 rule-missing 需要沉淀规则时,必须通过 AIDA MCP 的 aida_log_rule 写入 .aida/rules.json,不要只修改本地规则说明文件
|
|
44
47
|
`;
|
|
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
|
-
|
|
78
|
-
written.push('.mcp.json');
|
|
79
|
-
}
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
case 'cursor': {
|
|
83
|
-
const cursorDir = resolve(projectRoot, '.cursor');
|
|
84
|
-
ensureDir(cursorDir);
|
|
85
|
-
const mcpPath = resolve(cursorDir, 'mcp.json');
|
|
86
|
-
if (fileExists(mcpPath)) {
|
|
87
|
-
try {
|
|
88
|
-
const existing = JSON.parse(readText(mcpPath));
|
|
89
|
-
if (!existing.mcpServers?.aida) {
|
|
90
|
-
existing.mcpServers = existing.mcpServers || {};
|
|
91
|
-
existing.mcpServers.aida = { command: 'npx', args: ['-y', 'ai-dev-analytics', 'mcp'] };
|
|
92
|
-
writeText(mcpPath, JSON.stringify(existing, null, 2) + '\n');
|
|
93
|
-
written.push('.cursor/mcp.json');
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
98
|
-
written.push('.cursor/mcp.json');
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
103
|
-
written.push('.cursor/mcp.json');
|
|
104
|
-
}
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
case 'vscode-copilot': {
|
|
108
|
-
const vscodeDir = resolve(projectRoot, '.vscode');
|
|
109
|
-
ensureDir(vscodeDir);
|
|
110
|
-
const mcpPath = resolve(vscodeDir, 'mcp.json');
|
|
111
|
-
if (fileExists(mcpPath)) {
|
|
112
|
-
try {
|
|
113
|
-
const existing = JSON.parse(readText(mcpPath));
|
|
114
|
-
if (!existing.mcpServers?.aida) {
|
|
115
|
-
existing.mcpServers = existing.mcpServers || {};
|
|
116
|
-
existing.mcpServers.aida = { command: 'npx', args: ['-y', 'ai-dev-analytics', 'mcp'] };
|
|
117
|
-
writeText(mcpPath, JSON.stringify(existing, null, 2) + '\n');
|
|
118
|
-
written.push('.vscode/mcp.json');
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
123
|
-
written.push('.vscode/mcp.json');
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
128
|
-
written.push('.vscode/mcp.json');
|
|
129
|
-
}
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
case 'windsurf': {
|
|
133
|
-
// Windsurf uses global config, just print instructions
|
|
134
|
-
written.push('(windsurf: manual config needed)');
|
|
135
|
-
break;
|
|
136
|
-
}
|
|
137
|
-
case 'lingma': {
|
|
138
|
-
const lingmaDir = resolve(projectRoot, '.lingma');
|
|
139
|
-
ensureDir(lingmaDir);
|
|
140
|
-
const mcpPath = resolve(lingmaDir, 'mcp.json');
|
|
141
|
-
if (fileExists(mcpPath)) {
|
|
142
|
-
try {
|
|
143
|
-
const existing = JSON.parse(readText(mcpPath));
|
|
144
|
-
if (!existing.mcpServers?.aida) {
|
|
145
|
-
existing.mcpServers = existing.mcpServers || {};
|
|
146
|
-
existing.mcpServers.aida = { command: 'npx', args: ['-y', 'ai-dev-analytics', 'mcp'] };
|
|
147
|
-
writeText(mcpPath, JSON.stringify(existing, null, 2) + '\n');
|
|
148
|
-
written.push('.lingma/mcp.json');
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
catch {
|
|
152
|
-
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
153
|
-
written.push('.lingma/mcp.json');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
158
|
-
written.push('.lingma/mcp.json');
|
|
159
|
-
}
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
48
|
+
function toolLabel(tool) {
|
|
49
|
+
const labels = {
|
|
50
|
+
'claude-code': 'Claude Code',
|
|
51
|
+
cursor: 'Cursor',
|
|
52
|
+
'vscode-copilot': 'VS Code + Copilot',
|
|
53
|
+
windsurf: 'Windsurf',
|
|
54
|
+
lingma: 'Lingma',
|
|
55
|
+
codex: 'Codex',
|
|
56
|
+
};
|
|
57
|
+
return labels[tool];
|
|
58
|
+
}
|
|
59
|
+
function copyOptionalCommands(projectRoot, tools, commands) {
|
|
60
|
+
let copied = 0;
|
|
61
|
+
if (tools.includes('claude-code')) {
|
|
62
|
+
const cmdDir = resolve(projectRoot, '.claude', 'commands');
|
|
63
|
+
ensureDir(cmdDir);
|
|
64
|
+
for (const cmd of commands) {
|
|
65
|
+
const content = getSkillContent(projectRoot, cmd.skill);
|
|
66
|
+
if (!content)
|
|
67
|
+
continue;
|
|
68
|
+
writeText(resolve(cmdDir, `${cmd.name}.md`), content);
|
|
69
|
+
copied++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (tools.includes('cursor')) {
|
|
73
|
+
for (const cmd of commands) {
|
|
74
|
+
const content = getSkillContent(projectRoot, cmd.skill);
|
|
75
|
+
if (!content)
|
|
76
|
+
continue;
|
|
77
|
+
const destDir = resolve(projectRoot, '.cursor', 'skills', cmd.name);
|
|
78
|
+
ensureDir(destDir);
|
|
79
|
+
writeText(resolve(destDir, 'SKILL.md'), content);
|
|
80
|
+
copied++;
|
|
162
81
|
}
|
|
163
82
|
}
|
|
164
|
-
return
|
|
83
|
+
return copied;
|
|
165
84
|
}
|
|
166
85
|
// ─── Init command ────────────────────────────────────────
|
|
167
86
|
export async function init() {
|
|
168
87
|
const projectRoot = process.cwd();
|
|
169
|
-
const aidevos = resolve(projectRoot, '.
|
|
88
|
+
const aidevos = resolve(projectRoot, '.aida');
|
|
170
89
|
console.log(`\n ${bold('AIDA')} - AI Development Observability Platform\n`);
|
|
171
90
|
// Check if already initialized
|
|
172
91
|
if (fileExists(resolve(aidevos, 'config.json'))) {
|
|
173
|
-
console.log(yellow(' AIDA is already initialized in this project
|
|
174
|
-
console.log(
|
|
92
|
+
console.log(yellow(' AIDA is already initialized in this project.\n'));
|
|
93
|
+
console.log(' ? What would you like to do?\n');
|
|
94
|
+
console.log(' 1) Add a new AI tool');
|
|
95
|
+
console.log(' 2) Repair: fill missing files (guide, MCP config, .gitignore)');
|
|
96
|
+
console.log(' 3) Exit\n');
|
|
97
|
+
const rl2 = readline.createInterface({ input: stdin, output: stdout });
|
|
98
|
+
const choice = (await rl2.question(' > ')).trim();
|
|
99
|
+
rl2.close();
|
|
100
|
+
if (choice === '3' || choice === '') {
|
|
101
|
+
console.log(dim('\n No changes made.\n'));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// Load existing config
|
|
105
|
+
const existingConfig = JSON.parse(readText(resolve(aidevos, 'config.json')));
|
|
106
|
+
const existingTools = existingConfig.aiTools || [];
|
|
107
|
+
// ── Option 2: Repair missing files ──────────────────
|
|
108
|
+
if (choice === '2') {
|
|
109
|
+
console.log('\n Repairing...\n');
|
|
110
|
+
ensureDir(resolve(aidevos, 'rules'));
|
|
111
|
+
ensureDir(resolve(aidevos, 'runs'));
|
|
112
|
+
const repaired = buildProjectArtifacts(projectRoot, existingTools);
|
|
113
|
+
updateGuide(projectRoot);
|
|
114
|
+
updateGuideReferences(projectRoot, existingTools);
|
|
115
|
+
console.log(green(' ✓ Rebuilt') + ` core artifacts for ${repaired.tools.join(', ') || 'configured tools'}`);
|
|
116
|
+
console.log(green('\n ✓ Done!') + ' Missing files have been filled in.\n');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
// ── Option 1: Add a new AI tool ──────────────────────
|
|
120
|
+
const rl3 = readline.createInterface({ input: stdin, output: stdout });
|
|
121
|
+
console.log('\n ? Which AI tool do you want to add? (comma-separated numbers):\n');
|
|
122
|
+
console.log(' 1) Claude Code');
|
|
123
|
+
console.log(' 2) Cursor');
|
|
124
|
+
console.log(' 3) VS Code + Copilot');
|
|
125
|
+
console.log(' 4) Windsurf');
|
|
126
|
+
console.log(' 5) Lingma (通义灵码)\n');
|
|
127
|
+
console.log(' 6) Codex\n');
|
|
128
|
+
const toolMap2 = {
|
|
129
|
+
'1': 'claude-code', '2': 'cursor', '3': 'vscode-copilot', '4': 'windsurf', '5': 'lingma', '6': 'codex',
|
|
130
|
+
};
|
|
131
|
+
let newTools = [];
|
|
132
|
+
while (newTools.length === 0) {
|
|
133
|
+
const ans = (await rl3.question(' > ')).trim();
|
|
134
|
+
const nums = ans.split(',').map(s => s.trim());
|
|
135
|
+
for (const n of nums) {
|
|
136
|
+
if (toolMap2[n] && !existingTools.includes(toolMap2[n])) {
|
|
137
|
+
newTools.push(toolMap2[n]);
|
|
138
|
+
}
|
|
139
|
+
else if (toolMap2[n] && existingTools.includes(toolMap2[n])) {
|
|
140
|
+
console.log(yellow(` ${toolMap2[n]} is already configured, skipping.`));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (newTools.length === 0)
|
|
144
|
+
console.log(yellow(' No new tools selected. Please try again.'));
|
|
145
|
+
}
|
|
146
|
+
rl3.close();
|
|
147
|
+
// Update config.json
|
|
148
|
+
existingConfig.aiTools = [...existingTools, ...newTools];
|
|
149
|
+
writeJson(resolve(aidevos, 'config.json'), existingConfig);
|
|
150
|
+
const built = buildProjectArtifacts(projectRoot, newTools);
|
|
151
|
+
if (existingConfig.mode === 'full') {
|
|
152
|
+
seedBundledSkillRegistry(projectRoot);
|
|
153
|
+
}
|
|
154
|
+
console.log(green('\n ✓ Built') + ` ${built.tools.join(', ')} artifacts`);
|
|
155
|
+
console.log(green('\n ✓ Done!') + ' New tool(s) added successfully.\n');
|
|
175
156
|
return;
|
|
176
157
|
}
|
|
177
158
|
const rl = readline.createInterface({ input: stdin, output: stdout });
|
|
@@ -199,19 +180,21 @@ export async function init() {
|
|
|
199
180
|
console.log(' 3) VS Code + Copilot');
|
|
200
181
|
console.log(' 4) Windsurf');
|
|
201
182
|
console.log(' 5) Lingma (通义灵码)');
|
|
202
|
-
console.log(' 6)
|
|
183
|
+
console.log(' 6) Codex');
|
|
184
|
+
console.log(' 7) All of the above\n');
|
|
203
185
|
const toolMap = {
|
|
204
186
|
'1': 'claude-code',
|
|
205
187
|
'2': 'cursor',
|
|
206
188
|
'3': 'vscode-copilot',
|
|
207
189
|
'4': 'windsurf',
|
|
208
190
|
'5': 'lingma',
|
|
191
|
+
'6': 'codex',
|
|
209
192
|
};
|
|
210
193
|
let selectedTools = [];
|
|
211
194
|
while (selectedTools.length === 0) {
|
|
212
195
|
const answer = (await rl.question(' > ')).trim();
|
|
213
|
-
if (answer === '
|
|
214
|
-
selectedTools = ['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma'];
|
|
196
|
+
if (answer === '7') {
|
|
197
|
+
selectedTools = ['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex'];
|
|
215
198
|
}
|
|
216
199
|
else {
|
|
217
200
|
const nums = answer.split(',').map(s => s.trim());
|
|
@@ -223,6 +206,23 @@ export async function init() {
|
|
|
223
206
|
if (selectedTools.length === 0)
|
|
224
207
|
console.log(yellow(' Please select at least one tool'));
|
|
225
208
|
}
|
|
209
|
+
const importableTools = detectImportableTools(projectRoot, selectedTools);
|
|
210
|
+
let baselineTool = null;
|
|
211
|
+
if (importableTools.length > 0) {
|
|
212
|
+
console.log('\n ? Found existing tool rules/skills/config in this project.');
|
|
213
|
+
console.log(' Choose one baseline tool to import into AIDA JSON (press Enter to skip):\n');
|
|
214
|
+
importableTools.forEach((tool, index) => {
|
|
215
|
+
console.log(` ${index + 1}) ${toolLabel(tool)}`);
|
|
216
|
+
});
|
|
217
|
+
console.log('');
|
|
218
|
+
const answer = (await rl.question(' > ')).trim();
|
|
219
|
+
if (answer) {
|
|
220
|
+
const idx = parseInt(answer, 10);
|
|
221
|
+
if (idx >= 1 && idx <= importableTools.length) {
|
|
222
|
+
baselineTool = importableTools[idx - 1];
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
226
|
// Step 3: AI model (only for full mode)
|
|
227
227
|
let aiModel = '';
|
|
228
228
|
if (mode === 'full') {
|
|
@@ -251,17 +251,7 @@ export async function init() {
|
|
|
251
251
|
// 1. Create directory structure
|
|
252
252
|
ensureDir(resolve(aidevos, 'rules'));
|
|
253
253
|
ensureDir(resolve(aidevos, 'runs'));
|
|
254
|
-
console.log(green(' ✓ Created') + ' .
|
|
255
|
-
// 2. Write MCP config to correct location(s)
|
|
256
|
-
const mcpWritten = writeMcpConfig(projectRoot, selectedTools);
|
|
257
|
-
for (const f of mcpWritten) {
|
|
258
|
-
if (f.startsWith('(')) {
|
|
259
|
-
console.log(yellow(` ⚠ Windsurf: add MCP config manually to ~/.codeium/windsurf/mcp_config.json`));
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
console.log(green(' ✓ Created') + ` ${f} (MCP Server config)`);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
254
|
+
console.log(green(' ✓ Created') + ' .aida/');
|
|
265
255
|
// 3. Seed iron rules into rules.json registry
|
|
266
256
|
const ironRules = [
|
|
267
257
|
'禁止任何形式的臆想,不清楚必须询问',
|
|
@@ -278,42 +268,46 @@ export async function init() {
|
|
|
278
268
|
status: 'active',
|
|
279
269
|
});
|
|
280
270
|
}
|
|
281
|
-
|
|
282
|
-
console.log(green(' ✓ Created') + ' .aidevos/rules.json (with 3 iron rules)');
|
|
283
|
-
// 5. Write AIDA guide and sync reference to AI tool instruction files (both modes)
|
|
284
|
-
ensureGuide(projectRoot);
|
|
285
|
-
syncGuideReference(projectRoot, selectedTools);
|
|
286
|
-
console.log(green(' ✓ Created') + ' .aidevos/aida-guide.md (data collection & rule sedimentation guide)');
|
|
271
|
+
console.log(green(' ✓ Created') + ' .aida/rules.json (with 3 iron rules)');
|
|
287
272
|
// 6. Full mode: copy skills + slash commands
|
|
288
273
|
if (mode === 'full') {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const destDir = resolve(aidevos, 'skills', skill);
|
|
293
|
-
ensureDir(destDir);
|
|
294
|
-
writeText(resolve(destDir, 'SKILL.md'), readText(src));
|
|
274
|
+
if (baselineTool) {
|
|
275
|
+
const bundled = ensureBundledSkills(projectRoot);
|
|
276
|
+
console.log(green(' ✓ Synced') + ` bundled skills into skills.json (+${bundled.added})`);
|
|
295
277
|
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
const allCommands = [...QUICK_COMMANDS, ...selectedOptional];
|
|
300
|
-
if (selectedTools.includes('claude-code')) {
|
|
301
|
-
const cmdDir = resolve(projectRoot, '.claude', 'commands');
|
|
302
|
-
ensureDir(cmdDir);
|
|
303
|
-
for (const cmd of allCommands) {
|
|
304
|
-
const src = resolve(SKILLS_DIR, `${cmd.skill}.md`);
|
|
305
|
-
writeText(resolve(cmdDir, `${cmd.name}.md`), readText(src));
|
|
306
|
-
}
|
|
307
|
-
console.log(green(' ✓ Copied') + ' skills to .claude/commands/');
|
|
278
|
+
else {
|
|
279
|
+
seedBundledSkillRegistry(projectRoot);
|
|
280
|
+
console.log(green(' ✓ Created') + ' .aida/skills.json (skills source of truth)');
|
|
308
281
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
282
|
+
}
|
|
283
|
+
// 8. Write config.json
|
|
284
|
+
const projectName = getProjectName();
|
|
285
|
+
const configData = {
|
|
286
|
+
schemaVersion: '1.0',
|
|
287
|
+
mode,
|
|
288
|
+
aiTools: selectedTools,
|
|
289
|
+
project: projectName,
|
|
290
|
+
};
|
|
291
|
+
if (aiModel)
|
|
292
|
+
configData.aiModel = aiModel;
|
|
293
|
+
if (baselineTool)
|
|
294
|
+
configData.baselineTool = baselineTool;
|
|
295
|
+
writeJson(resolve(aidevos, 'config.json'), configData);
|
|
296
|
+
if (baselineTool) {
|
|
297
|
+
const imported = importFromTool(projectRoot, baselineTool);
|
|
298
|
+
const snapshot = importExistingToolConfigs(projectRoot);
|
|
299
|
+
mergeConfiguredTools(projectRoot, snapshot.tools.filter((tool) => selectedTools.includes(tool)));
|
|
300
|
+
console.log(green(' ✓ Imported') +
|
|
301
|
+
` baseline tool ${toolLabel(baselineTool)} → ${imported.rulesImported} rules, ${imported.skillsImported} skills`);
|
|
302
|
+
}
|
|
303
|
+
const built = buildProjectArtifacts(projectRoot, selectedTools);
|
|
304
|
+
ensureGuide(projectRoot);
|
|
305
|
+
syncGuideReference(projectRoot, selectedTools);
|
|
306
|
+
console.log(green(' ✓ Built') + ` core artifacts for ${built.tools.join(', ')}`);
|
|
307
|
+
if (mode === 'full') {
|
|
308
|
+
const optionalCopied = copyOptionalCommands(projectRoot, selectedTools, selectedOptional);
|
|
309
|
+
if (optionalCopied > 0) {
|
|
310
|
+
console.log(green(' ✓ Copied') + ` ${optionalCopied} optional command files`);
|
|
317
311
|
}
|
|
318
312
|
for (const cmd of QUICK_COMMANDS) {
|
|
319
313
|
console.log(dim(` - /${cmd.name}`));
|
|
@@ -324,21 +318,11 @@ export async function init() {
|
|
|
324
318
|
console.log(dim(` - /${cmd.name}`));
|
|
325
319
|
}
|
|
326
320
|
}
|
|
327
|
-
// Sync iron rules to tool config
|
|
328
321
|
const primaryTool = selectedTools.includes('claude-code') ? 'claude-code' : 'cursor';
|
|
329
|
-
|
|
322
|
+
if (primaryTool === 'claude-code' || primaryTool === 'cursor') {
|
|
323
|
+
syncIronRules(projectRoot, primaryTool);
|
|
324
|
+
}
|
|
330
325
|
}
|
|
331
|
-
// 7. Write config.json
|
|
332
|
-
const projectName = getProjectName();
|
|
333
|
-
const configData = {
|
|
334
|
-
schemaVersion: '1.0',
|
|
335
|
-
mode,
|
|
336
|
-
aiTools: selectedTools,
|
|
337
|
-
project: projectName,
|
|
338
|
-
};
|
|
339
|
-
if (aiModel)
|
|
340
|
-
configData.aiModel = aiModel;
|
|
341
|
-
writeJson(resolve(aidevos, 'config.json'), configData);
|
|
342
326
|
// Done
|
|
343
327
|
if (mode === 'collect') {
|
|
344
328
|
console.log(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/merge.ts"],"names":[],"mappings":"AAMA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA2C3C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { green, red, yellow } from '../../utils/display.js';
|
|
2
|
+
import { configPath } from '../../utils/paths.js';
|
|
3
|
+
import { fileExists } from '../../utils/fs.js';
|
|
4
|
+
import { mergeRulesRegistry } from './rules.js';
|
|
5
|
+
import { mergeSkillsRegistry } from './skills.js';
|
|
6
|
+
export async function merge() {
|
|
7
|
+
const projectRoot = process.cwd();
|
|
8
|
+
if (!fileExists(configPath(projectRoot))) {
|
|
9
|
+
console.log(red('\n AIDA not initialized. Run `npx aida init` first.\n'));
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const rules = await mergeRulesRegistry(projectRoot);
|
|
13
|
+
const skills = await mergeSkillsRegistry(projectRoot);
|
|
14
|
+
if (rules.status === 'error' || skills.status === 'error') {
|
|
15
|
+
console.log(red('\n Merge finished with parse errors. Resolve the remaining conflicted file manually.\n'));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const lines = [];
|
|
19
|
+
if (rules.status === 'merged') {
|
|
20
|
+
lines.push(` rules.json: merged, ${rules.total} total (${rules.added} new)`);
|
|
21
|
+
}
|
|
22
|
+
else if (rules.status === 'no-conflict') {
|
|
23
|
+
lines.push(' rules.json: no conflict');
|
|
24
|
+
}
|
|
25
|
+
else if (rules.status === 'missing') {
|
|
26
|
+
lines.push(' rules.json: missing');
|
|
27
|
+
}
|
|
28
|
+
if (skills.status === 'merged') {
|
|
29
|
+
lines.push(` skills.json: merged, ${skills.total} total (${skills.added} new)`);
|
|
30
|
+
}
|
|
31
|
+
else if (skills.status === 'no-conflict') {
|
|
32
|
+
lines.push(' skills.json: no conflict');
|
|
33
|
+
}
|
|
34
|
+
else if (skills.status === 'missing') {
|
|
35
|
+
lines.push(' skills.json: missing');
|
|
36
|
+
}
|
|
37
|
+
const changed = rules.status === 'merged' || skills.status === 'merged';
|
|
38
|
+
if (!changed) {
|
|
39
|
+
console.log(yellow('\n No registry conflicts detected.\n'));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
console.log(green('\n ✓ Registry merge completed\n'));
|
|
43
|
+
for (const line of lines)
|
|
44
|
+
console.log(line);
|
|
45
|
+
console.log('');
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/cli/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC,CAAC;QAC5G,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC;IAChF,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;IACnF,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-dir.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-dir.ts"],"names":[],"mappings":"AA0DA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAoChD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { readdirSync, renameSync, statSync } from 'node:fs';
|
|
2
|
+
import { resolve, extname, basename } from 'node:path';
|
|
3
|
+
import { cyan, green, red, yellow } from '../../utils/display.js';
|
|
4
|
+
import { fileExists, readText, writeText } from '../../utils/fs.js';
|
|
5
|
+
const TEXT_EXTENSIONS = new Set([
|
|
6
|
+
'.md',
|
|
7
|
+
'.json',
|
|
8
|
+
'.ts',
|
|
9
|
+
'.tsx',
|
|
10
|
+
'.js',
|
|
11
|
+
'.jsx',
|
|
12
|
+
'.mjs',
|
|
13
|
+
'.cjs',
|
|
14
|
+
'.html',
|
|
15
|
+
'.css',
|
|
16
|
+
'.txt',
|
|
17
|
+
'.toml',
|
|
18
|
+
'.yml',
|
|
19
|
+
'.yaml',
|
|
20
|
+
]);
|
|
21
|
+
function replaceInFile(filePath) {
|
|
22
|
+
const ext = extname(filePath);
|
|
23
|
+
const name = basename(filePath);
|
|
24
|
+
if (!TEXT_EXTENSIONS.has(ext) && !['.gitignore', 'AGENTS.md', 'CLAUDE.md'].includes(name)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const raw = readText(filePath);
|
|
28
|
+
const next = raw.replace(/\.aidevos/g, '.aida').replace(/aidevos-/g, 'aida-');
|
|
29
|
+
if (next === raw)
|
|
30
|
+
return false;
|
|
31
|
+
writeText(filePath, next);
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
function walkAndReplace(rootDir) {
|
|
35
|
+
if (!fileExists(rootDir))
|
|
36
|
+
return 0;
|
|
37
|
+
let updated = 0;
|
|
38
|
+
const stack = [rootDir];
|
|
39
|
+
while (stack.length > 0) {
|
|
40
|
+
const current = stack.pop();
|
|
41
|
+
for (const name of readdirSync(current)) {
|
|
42
|
+
const fullPath = resolve(current, name);
|
|
43
|
+
const stat = statSync(fullPath);
|
|
44
|
+
if (stat.isDirectory()) {
|
|
45
|
+
stack.push(fullPath);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (replaceInFile(fullPath))
|
|
49
|
+
updated++;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return updated;
|
|
53
|
+
}
|
|
54
|
+
export async function migrateDir() {
|
|
55
|
+
const projectRoot = process.cwd();
|
|
56
|
+
const oldDir = resolve(projectRoot, '.aidevos');
|
|
57
|
+
const newDir = resolve(projectRoot, '.aida');
|
|
58
|
+
if (!fileExists(oldDir)) {
|
|
59
|
+
if (fileExists(newDir)) {
|
|
60
|
+
console.log(green('\n ✓ Project already uses .aida.\n'));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
console.log(yellow('\n No .aidevos directory found.\n'));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (fileExists(newDir)) {
|
|
67
|
+
console.log(red('\n Cannot migrate: both .aidevos and .aida exist.\n'));
|
|
68
|
+
console.log(' Resolve the duplicate directories first, then run `aida migrate-dir` again.\n');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
console.log(cyan('\n Migrating project directory: .aidevos -> .aida\n'));
|
|
72
|
+
renameSync(oldDir, newDir);
|
|
73
|
+
let updatedFiles = 0;
|
|
74
|
+
updatedFiles += walkAndReplace(newDir);
|
|
75
|
+
for (const topLevel of ['AGENTS.md', 'CLAUDE.md', '.gitignore']) {
|
|
76
|
+
const target = resolve(projectRoot, topLevel);
|
|
77
|
+
if (fileExists(target) && replaceInFile(target)) {
|
|
78
|
+
updatedFiles++;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
console.log(green(' ✓ Directory renamed') + ': .aida');
|
|
82
|
+
console.log(green(' ✓ Updated references') + `: ${updatedFiles} text file(s)`);
|
|
83
|
+
console.log('\n Next step: run `aida build` to regenerate local AI tool artifacts.\n');
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=migrate-dir.js.map
|