ai-dev-analytics 1.0.4 → 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.
Files changed (91) hide show
  1. package/README.md +25 -17
  2. package/README.zh-CN.md +25 -17
  3. package/dist/cli/commands/build.d.ts +2 -0
  4. package/dist/cli/commands/build.d.ts.map +1 -0
  5. package/dist/cli/commands/build.js +61 -0
  6. package/dist/cli/commands/build.js.map +1 -0
  7. package/dist/cli/commands/dashboard.js +1 -1
  8. package/dist/cli/commands/dashboard.js.map +1 -1
  9. package/dist/cli/commands/import.d.ts +2 -0
  10. package/dist/cli/commands/import.d.ts.map +1 -0
  11. package/dist/cli/commands/import.js +28 -0
  12. package/dist/cli/commands/import.js.map +1 -0
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +113 -249
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/merge.d.ts +2 -0
  17. package/dist/cli/commands/merge.d.ts.map +1 -0
  18. package/dist/cli/commands/merge.js +47 -0
  19. package/dist/cli/commands/merge.js.map +1 -0
  20. package/dist/cli/commands/migrate-dir.d.ts +2 -0
  21. package/dist/cli/commands/migrate-dir.d.ts.map +1 -0
  22. package/dist/cli/commands/migrate-dir.js +85 -0
  23. package/dist/cli/commands/migrate-dir.js.map +1 -0
  24. package/dist/cli/commands/migrate.js +5 -5
  25. package/dist/cli/commands/migrate.js.map +1 -1
  26. package/dist/cli/commands/report.js +1 -1
  27. package/dist/cli/commands/report.js.map +1 -1
  28. package/dist/cli/commands/rules.d.ts +5 -0
  29. package/dist/cli/commands/rules.d.ts.map +1 -1
  30. package/dist/cli/commands/rules.js +143 -38
  31. package/dist/cli/commands/rules.js.map +1 -1
  32. package/dist/cli/commands/skills.d.ts +7 -0
  33. package/dist/cli/commands/skills.d.ts.map +1 -0
  34. package/dist/cli/commands/skills.js +180 -0
  35. package/dist/cli/commands/skills.js.map +1 -0
  36. package/dist/cli/commands/start.js +4 -4
  37. package/dist/cli/commands/start.js.map +1 -1
  38. package/dist/cli/commands/update.d.ts.map +1 -1
  39. package/dist/cli/commands/update.js +14 -7
  40. package/dist/cli/commands/update.js.map +1 -1
  41. package/dist/cli/index.js +30 -0
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/server/api.js +2 -2
  44. package/dist/server/api.js.map +1 -1
  45. package/dist/server/index.js +1 -1
  46. package/dist/server/index.js.map +1 -1
  47. package/dist/utils/ai-build.d.ts +19 -0
  48. package/dist/utils/ai-build.d.ts.map +1 -0
  49. package/dist/utils/ai-build.js +278 -0
  50. package/dist/utils/ai-build.js.map +1 -0
  51. package/dist/utils/fs.d.ts +9 -0
  52. package/dist/utils/fs.d.ts.map +1 -1
  53. package/dist/utils/fs.js +31 -0
  54. package/dist/utils/fs.js.map +1 -1
  55. package/dist/utils/guide.d.ts +5 -4
  56. package/dist/utils/guide.d.ts.map +1 -1
  57. package/dist/utils/guide.js +78 -11
  58. package/dist/utils/guide.js.map +1 -1
  59. package/dist/utils/import.d.ts +27 -0
  60. package/dist/utils/import.d.ts.map +1 -0
  61. package/dist/utils/import.js +298 -0
  62. package/dist/utils/import.js.map +1 -0
  63. package/dist/utils/paths.d.ts +2 -2
  64. package/dist/utils/paths.d.ts.map +1 -1
  65. package/dist/utils/paths.js +8 -8
  66. package/dist/utils/paths.js.map +1 -1
  67. package/dist/utils/rules.d.ts +6 -1
  68. package/dist/utils/rules.d.ts.map +1 -1
  69. package/dist/utils/rules.js +126 -6
  70. package/dist/utils/rules.js.map +1 -1
  71. package/dist/utils/run-data.d.ts +1 -1
  72. package/dist/utils/run-data.js +4 -4
  73. package/dist/utils/run-data.js.map +1 -1
  74. package/dist/utils/skills.d.ts +37 -0
  75. package/dist/utils/skills.d.ts.map +1 -0
  76. package/dist/utils/skills.js +228 -0
  77. package/dist/utils/skills.js.map +1 -0
  78. package/package.json +1 -1
  79. package/src/assets/skills/audit.md +6 -6
  80. package/src/assets/skills/bug-fixer.md +4 -4
  81. package/src/assets/skills/code-generator.md +4 -4
  82. package/src/assets/skills/dashboard-generator.md +2 -2
  83. package/src/assets/skills/dev-flower.md +3 -3
  84. package/src/assets/skills/deviation-recorder.md +7 -7
  85. package/src/assets/skills/mcp-reviewer.md +2 -2
  86. package/src/assets/skills/requirement-analyzer.md +4 -4
  87. package/src/assets/skills/rules-evolver.md +7 -7
  88. package/src/assets/skills/self-reviewer.md +4 -4
  89. package/src/assets/skills/task-splitter.md +5 -5
  90. package/src/assets/skills/workflow-orchestrator.md +11 -11
  91. package/src/assets/templates/demo-run.json +7 -7
