aidevo 1.0.0-beta.1
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/LICENSE +21 -0
- package/README.md +431 -0
- package/dist/cli/commands/dashboard.d.ts +2 -0
- package/dist/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/cli/commands/dashboard.js +70 -0
- package/dist/cli/commands/dashboard.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +362 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/log.d.ts +2 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +438 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +2 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +183 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/reindex.d.ts +10 -0
- package/dist/cli/commands/reindex.d.ts.map +1 -0
- package/dist/cli/commands/reindex.js +94 -0
- package/dist/cli/commands/reindex.js.map +1 -0
- package/dist/cli/commands/report.d.ts +2 -0
- package/dist/cli/commands/report.d.ts.map +1 -0
- package/dist/cli/commands/report.js +219 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/rules.d.ts +2 -0
- package/dist/cli/commands/rules.d.ts.map +1 -0
- package/dist/cli/commands/rules.js +143 -0
- package/dist/cli/commands/rules.js.map +1 -0
- package/dist/cli/commands/start.d.ts +2 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +173 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/status.d.ts +2 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +74 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/update.d.ts +2 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +146 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +85 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +632 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/schemas/run-json.d.ts +252 -0
- package/dist/schemas/run-json.d.ts.map +1 -0
- package/dist/schemas/run-json.js +22 -0
- package/dist/schemas/run-json.js.map +1 -0
- package/dist/server/api.d.ts +24 -0
- package/dist/server/api.d.ts.map +1 -0
- package/dist/server/api.js +196 -0
- package/dist/server/api.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +166 -0
- package/dist/server/index.js.map +1 -0
- package/dist/utils/display.d.ts +12 -0
- package/dist/utils/display.d.ts.map +1 -0
- package/dist/utils/display.js +52 -0
- package/dist/utils/display.js.map +1 -0
- package/dist/utils/fs.d.ts +9 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +43 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/git.d.ts +4 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +18 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/paths.d.ts +25 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +45 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/rules.d.ts +44 -0
- package/dist/utils/rules.d.ts.map +1 -0
- package/dist/utils/rules.js +208 -0
- package/dist/utils/rules.js.map +1 -0
- package/dist/utils/run-data.d.ts +37 -0
- package/dist/utils/run-data.d.ts.map +1 -0
- package/dist/utils/run-data.js +353 -0
- package/dist/utils/run-data.js.map +1 -0
- package/dist/utils/tokens.d.ts +26 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +173 -0
- package/dist/utils/tokens.js.map +1 -0
- package/package.json +48 -0
- package/src/assets/skills/audit.md +98 -0
- package/src/assets/skills/bug-fixer.md +48 -0
- package/src/assets/skills/code-generator.md +82 -0
- package/src/assets/skills/commit-code.md +67 -0
- package/src/assets/skills/dashboard-generator.md +65 -0
- package/src/assets/skills/dev-flower.md +85 -0
- package/src/assets/skills/deviation-recorder.md +89 -0
- package/src/assets/skills/docx-to-markdown.md +69 -0
- package/src/assets/skills/mcp-reviewer.md +43 -0
- package/src/assets/skills/requirement-analyzer.md +103 -0
- package/src/assets/skills/rules-evolver.md +48 -0
- package/src/assets/skills/self-reviewer.md +53 -0
- package/src/assets/skills/task-splitter.md +58 -0
- package/src/assets/skills/workflow-orchestrator.md +204 -0
- package/src/assets/templates/demo-run.json +910 -0
- package/src/assets/templates/run.json +63 -0
- package/src/dashboard/assets/index-BMygHuaU.js +111 -0
- package/src/dashboard/assets/index-BW0UZ6Es.css +1 -0
- package/src/dashboard/index.html +13 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
import * as readline from 'node:readline/promises';
|
|
2
|
+
import { stdin, stdout } from 'node:process';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { SKILLS_DIR } from '../../utils/paths.js';
|
|
5
|
+
import { ensureDir, writeText, readText, fileExists, getProjectName, writeJson, } from '../../utils/fs.js';
|
|
6
|
+
import { bold, green, cyan, dim, yellow } from '../../utils/display.js';
|
|
7
|
+
import { addRule, buildRuleViews } from '../../utils/rules.js';
|
|
8
|
+
const QUICK_COMMANDS = [
|
|
9
|
+
{ name: 'workflow', skill: 'workflow-orchestrator' },
|
|
10
|
+
{ name: 'audit', skill: 'audit' },
|
|
11
|
+
{ name: 'deviation', skill: 'deviation-recorder' },
|
|
12
|
+
{ name: 'self-reviewer', skill: 'self-reviewer' },
|
|
13
|
+
{ name: 'bug-fixer', skill: 'bug-fixer' },
|
|
14
|
+
{ name: 'rules-evolver', skill: 'rules-evolver' },
|
|
15
|
+
];
|
|
16
|
+
const OPTIONAL_COMMANDS = [
|
|
17
|
+
{ name: 'commit-code', skill: 'commit-code', desc: 'Git commit assistant' },
|
|
18
|
+
{ name: 'docx-to-markdown', skill: 'docx-to-markdown', desc: 'Convert DOCX to Markdown' },
|
|
19
|
+
];
|
|
20
|
+
const ALL_SKILLS = [
|
|
21
|
+
'workflow-orchestrator',
|
|
22
|
+
'requirement-analyzer',
|
|
23
|
+
'task-splitter',
|
|
24
|
+
'code-generator',
|
|
25
|
+
'self-reviewer',
|
|
26
|
+
'bug-fixer',
|
|
27
|
+
'deviation-recorder',
|
|
28
|
+
'dashboard-generator',
|
|
29
|
+
'commit-code',
|
|
30
|
+
'docx-to-markdown',
|
|
31
|
+
'mcp-reviewer',
|
|
32
|
+
'rules-evolver',
|
|
33
|
+
'dev-flower',
|
|
34
|
+
'audit',
|
|
35
|
+
];
|
|
36
|
+
const IRON_RULES_APPEND = `
|
|
37
|
+
|
|
38
|
+
## AIDevOS Iron Rules
|
|
39
|
+
|
|
40
|
+
1. 禁止任何形式的臆想,不清楚必须询问
|
|
41
|
+
2. 禁止随意生成文档,如需生成文档,必须询问用户是否需要
|
|
42
|
+
3. 生成测试脚本,在测试验证通过后必须删除测试脚本,保持项目清爽
|
|
43
|
+
`;
|
|
44
|
+
const MCP_CONFIG_JSON = JSON.stringify({
|
|
45
|
+
mcpServers: {
|
|
46
|
+
aidevo: {
|
|
47
|
+
command: 'aidevo',
|
|
48
|
+
args: ['mcp'],
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
}, null, 2);
|
|
52
|
+
function writeMcpConfig(projectRoot, tools) {
|
|
53
|
+
const written = [];
|
|
54
|
+
for (const tool of tools) {
|
|
55
|
+
switch (tool) {
|
|
56
|
+
case 'claude-code': {
|
|
57
|
+
const mcpPath = resolve(projectRoot, '.mcp.json');
|
|
58
|
+
if (fileExists(mcpPath)) {
|
|
59
|
+
// Merge into existing
|
|
60
|
+
try {
|
|
61
|
+
const existing = JSON.parse(readText(mcpPath));
|
|
62
|
+
if (!existing.mcpServers?.aidevo) {
|
|
63
|
+
existing.mcpServers = existing.mcpServers || {};
|
|
64
|
+
existing.mcpServers.aidevo = { command: 'aidevo', args: ['mcp'] };
|
|
65
|
+
writeText(mcpPath, JSON.stringify(existing, null, 2) + '\n');
|
|
66
|
+
written.push('.mcp.json');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Malformed, overwrite
|
|
71
|
+
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
72
|
+
written.push('.mcp.json');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
77
|
+
written.push('.mcp.json');
|
|
78
|
+
}
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case 'cursor': {
|
|
82
|
+
const cursorDir = resolve(projectRoot, '.cursor');
|
|
83
|
+
ensureDir(cursorDir);
|
|
84
|
+
const mcpPath = resolve(cursorDir, 'mcp.json');
|
|
85
|
+
if (fileExists(mcpPath)) {
|
|
86
|
+
try {
|
|
87
|
+
const existing = JSON.parse(readText(mcpPath));
|
|
88
|
+
if (!existing.mcpServers?.aidevo) {
|
|
89
|
+
existing.mcpServers = existing.mcpServers || {};
|
|
90
|
+
existing.mcpServers.aidevo = { command: 'aidevo', args: ['mcp'] };
|
|
91
|
+
writeText(mcpPath, JSON.stringify(existing, null, 2) + '\n');
|
|
92
|
+
written.push('.cursor/mcp.json');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
97
|
+
written.push('.cursor/mcp.json');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
102
|
+
written.push('.cursor/mcp.json');
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'vscode-copilot': {
|
|
107
|
+
const vscodeDir = resolve(projectRoot, '.vscode');
|
|
108
|
+
ensureDir(vscodeDir);
|
|
109
|
+
const mcpPath = resolve(vscodeDir, 'mcp.json');
|
|
110
|
+
if (fileExists(mcpPath)) {
|
|
111
|
+
try {
|
|
112
|
+
const existing = JSON.parse(readText(mcpPath));
|
|
113
|
+
if (!existing.mcpServers?.aidevo) {
|
|
114
|
+
existing.mcpServers = existing.mcpServers || {};
|
|
115
|
+
existing.mcpServers.aidevo = { command: 'aidevo', args: ['mcp'] };
|
|
116
|
+
writeText(mcpPath, JSON.stringify(existing, null, 2) + '\n');
|
|
117
|
+
written.push('.vscode/mcp.json');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
122
|
+
written.push('.vscode/mcp.json');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
writeText(mcpPath, MCP_CONFIG_JSON + '\n');
|
|
127
|
+
written.push('.vscode/mcp.json');
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case 'windsurf': {
|
|
132
|
+
// Windsurf uses global config, just print instructions
|
|
133
|
+
written.push('(windsurf: manual config needed)');
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return written;
|
|
139
|
+
}
|
|
140
|
+
// ─── Init command ────────────────────────────────────────
|
|
141
|
+
export async function init() {
|
|
142
|
+
const projectRoot = process.cwd();
|
|
143
|
+
const aidevos = resolve(projectRoot, '.aidevos');
|
|
144
|
+
console.log(`\n ${bold('AIDevOS')} - AI Development Observability Platform\n`);
|
|
145
|
+
// Check if already initialized
|
|
146
|
+
if (fileExists(resolve(aidevos, 'config.json'))) {
|
|
147
|
+
console.log(yellow(' AIDevOS is already initialized in this project.'));
|
|
148
|
+
console.log(dim(' To reinitialize, delete the .aidevos directory first.\n'));
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const rl = readline.createInterface({ input: stdin, output: stdout });
|
|
152
|
+
// Step 1: Select mode
|
|
153
|
+
console.log(' ? Select mode:\n');
|
|
154
|
+
console.log(' 1) Data collection only (MCP, recommended for existing workflows)');
|
|
155
|
+
console.log(' 2) Full workflow (MCP + Skills + slash commands)\n');
|
|
156
|
+
let mode;
|
|
157
|
+
while (true) {
|
|
158
|
+
const answer = (await rl.question(' > ')).trim();
|
|
159
|
+
if (answer === '1') {
|
|
160
|
+
mode = 'collect';
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
if (answer === '2') {
|
|
164
|
+
mode = 'full';
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
console.log(yellow(' Please enter 1 or 2'));
|
|
168
|
+
}
|
|
169
|
+
// Step 2: Select AI tools (multi-select)
|
|
170
|
+
console.log('\n ? Which AI tools do you use? (comma-separated numbers):\n');
|
|
171
|
+
console.log(' 1) Claude Code');
|
|
172
|
+
console.log(' 2) Cursor');
|
|
173
|
+
console.log(' 3) VS Code + Copilot');
|
|
174
|
+
console.log(' 4) Windsurf');
|
|
175
|
+
console.log(' 5) All of the above\n');
|
|
176
|
+
const toolMap = {
|
|
177
|
+
'1': 'claude-code',
|
|
178
|
+
'2': 'cursor',
|
|
179
|
+
'3': 'vscode-copilot',
|
|
180
|
+
'4': 'windsurf',
|
|
181
|
+
};
|
|
182
|
+
let selectedTools = [];
|
|
183
|
+
while (selectedTools.length === 0) {
|
|
184
|
+
const answer = (await rl.question(' > ')).trim();
|
|
185
|
+
if (answer === '5') {
|
|
186
|
+
selectedTools = ['claude-code', 'cursor', 'vscode-copilot', 'windsurf'];
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const nums = answer.split(',').map(s => s.trim());
|
|
190
|
+
for (const n of nums) {
|
|
191
|
+
if (toolMap[n])
|
|
192
|
+
selectedTools.push(toolMap[n]);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (selectedTools.length === 0)
|
|
196
|
+
console.log(yellow(' Please select at least one tool'));
|
|
197
|
+
}
|
|
198
|
+
// Step 3: AI model (only for full mode)
|
|
199
|
+
let aiModel = '';
|
|
200
|
+
if (mode === 'full') {
|
|
201
|
+
console.log('\n ? Which AI model are you using? (e.g. claude-sonnet-4, gpt-4o)\n');
|
|
202
|
+
console.log(dim(' Press Enter to skip, you can set it later.\n'));
|
|
203
|
+
aiModel = (await rl.question(' > ')).trim();
|
|
204
|
+
}
|
|
205
|
+
// Step 4: Optional tools (only for full mode)
|
|
206
|
+
const selectedOptional = [];
|
|
207
|
+
if (mode === 'full') {
|
|
208
|
+
console.log('\n ? Optional tools (comma-separated numbers, or press Enter to skip):\n');
|
|
209
|
+
OPTIONAL_COMMANDS.forEach((cmd, i) => {
|
|
210
|
+
console.log(` ${i + 1}) ${cmd.name} - ${cmd.desc}`);
|
|
211
|
+
});
|
|
212
|
+
console.log('');
|
|
213
|
+
const optionsInput = (await rl.question(' > ')).trim();
|
|
214
|
+
if (optionsInput) {
|
|
215
|
+
const indices = optionsInput.split(',').map((s) => parseInt(s.trim())).filter(n => n > 0 && n <= OPTIONAL_COMMANDS.length);
|
|
216
|
+
for (const idx of indices) {
|
|
217
|
+
selectedOptional.push(OPTIONAL_COMMANDS[idx - 1]);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
rl.close();
|
|
222
|
+
console.log(`\n Initializing AIDevOS...\n`);
|
|
223
|
+
// 1. Create directory structure
|
|
224
|
+
ensureDir(resolve(aidevos, 'rules'));
|
|
225
|
+
ensureDir(resolve(aidevos, 'runs'));
|
|
226
|
+
console.log(green(' ✓ Created') + ' .aidevos/');
|
|
227
|
+
// 2. Write MCP config to correct location(s)
|
|
228
|
+
const mcpWritten = writeMcpConfig(projectRoot, selectedTools);
|
|
229
|
+
for (const f of mcpWritten) {
|
|
230
|
+
if (f.startsWith('(')) {
|
|
231
|
+
console.log(yellow(` ⚠ Windsurf: add MCP config manually to ~/.codeium/windsurf/mcp_config.json`));
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
console.log(green(' ✓ Created') + ` ${f} (MCP Server config)`);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// 3. Seed iron rules into rules.json registry
|
|
238
|
+
const ironRules = [
|
|
239
|
+
'禁止任何形式的臆想,不清楚必须询问',
|
|
240
|
+
'禁止随意生成文档,如需生成文档,必须询问用户是否需要',
|
|
241
|
+
'生成测试脚本,在测试验证通过后必须删除测试脚本,保持项目清爽',
|
|
242
|
+
];
|
|
243
|
+
for (const content of ironRules) {
|
|
244
|
+
addRule(projectRoot, {
|
|
245
|
+
content,
|
|
246
|
+
category: 'process',
|
|
247
|
+
branch: 'init',
|
|
248
|
+
deviation: null,
|
|
249
|
+
author: 'system',
|
|
250
|
+
status: 'active',
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
buildRuleViews(projectRoot);
|
|
254
|
+
console.log(green(' ✓ Created') + ' .aidevos/rules.json (with 3 iron rules)');
|
|
255
|
+
// 5. Full mode: copy skills + slash commands
|
|
256
|
+
if (mode === 'full') {
|
|
257
|
+
ensureDir(resolve(aidevos, 'skills'));
|
|
258
|
+
for (const skill of ALL_SKILLS) {
|
|
259
|
+
const src = resolve(SKILLS_DIR, `${skill}.md`);
|
|
260
|
+
const destDir = resolve(aidevos, 'skills', skill);
|
|
261
|
+
ensureDir(destDir);
|
|
262
|
+
writeText(resolve(destDir, 'SKILL.md'), readText(src));
|
|
263
|
+
}
|
|
264
|
+
console.log(green(' ✓ Created') +
|
|
265
|
+
` .aidevos/skills/ (${ALL_SKILLS.length} skills)`);
|
|
266
|
+
// Copy slash commands for the first tool that supports them
|
|
267
|
+
const allCommands = [...QUICK_COMMANDS, ...selectedOptional];
|
|
268
|
+
if (selectedTools.includes('claude-code')) {
|
|
269
|
+
const cmdDir = resolve(projectRoot, '.claude', 'commands');
|
|
270
|
+
ensureDir(cmdDir);
|
|
271
|
+
for (const cmd of allCommands) {
|
|
272
|
+
const src = resolve(SKILLS_DIR, `${cmd.skill}.md`);
|
|
273
|
+
writeText(resolve(cmdDir, `${cmd.name}.md`), readText(src));
|
|
274
|
+
}
|
|
275
|
+
console.log(green(' ✓ Copied') + ' skills to .claude/commands/');
|
|
276
|
+
}
|
|
277
|
+
if (selectedTools.includes('cursor')) {
|
|
278
|
+
for (const cmd of allCommands) {
|
|
279
|
+
const src = resolve(SKILLS_DIR, `${cmd.skill}.md`);
|
|
280
|
+
const destDir = resolve(projectRoot, '.cursor', 'skills', cmd.name);
|
|
281
|
+
ensureDir(destDir);
|
|
282
|
+
writeText(resolve(destDir, 'SKILL.md'), readText(src));
|
|
283
|
+
}
|
|
284
|
+
console.log(green(' ✓ Copied') + ' skills to .cursor/skills/');
|
|
285
|
+
}
|
|
286
|
+
for (const cmd of QUICK_COMMANDS) {
|
|
287
|
+
console.log(dim(` - /${cmd.name}`));
|
|
288
|
+
}
|
|
289
|
+
if (selectedOptional.length > 0) {
|
|
290
|
+
console.log(dim(` Optional:`));
|
|
291
|
+
for (const cmd of selectedOptional) {
|
|
292
|
+
console.log(dim(` - /${cmd.name}`));
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// Sync iron rules to tool config
|
|
296
|
+
const primaryTool = selectedTools.includes('claude-code') ? 'claude-code' : 'cursor';
|
|
297
|
+
syncIronRules(projectRoot, primaryTool);
|
|
298
|
+
}
|
|
299
|
+
// 6. Write config.json
|
|
300
|
+
const projectName = getProjectName();
|
|
301
|
+
const configData = {
|
|
302
|
+
schemaVersion: '1.0',
|
|
303
|
+
mode,
|
|
304
|
+
aiTools: selectedTools,
|
|
305
|
+
project: projectName,
|
|
306
|
+
};
|
|
307
|
+
if (aiModel)
|
|
308
|
+
configData.aiModel = aiModel;
|
|
309
|
+
writeJson(resolve(aidevos, 'config.json'), configData);
|
|
310
|
+
// Done
|
|
311
|
+
if (mode === 'collect') {
|
|
312
|
+
console.log(`
|
|
313
|
+
${green('✓ Done!')} Data collection is ready.
|
|
314
|
+
|
|
315
|
+
MCP Server will auto-start when your AI tool loads.
|
|
316
|
+
AI will silently collect data during development.
|
|
317
|
+
|
|
318
|
+
View data anytime: ${cyan('aidevo dashboard')}
|
|
319
|
+
`);
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
console.log(`
|
|
323
|
+
${green('✓ Done!')} Next steps:
|
|
324
|
+
|
|
325
|
+
1. Run ${cyan('/audit')} to generate project-specific rules
|
|
326
|
+
2. Start coding — AI will auto-collect data via MCP
|
|
327
|
+
3. Run ${cyan('/workflow')} for the full AI development loop
|
|
328
|
+
4. View data: ${cyan('aidevo dashboard')}
|
|
329
|
+
`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
function syncIronRules(projectRoot, tool) {
|
|
333
|
+
const marker = '## AIDevOS Iron Rules';
|
|
334
|
+
if (tool === 'claude-code') {
|
|
335
|
+
const file = resolve(projectRoot, 'CLAUDE.md');
|
|
336
|
+
if (fileExists(file)) {
|
|
337
|
+
const content = readText(file);
|
|
338
|
+
if (content.includes(marker))
|
|
339
|
+
return;
|
|
340
|
+
writeText(file, content + IRON_RULES_APPEND);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
writeText(file, IRON_RULES_APPEND.trim() + '\n');
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
// Cursor: write to .cursor/rules/aidevos/iron-rules.md
|
|
348
|
+
const rulesDir = resolve(projectRoot, '.cursor', 'rules', 'aidevos');
|
|
349
|
+
ensureDir(rulesDir);
|
|
350
|
+
const file = resolve(rulesDir, 'iron-rules.md');
|
|
351
|
+
if (fileExists(file)) {
|
|
352
|
+
const content = readText(file);
|
|
353
|
+
if (content.includes(marker))
|
|
354
|
+
return;
|
|
355
|
+
writeText(file, content + IRON_RULES_APPEND);
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
writeText(file, IRON_RULES_APPEND.trim() + '\n');
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":"log.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/log.ts"],"names":[],"mappings":"AAkaA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA4DzC"}
|