@@ -0,0 +1,298 @@
1
+ import { readdirSync, statSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { ensureDir, fileExists, readJson, readText, writeJson } from './fs.js';
5
+ import { configPath } from './paths.js';
6
+ import { ensureBuildGitignore } from './ai-build.js';
7
+ import { importRulesFromViews, loadRegistry, saveRegistry, fingerprint, nextRuleId } from './rules.js';
8
+ import { importSkillsFromViews, loadSkillRegistry, saveSkillRegistry, skillFingerprint, nextSkillId } from './skills.js';
9
+ const TOOL_SOURCES = [
10
+ { tool: 'claude-code', path: (projectRoot) => resolve(projectRoot, '.mcp.json'), format: 'json' },
11
+ { tool: 'cursor', path: (projectRoot) => resolve(projectRoot, '.cursor', 'mcp.json'), format: 'json' },
12
+ { tool: 'vscode-copilot', path: (projectRoot) => resolve(projectRoot, '.vscode', 'mcp.json'), format: 'json' },
13
+ { tool: 'lingma', path: (projectRoot) => resolve(projectRoot, '.lingma', 'mcp.json'), format: 'json' },
14
+ { tool: 'codex', path: (projectRoot) => resolve(projectRoot, '.aida', 'codex', 'config.toml'), format: 'toml' },
15
+ ];
16
+ function toolConfigSnapshotPath(projectRoot) {
17
+ return resolve(projectRoot, '.aida', 'tool-configs.json');
18
+ }
19
+ function walkMarkdownFiles(rootDir) {
20
+ if (!fileExists(rootDir))
21
+ return [];
22
+ const result = [];
23
+ const stack = [rootDir];
24
+ while (stack.length > 0) {
25
+ const current = stack.pop();
26
+ for (const name of readdirSync(current)) {
27
+ const full = resolve(current, name);
28
+ const stat = statSync(full);
29
+ if (stat.isDirectory()) {
30
+ stack.push(full);
31
+ }
32
+ else if (name.endsWith('.md')) {
33
+ result.push(full);
34
+ }
35
+ }
36
+ }
37
+ return result.sort();
38
+ }
39
+ function parseMarkdownRuleCandidates(raw) {
40
+ const results = [];
41
+ for (const line of raw.split('\n')) {
42
+ const trimmed = line.trim();
43
+ if (!trimmed || trimmed.startsWith('#') || trimmed.startsWith('```') || trimmed.startsWith('>'))
44
+ continue;
45
+ const generatedMatch = trimmed.match(/^-\s+\[(?:RULE-\d+)\](?:\s+\[[A-Z]+\])?\s+(.+)$/);
46
+ if (generatedMatch) {
47
+ results.push(generatedMatch[1].trim());
48
+ continue;
49
+ }
50
+ const bulletMatch = trimmed.match(/^[-*]\s+(.+)$/);
51
+ if (bulletMatch) {
52
+ results.push(bulletMatch[1].trim());
53
+ continue;
54
+ }
55
+ const orderedMatch = trimmed.match(/^\d+\.\s+(.+)$/);
56
+ if (orderedMatch) {
57
+ results.push(orderedMatch[1].trim());
58
+ }
59
+ }
60
+ return results.filter((item) => item.length > 0);
61
+ }
62
+ function mergeImportedRules(projectRoot, contents, tool) {
63
+ const existing = loadRegistry(projectRoot);
64
+ const byFingerprint = new Set(existing.map((entry) => entry.fingerprint));
65
+ const merged = [...existing];
66
+ let imported = 0;
67
+ for (const content of contents) {
68
+ const fp = fingerprint(content);
69
+ if (byFingerprint.has(fp))
70
+ continue;
71
+ merged.push({
72
+ id: nextRuleId(merged),
73
+ category: 'general',
74
+ content,
75
+ fingerprint: fp,
76
+ source: {
77
+ branch: `import:${tool}`,
78
+ deviation: null,
79
+ author: 'import',
80
+ },
81
+ createdAt: new Date().toISOString(),
82
+ status: 'active',
83
+ });
84
+ byFingerprint.add(fp);
85
+ imported++;
86
+ }
87
+ if (imported > 0) {
88
+ saveRegistry(projectRoot, merged);
89
+ }
90
+ return { total: merged.length, imported };
91
+ }
92
+ function mergeImportedSkills(projectRoot, entries, tool) {
93
+ const existing = loadSkillRegistry(projectRoot);
94
+ const byName = new Map(existing.map((entry) => [entry.name, entry]));
95
+ const byFingerprint = new Set(existing.map((entry) => entry.fingerprint));
96
+ const merged = [...existing];
97
+ let imported = 0;
98
+ for (const item of entries) {
99
+ const fp = skillFingerprint(item.content);
100
+ const existingByName = byName.get(item.name);
101
+ if (existingByName) {
102
+ existingByName.content = item.content;
103
+ existingByName.fingerprint = fp;
104
+ existingByName.updatedAt = new Date().toISOString();
105
+ existingByName.status = 'active';
106
+ existingByName.source = {
107
+ kind: 'local',
108
+ path: item.sourcePath,
109
+ };
110
+ imported++;
111
+ byFingerprint.add(fp);
112
+ continue;
113
+ }
114
+ if (byFingerprint.has(fp))
115
+ continue;
116
+ const entry = {
117
+ id: nextSkillId(merged),
118
+ name: item.name,
119
+ content: item.content,
120
+ fingerprint: fp,
121
+ source: {
122
+ kind: 'local',
123
+ path: item.sourcePath,
124
+ },
125
+ updatedAt: new Date().toISOString(),
126
+ status: 'active',
127
+ };
128
+ merged.push(entry);
129
+ byName.set(entry.name, entry);
130
+ byFingerprint.add(fp);
131
+ imported++;
132
+ }
133
+ if (imported > 0) {
134
+ saveSkillRegistry(projectRoot, merged);
135
+ }
136
+ return { total: merged.length, imported };
137
+ }
138
+ export function detectImportableTools(projectRoot, tools) {
139
+ return tools.filter((tool) => {
140
+ switch (tool) {
141
+ case 'claude-code':
142
+ return fileExists(resolve(projectRoot, 'CLAUDE.md'))
143
+ || fileExists(resolve(projectRoot, '.claude', 'commands'))
144
+ || fileExists(resolve(projectRoot, '.mcp.json'));
145
+ case 'cursor':
146
+ return fileExists(resolve(projectRoot, '.cursor', 'rules'))
147
+ || fileExists(resolve(projectRoot, '.cursor', 'skills'))
148
+ || fileExists(resolve(projectRoot, '.cursor', 'mcp.json'));
149
+ case 'lingma':
150
+ return fileExists(resolve(projectRoot, '.lingma', 'rules'))
151
+ || fileExists(resolve(projectRoot, '.lingma', 'mcp.json'));
152
+ case 'codex':
153
+ return fileExists(resolve(projectRoot, 'AGENTS.md'))
154
+ || fileExists(resolve(process.env.HOME || homedir(), '.codex', 'config.toml'));
155
+ case 'vscode-copilot':
156
+ return fileExists(resolve(projectRoot, '.vscode', 'mcp.json'));
157
+ case 'windsurf':
158
+ return false;
159
+ }
160
+ });
161
+ }
162
+ export function importFromTool(projectRoot, tool) {
163
+ const ruleContents = [];
164
+ const skills = [];
165
+ switch (tool) {
166
+ case 'claude-code': {
167
+ const claude = resolve(projectRoot, 'CLAUDE.md');
168
+ if (fileExists(claude)) {
169
+ ruleContents.push(...parseMarkdownRuleCandidates(readText(claude)));
170
+ }
171
+ const commandDir = resolve(projectRoot, '.claude', 'commands');
172
+ for (const file of walkMarkdownFiles(commandDir)) {
173
+ const name = file.split('/').pop().replace(/\.md$/, '');
174
+ skills.push({
175
+ name,
176
+ content: readText(file),
177
+ sourcePath: file.replace(`${projectRoot}/`, ''),
178
+ });
179
+ }
180
+ break;
181
+ }
182
+ case 'cursor': {
183
+ const rulesDir = resolve(projectRoot, '.cursor', 'rules');
184
+ for (const file of walkMarkdownFiles(rulesDir)) {
185
+ ruleContents.push(...parseMarkdownRuleCandidates(readText(file)));
186
+ }
187
+ const skillsDir = resolve(projectRoot, '.cursor', 'skills');
188
+ for (const file of walkMarkdownFiles(skillsDir).filter((path) => path.endsWith('SKILL.md'))) {
189
+ const parts = file.split('/');
190
+ const name = parts[parts.length - 2];
191
+ skills.push({
192
+ name,
193
+ content: readText(file),
194
+ sourcePath: file.replace(`${projectRoot}/`, ''),
195
+ });
196
+ }
197
+ break;
198
+ }
199
+ case 'lingma': {
200
+ const rulesDir = resolve(projectRoot, '.lingma', 'rules');
201
+ for (const file of walkMarkdownFiles(rulesDir)) {
202
+ ruleContents.push(...parseMarkdownRuleCandidates(readText(file)));
203
+ }
204
+ break;
205
+ }
206
+ case 'codex': {
207
+ const agents = resolve(projectRoot, 'AGENTS.md');
208
+ if (fileExists(agents)) {
209
+ ruleContents.push(...parseMarkdownRuleCandidates(readText(agents)));
210
+ }
211
+ break;
212
+ }
213
+ case 'vscode-copilot':
214
+ case 'windsurf':
215
+ break;
216
+ }
217
+ const rulesResult = mergeImportedRules(projectRoot, [...new Set(ruleContents)], tool);
218
+ const skillResult = mergeImportedSkills(projectRoot, skills, tool);
219
+ return { rulesImported: rulesResult.imported, skillsImported: skillResult.imported };
220
+ }
221
+ function readStructured(filePath) {
222
+ if (!fileExists(filePath))
223
+ return null;
224
+ if (filePath.endsWith('.json')) {
225
+ try {
226
+ return readJson(filePath);
227
+ }
228
+ catch {
229
+ return readText(filePath);
230
+ }
231
+ }
232
+ return readText(filePath);
233
+ }
234
+ export function importExistingToolConfigs(projectRoot) {
235
+ const snapshots = [];
236
+ for (const source of TOOL_SOURCES) {
237
+ const path = source.path(projectRoot);
238
+ if (!fileExists(path))
239
+ continue;
240
+ snapshots.push({
241
+ tool: source.tool,
242
+ path: path.replace(`${projectRoot}/`, ''),
243
+ format: source.format,
244
+ content: readStructured(path),
245
+ });
246
+ }
247
+ const home = process.env.HOME || homedir();
248
+ const codexGlobalPath = resolve(home, '.codex', 'config.toml');
249
+ if (fileExists(codexGlobalPath)) {
250
+ snapshots.push({
251
+ tool: 'codex',
252
+ path: codexGlobalPath,
253
+ format: 'toml',
254
+ content: readText(codexGlobalPath),
255
+ });
256
+ }
257
+ const tools = [...new Set(snapshots.map((item) => item.tool))];
258
+ const snapshotPath = toolConfigSnapshotPath(projectRoot);
259
+ ensureDir(dirname(snapshotPath));
260
+ writeJson(snapshotPath, {
261
+ importedAt: new Date().toISOString(),
262
+ tools,
263
+ snapshots,
264
+ });
265
+ return { tools, snapshots, snapshotPath };
266
+ }
267
+ export function mergeConfiguredTools(projectRoot, tools) {
268
+ if (!fileExists(configPath(projectRoot)))
269
+ return tools;
270
+ const config = readJson(configPath(projectRoot));
271
+ const existing = Array.isArray(config.aiTools)
272
+ ? config.aiTools
273
+ : config.aiTool
274
+ ? [config.aiTool]
275
+ : [];
276
+ const merged = [...new Set([...existing, ...tools])];
277
+ config.aiTools = merged;
278
+ if (!config.aiTool && merged.length === 1) {
279
+ config.aiTool = merged[0];
280
+ }
281
+ writeJson(configPath(projectRoot), config);
282
+ return merged;
283
+ }
284
+ export function importProjectSources(projectRoot) {
285
+ const rules = importRulesFromViews(projectRoot);
286
+ const skills = importSkillsFromViews(projectRoot);
287
+ const toolConfigs = importExistingToolConfigs(projectRoot);
288
+ const tools = mergeConfiguredTools(projectRoot, toolConfigs.tools);
289
+ const gitignoreAdded = ensureBuildGitignore(projectRoot, tools);
290
+ return {
291
+ rulesImported: rules.imported,
292
+ skillsImported: skills.imported,
293
+ tools,
294
+ snapshotPath: toolConfigs.snapshotPath,
295
+ gitignoreAdded,
296
+ };
297
+ }
298
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/utils/import.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ export declare const SKILLS_DIR: string;
8
8
  export declare const TEMPLATES_DIR: string;
9
9
  /** Dashboard HTML file */
10
10
  export declare const DASHBOARD_FILE: string;
11
- /** .aidevos directory in user's project */
12
- export declare function aidevosDir(projectRoot?: string): string;
11
+ /** .aida directory in user's project */
12
+ export declare function aidaDir(projectRoot?: string): string;
13
13
  /** Runs directory */
14
14
  export declare function runsDir(projectRoot?: string): string;
15
15
  /** Run data directory for a specific branch + developer */
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAMA,2BAA2B;AAC3B,eAAO,MAAM,YAAY,QAAiC,CAAC;AAE3D,+BAA+B;AAC/B,eAAO,MAAM,UAAU,QAAyC,CAAC;AAEjE,0BAA0B;AAC1B,eAAO,MAAM,UAAU,QAAgC,CAAC;AAExD,6BAA6B;AAC7B,eAAO,MAAM,aAAa,QAAmC,CAAC;AAE9D,0BAA0B;AAC1B,eAAO,MAAM,cAAc,QAA0D,CAAC;AAEtF,2CAA2C;AAC3C,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEtE;AAED,qBAAqB;AACrB,wBAAgB,OAAO,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEnE;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,CAGR;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED,oCAAoC;AACpC,wBAAgB,SAAS,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAErE;AAED,uBAAuB;AACvB,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEtE"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAMA,2BAA2B;AAC3B,eAAO,MAAM,YAAY,QAAiC,CAAC;AAE3D,+BAA+B;AAC/B,eAAO,MAAM,UAAU,QAAyC,CAAC;AAEjE,0BAA0B;AAC1B,eAAO,MAAM,UAAU,QAAgC,CAAC;AAExD,6BAA6B;AAC7B,eAAO,MAAM,aAAa,QAAmC,CAAC;AAE9D,0BAA0B;AAC1B,eAAO,MAAM,cAAc,QAA0D,CAAC;AAEtF,wCAAwC;AACxC,wBAAgB,OAAO,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEnE;AAED,qBAAqB;AACrB,wBAAgB,OAAO,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEnE;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,CAGR;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED,oCAAoC;AACpC,wBAAgB,SAAS,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAErE;AAED,uBAAuB;AACvB,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEtE"}
@@ -12,23 +12,23 @@ export const SKILLS_DIR = resolve(ASSETS_DIR, 'skills');
12
12
  export const TEMPLATES_DIR = resolve(ASSETS_DIR, 'templates');
13
13
  /** Dashboard HTML file */
14
14
  export const DASHBOARD_FILE = resolve(PACKAGE_ROOT, 'src', 'dashboard', 'index.html');
15
- /** .aidevos directory in user's project */
16
- export function aidevosDir(projectRoot = process.cwd()) {
17
- return resolve(projectRoot, '.aidevos');
15
+ /** .aida directory in user's project */
16
+ export function aidaDir(projectRoot = process.cwd()) {
17
+ return resolve(projectRoot, '.aida');
18
18
  }
19
19
  /** Runs directory */
20
20
  export function runsDir(projectRoot = process.cwd()) {
21
- return resolve(projectRoot, '.aidevos', 'runs');
21
+ return resolve(projectRoot, '.aida', 'runs');
22
22
  }
23
23
  /** Run data directory for a specific branch + developer */
24
24
  export function runDir(projectRoot, branchName, devName) {
25
25
  const safeBranch = branchName.replace(/\//g, '-');
26
- return resolve(projectRoot, '.aidevos', 'runs', safeBranch, devName);
26
+ return resolve(projectRoot, '.aida', 'runs', safeBranch, devName);
27
27
  }
28
28
  /** Branch-level directory (shared PRD, analysis, requirement.json) */
29
29
  export function branchDir(projectRoot, branchName) {
30
30
  const safeBranch = branchName.replace(/\//g, '-');
31
- return resolve(projectRoot, '.aidevos', 'runs', safeBranch);
31
+ return resolve(projectRoot, '.aida', 'runs', safeBranch);
32
32
  }
33
33
  /** Branch-level requirement.json path */
34
34
  export function requirementPath(projectRoot, branchName) {
@@ -36,10 +36,10 @@ export function requirementPath(projectRoot, branchName) {
36
36
  }
37
37
  /** Project-level index.json path */
38
38
  export function indexPath(projectRoot = process.cwd()) {
39
- return resolve(projectRoot, '.aidevos', 'index.json');
39
+ return resolve(projectRoot, '.aida', 'index.json');
40
40
  }
41
41
  /** Config file path */
42
42
  export function configPath(projectRoot = process.cwd()) {
43
- return resolve(projectRoot, '.aidevos', 'config.json');
43
+ return resolve(projectRoot, '.aida', 'config.json');
44
44
  }
45
45
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEjE,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAExD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE9D,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAEtF,2CAA2C;AAC3C,MAAM,UAAU,UAAU,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC5D,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,OAAO,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACzD,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,MAAM,CACpB,WAAmB,EACnB,UAAkB,EAClB,OAAe;IAEf,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,SAAS,CACvB,WAAmB,EACnB,UAAkB;IAElB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,UAAkB;IAElB,OAAO,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC3D,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,UAAU,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC5D,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEjE,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAExD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE9D,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAEtF,wCAAwC;AACxC,MAAM,UAAU,OAAO,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACzD,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,OAAO,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACzD,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,MAAM,CACpB,WAAmB,EACnB,UAAkB,EAClB,OAAe;IAEf,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,SAAS,CACvB,WAAmB,EACnB,UAAkB;IAElB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,UAAkB;IAElB,OAAO,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC3D,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,UAAU,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC5D,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACtD,CAAC"}
@@ -4,6 +4,11 @@ export declare function rulesViewDir(projectRoot: string): string;
4
4
  export declare function fingerprint(content: string): string;
5
5
  export declare function loadRegistry(projectRoot: string): RuleRegistryEntry[];
6
6
  export declare function saveRegistry(projectRoot: string, entries: RuleRegistryEntry[]): void;
7
+ export declare function importRulesFromViews(projectRoot: string): {
8
+ entries: RuleRegistryEntry[];
9
+ imported: number;
10
+ };
11
+ export declare function bootstrapRuleRegistry(projectRoot: string): RuleRegistryEntry[];
7
12
  export declare function nextRuleId(entries: RuleRegistryEntry[]): string;
8
13
  /**
9
14
  * Add a rule to the registry. Returns the entry if added, or the existing entry if duplicate.
@@ -20,7 +25,7 @@ export declare function addRule(projectRoot: string, opts: {
20
25
  isDuplicate: boolean;
21
26
  };
22
27
  /**
23
- * Rebuild all .aidevos/rules/*.md from rules.json.
28
+ * Rebuild all .aida/rules/*.md from rules.json.
24
29
  * Returns the number of categories written.
25
30
  */
26
31
  export declare function buildRuleViews(projectRoot: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/utils/rules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAYD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAID,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CASrE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAEpF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAS/D;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;CACtC,GACA;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CA2BpD;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0D1D;AAoBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,iBAAiB,EAAE,EACzB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B;IAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBhD;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,EAAE,GAC3B;IAAE,CAAC,EAAE,iBAAiB,CAAC;IAAC,CAAC,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAsCtE"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/utils/rules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAYD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAID,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CASrE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAEpF;AAgED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkE5G;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAI9E;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAS/D;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;CACtC,GACA;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CA2BpD;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0D1D;AAoBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,iBAAiB,EAAE,EACzB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B;IAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBhD;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,EAAE,GAC3B;IAAE,CAAC,EAAE,iBAAiB,CAAC;IAAC,CAAC,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAsCtE"}
@@ -1,13 +1,13 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { resolve } from 'node:path';
3
- import { fileExists, readJson, writeJson, writeText, ensureDir } from './fs.js';
4
- import { aidevosDir } from './paths.js';
3
+ import { fileExists, readJson, writeJson, writeText, ensureDir, readText } from './fs.js';
4
+ import { aidaDir } from './paths.js';
5
5
  // ─── Paths ────────────────────────────────────────────────
6
6
  export function registryPath(projectRoot) {
7
- return resolve(aidevosDir(projectRoot), 'rules.json');
7
+ return resolve(aidaDir(projectRoot), 'rules.json');
8
8
  }
9
9
  export function rulesViewDir(projectRoot) {
10
- return resolve(aidevosDir(projectRoot), 'rules');
10
+ return resolve(aidaDir(projectRoot), 'rules');
11
11
  }
12
12
  // ─── Fingerprint ──────────────────────────────────────────
13
13
  function normalize(content) {
@@ -36,6 +36,126 @@ export function loadRegistry(projectRoot) {
36
36
  export function saveRegistry(projectRoot, entries) {
37
37
  writeJson(registryPath(projectRoot), entries);
38
38
  }
39
+ function categoryFromTitle(title) {
40
+ const normalized = title.trim().toLowerCase();
41
+ const mapping = {
42
+ component: 'component',
43
+ api: 'api',
44
+ style: 'style',
45
+ i18n: 'i18n',
46
+ architecture: 'architecture',
47
+ 'state management': 'state-management',
48
+ routing: 'routing',
49
+ testing: 'testing',
50
+ process: 'process',
51
+ general: 'general',
52
+ };
53
+ return mapping[normalized] || 'general';
54
+ }
55
+ function parseRuleLines(raw, categoryHint) {
56
+ const lines = raw.split('\n');
57
+ const parsed = [];
58
+ let currentCategory = categoryHint || 'general';
59
+ for (const line of lines) {
60
+ const headingMatch = line.match(/^##\s+(.+?)\s*$/);
61
+ if (headingMatch) {
62
+ currentCategory = categoryFromTitle(headingMatch[1].replace(/\s+Rules$/, ''));
63
+ continue;
64
+ }
65
+ const ruleMatch = line.match(/^- \[(RULE-\d+)\](?: \[([A-Z]+)\])?\s+(.+)$/);
66
+ if (ruleMatch) {
67
+ const status = ruleMatch[2]?.toLowerCase() === 'pending'
68
+ ? 'pending'
69
+ : ruleMatch[2]?.toLowerCase() === 'conflict'
70
+ ? 'conflict'
71
+ : 'active';
72
+ parsed.push({
73
+ id: ruleMatch[1],
74
+ category: currentCategory,
75
+ content: ruleMatch[3].trim(),
76
+ status,
77
+ });
78
+ continue;
79
+ }
80
+ const fallbackMatch = line.match(/^- (.+)$/);
81
+ if (fallbackMatch && !line.startsWith('<!--')) {
82
+ parsed.push({
83
+ id: '',
84
+ category: currentCategory,
85
+ content: fallbackMatch[1].trim(),
86
+ status: 'active',
87
+ });
88
+ }
89
+ }
90
+ return parsed.filter((entry) => entry.content.length > 0);
91
+ }
92
+ export function importRulesFromViews(projectRoot) {
93
+ const existing = loadRegistry(projectRoot);
94
+ const byFingerprint = new Map(existing.map((entry) => [entry.fingerprint, entry]));
95
+ const byId = new Map(existing.map((entry) => [entry.id, entry]));
96
+ const viewDir = rulesViewDir(projectRoot);
97
+ const now = new Date().toISOString();
98
+ const parsed = [];
99
+ const categoryFiles = ['component', 'api', 'style', 'i18n', 'architecture', 'state-management', 'routing', 'testing', 'process', 'general']
100
+ .map((category) => ({ category, path: resolve(viewDir, `${category}.md`) }))
101
+ .filter((entry) => fileExists(entry.path));
102
+ if (categoryFiles.length > 0) {
103
+ for (const file of categoryFiles) {
104
+ parsed.push(...parseRuleLines(readText(file.path), file.category));
105
+ }
106
+ }
107
+ else {
108
+ const allPath = resolve(viewDir, '_all.md');
109
+ if (fileExists(allPath)) {
110
+ parsed.push(...parseRuleLines(readText(allPath)));
111
+ }
112
+ }
113
+ let imported = 0;
114
+ const merged = [...existing];
115
+ for (const item of parsed) {
116
+ const fp = fingerprint(item.content);
117
+ const existingByFingerprint = byFingerprint.get(fp);
118
+ if (existingByFingerprint)
119
+ continue;
120
+ const existingById = item.id ? byId.get(item.id) : undefined;
121
+ if (existingById) {
122
+ existingById.category = item.category;
123
+ existingById.content = item.content;
124
+ existingById.fingerprint = fp;
125
+ existingById.status = item.status;
126
+ imported++;
127
+ byFingerprint.set(fp, existingById);
128
+ continue;
129
+ }
130
+ const entry = {
131
+ id: item.id || nextRuleId(merged),
132
+ category: item.category,
133
+ content: item.content,
134
+ fingerprint: fp,
135
+ source: {
136
+ branch: 'imported',
137
+ deviation: null,
138
+ author: 'import',
139
+ },
140
+ createdAt: now,
141
+ status: item.status,
142
+ };
143
+ merged.push(entry);
144
+ byFingerprint.set(fp, entry);
145
+ byId.set(entry.id, entry);
146
+ imported++;
147
+ }
148
+ if (imported > 0 || existing.length === 0) {
149
+ saveRegistry(projectRoot, merged);
150
+ }
151
+ return { entries: merged, imported };
152
+ }
153
+ export function bootstrapRuleRegistry(projectRoot) {
154
+ const existing = loadRegistry(projectRoot);
155
+ if (existing.length > 0)
156
+ return existing;
157
+ return importRulesFromViews(projectRoot).entries;
158
+ }
39
159
  export function nextRuleId(entries) {
40
160
  const nums = entries
41
161
  .map((e) => {
@@ -76,11 +196,11 @@ export function addRule(projectRoot, opts) {
76
196
  }
77
197
  // ─── Build Views ──────────────────────────────────────────
78
198
  /**
79
- * Rebuild all .aidevos/rules/*.md from rules.json.
199
+ * Rebuild all .aida/rules/*.md from rules.json.
80
200
  * Returns the number of categories written.
81
201
  */
82
202
  export function buildRuleViews(projectRoot) {
83
- const entries = loadRegistry(projectRoot);
203
+ const entries = bootstrapRuleRegistry(projectRoot);
84
204
  const viewDir = rulesViewDir(projectRoot);
85
205
  ensureDir(viewDir);
86
206
  // Group by category
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/utils/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/utils/rules.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export declare function loadRunJson(projectRoot: string): {
28
28
  export declare function createInitialRunData(branch: string, dev: string, config: Record<string, any>): RunData;
29
29
  /**
30
30
  * Ensure run.json exists (lazy init).
31
- * Creates .aidevos/, config.json, run.json, branch-level files if missing.
31
+ * Creates .aida/, config.json, run.json, branch-level files if missing.
32
32
  */
33
33
  export declare function ensureRunJson(projectRoot: string): {
34
34
  path: string;