ai-dev-analytics 1.1.1 → 1.1.3

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 (86) hide show
  1. package/README.md +26 -11
  2. package/README.zh-CN.md +26 -11
  3. package/dist/cli/commands/build.d.ts.map +1 -1
  4. package/dist/cli/commands/build.js +1 -4
  5. package/dist/cli/commands/build.js.map +1 -1
  6. package/dist/cli/commands/import.d.ts.map +1 -1
  7. package/dist/cli/commands/import.js +12 -4
  8. package/dist/cli/commands/import.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +6 -2
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/log.d.ts.map +1 -1
  13. package/dist/cli/commands/log.js +4 -3
  14. package/dist/cli/commands/log.js.map +1 -1
  15. package/dist/cli/commands/memory.d.ts +2 -0
  16. package/dist/cli/commands/memory.d.ts.map +1 -0
  17. package/dist/cli/commands/memory.js +197 -0
  18. package/dist/cli/commands/memory.js.map +1 -0
  19. package/dist/cli/commands/merge.d.ts.map +1 -1
  20. package/dist/cli/commands/merge.js +2 -0
  21. package/dist/cli/commands/merge.js.map +1 -1
  22. package/dist/cli/commands/migrate-dir.d.ts.map +1 -1
  23. package/dist/cli/commands/migrate-dir.js +30 -3
  24. package/dist/cli/commands/migrate-dir.js.map +1 -1
  25. package/dist/cli/commands/migrate-legacy.d.ts.map +1 -1
  26. package/dist/cli/commands/migrate-legacy.js +65 -14
  27. package/dist/cli/commands/migrate-legacy.js.map +1 -1
  28. package/dist/cli/commands/rules.d.ts.map +1 -1
  29. package/dist/cli/commands/rules.js +12 -15
  30. package/dist/cli/commands/rules.js.map +1 -1
  31. package/dist/cli/commands/skills.d.ts.map +1 -1
  32. package/dist/cli/commands/skills.js +7 -7
  33. package/dist/cli/commands/skills.js.map +1 -1
  34. package/dist/cli/commands/start.d.ts.map +1 -1
  35. package/dist/cli/commands/start.js +9 -23
  36. package/dist/cli/commands/start.js.map +1 -1
  37. package/dist/cli/commands/update.d.ts.map +1 -1
  38. package/dist/cli/commands/update.js +15 -109
  39. package/dist/cli/commands/update.js.map +1 -1
  40. package/dist/cli/index.js +6 -0
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/mcp/server.d.ts.map +1 -1
  43. package/dist/mcp/server.js +266 -3
  44. package/dist/mcp/server.js.map +1 -1
  45. package/dist/schemas/aida-project.d.ts +73 -0
  46. package/dist/schemas/aida-project.d.ts.map +1 -0
  47. package/dist/schemas/aida-project.js +2 -0
  48. package/dist/schemas/aida-project.js.map +1 -0
  49. package/dist/utils/ai-build.d.ts +7 -3
  50. package/dist/utils/ai-build.d.ts.map +1 -1
  51. package/dist/utils/ai-build.js +154 -49
  52. package/dist/utils/ai-build.js.map +1 -1
  53. package/dist/utils/guide.d.ts.map +1 -1
  54. package/dist/utils/guide.js +15 -9
  55. package/dist/utils/guide.js.map +1 -1
  56. package/dist/utils/import.d.ts +11 -9
  57. package/dist/utils/import.d.ts.map +1 -1
  58. package/dist/utils/import.js +94 -30
  59. package/dist/utils/import.js.map +1 -1
  60. package/dist/utils/memory.d.ts +49 -0
  61. package/dist/utils/memory.d.ts.map +1 -0
  62. package/dist/utils/memory.js +657 -0
  63. package/dist/utils/memory.js.map +1 -0
  64. package/dist/utils/paths.d.ts +22 -0
  65. package/dist/utils/paths.d.ts.map +1 -1
  66. package/dist/utils/paths.js +48 -1
  67. package/dist/utils/paths.js.map +1 -1
  68. package/dist/utils/rules.d.ts +5 -2
  69. package/dist/utils/rules.d.ts.map +1 -1
  70. package/dist/utils/rules.js +54 -48
  71. package/dist/utils/rules.js.map +1 -1
  72. package/dist/utils/skills.d.ts +6 -0
  73. package/dist/utils/skills.d.ts.map +1 -1
  74. package/dist/utils/skills.js +10 -3
  75. package/dist/utils/skills.js.map +1 -1
  76. package/package.json +1 -1
  77. package/src/assets/skills/audit.md +6 -6
  78. package/src/assets/skills/bug-fixer.md +3 -3
  79. package/src/assets/skills/code-generator.md +3 -3
  80. package/src/assets/skills/dev-flower.md +2 -2
  81. package/src/assets/skills/deviation-recorder.md +5 -5
  82. package/src/assets/skills/requirement-analyzer.md +2 -2
  83. package/src/assets/skills/rules-evolver.md +5 -5
  84. package/src/assets/skills/self-reviewer.md +3 -3
  85. package/src/assets/skills/task-splitter.md +2 -2
  86. package/src/assets/skills/workflow-orchestrator.md +9 -9
@@ -0,0 +1,197 @@
1
+ import { cyan, green, red, yellow } from '../../utils/display.js';
2
+ import { getBranchName } from '../../utils/git.js';
3
+ import { buildMemoryViews, loadModuleMemory, loadRunContext, loadRunMemoryPack, migrateLegacyMemories, rebuildCurrentBranchMemory, searchModuleMemories, updateRunContext, upsertModuleMemory } from '../../utils/memory.js';
4
+ import { fileExists, readText } from '../../utils/fs.js';
5
+ import { moduleMemoryViewPath, runContextViewPath, runMemoryPackViewPath } from '../../utils/paths.js';
6
+ function commandArg(index) {
7
+ return (process.argv[index] || '').trim();
8
+ }
9
+ function parseList(value) {
10
+ if (!value)
11
+ return [];
12
+ return value
13
+ .split(',')
14
+ .map((item) => item.trim())
15
+ .filter(Boolean);
16
+ }
17
+ function parseFlags(args) {
18
+ const flags = {};
19
+ for (let i = 0; i < args.length; i++) {
20
+ const current = args[i];
21
+ if (!current.startsWith('--'))
22
+ continue;
23
+ const next = args[i + 1];
24
+ if (next && !next.startsWith('--')) {
25
+ flags[current.slice(2)] = next;
26
+ i++;
27
+ }
28
+ else {
29
+ flags[current.slice(2)] = 'true';
30
+ }
31
+ }
32
+ return flags;
33
+ }
34
+ function printUsage() {
35
+ console.log(`
36
+ aida memory rebuild [branch] Rebuild current branch context + module memories from run/requirement data
37
+ aida memory migrate-legacy Migrate contexts/memories from existing .aida/.aidevos run data
38
+ aida memory build Render markdown views from memory JSON source
39
+ aida memory search <query> Search module memory index
40
+ aida memory show <moduleKey> Show a module memory markdown view
41
+ aida memory context [branch] Show branch context markdown view
42
+ aida memory pack [branch] Show aggregated runtime memory pack
43
+ aida memory upsert <moduleKey> [--title ... --summary ... --keywords a,b]
44
+ aida memory context-update [branch] [--summary ... --phase ... --modules a,b]
45
+ `);
46
+ }
47
+ export async function memory() {
48
+ const projectRoot = process.cwd();
49
+ const action = commandArg(3);
50
+ switch (action) {
51
+ case 'rebuild': {
52
+ const branchName = commandArg(4) || getBranchName();
53
+ const result = rebuildCurrentBranchMemory(projectRoot, branchName);
54
+ if (!result.context) {
55
+ console.log(yellow(`\n No branch data found for ${branchName}\n`));
56
+ return;
57
+ }
58
+ console.log(green('\n ✓ Rebuilt memory') + ` for ${branchName}`);
59
+ console.log(` Context: ${runContextViewPath(projectRoot, branchName)}`);
60
+ console.log(` Modules: ${result.modules.length}`);
61
+ return;
62
+ }
63
+ case 'migrate-legacy': {
64
+ const result = migrateLegacyMemories(projectRoot);
65
+ console.log(green('\n ✓ Migrated legacy memory data'));
66
+ console.log(` Branches: ${result.branches}`);
67
+ console.log(` Contexts: ${result.contextsWritten}`);
68
+ console.log(` Module memories: ${result.moduleMemoriesWritten}`);
69
+ console.log(` Modules touched: ${result.modulesTouched.join(', ') || '-'}`);
70
+ return;
71
+ }
72
+ case 'build': {
73
+ const result = buildMemoryViews(projectRoot);
74
+ console.log(green('\n ✓ Built memory views'));
75
+ console.log(` Module views: ${result.moduleViews}`);
76
+ console.log(` Context views: ${result.contextViews}`);
77
+ console.log(` Pack views: ${result.packViews}`);
78
+ return;
79
+ }
80
+ case 'search': {
81
+ const query = process.argv.slice(4).join(' ').trim();
82
+ if (!query) {
83
+ console.log(red('\n Missing query: aida memory search <query>\n'));
84
+ return;
85
+ }
86
+ const hits = searchModuleMemories(projectRoot, query);
87
+ if (hits.length === 0) {
88
+ console.log(yellow(`\n No module memory matched "${query}"\n`));
89
+ return;
90
+ }
91
+ console.log(cyan(`\n Module memory matches for "${query}"\n`));
92
+ for (const hit of hits) {
93
+ console.log(` - ${hit.key} | ${hit.title} | ${hit.summary}`);
94
+ }
95
+ console.log('');
96
+ return;
97
+ }
98
+ case 'show': {
99
+ const moduleKey = commandArg(4);
100
+ if (!moduleKey) {
101
+ console.log(red('\n Missing moduleKey: aida memory show <moduleKey>\n'));
102
+ return;
103
+ }
104
+ const record = loadModuleMemory(projectRoot, moduleKey);
105
+ if (!record) {
106
+ console.log(yellow(`\n Module memory not found: ${moduleKey}\n`));
107
+ return;
108
+ }
109
+ const viewPath = moduleMemoryViewPath(projectRoot, record.moduleKey);
110
+ const output = fileExists(viewPath) ? readText(viewPath) : JSON.stringify(record, null, 2);
111
+ process.stdout.write(output.endsWith('\n') ? output : `${output}\n`);
112
+ return;
113
+ }
114
+ case 'context': {
115
+ const branchName = commandArg(4) || getBranchName();
116
+ const record = loadRunContext(projectRoot, branchName);
117
+ if (!record) {
118
+ console.log(yellow(`\n Context not found for branch: ${branchName}\n`));
119
+ return;
120
+ }
121
+ const viewPath = runContextViewPath(projectRoot, branchName);
122
+ const output = fileExists(viewPath) ? readText(viewPath) : JSON.stringify(record, null, 2);
123
+ process.stdout.write(output.endsWith('\n') ? output : `${output}\n`);
124
+ return;
125
+ }
126
+ case 'pack': {
127
+ const branchName = commandArg(4) || getBranchName();
128
+ const pack = loadRunMemoryPack(projectRoot, branchName);
129
+ if (!pack) {
130
+ console.log(yellow(`\n Memory pack not found for branch: ${branchName}\n`));
131
+ return;
132
+ }
133
+ const viewPath = runMemoryPackViewPath(projectRoot, branchName);
134
+ const output = fileExists(viewPath)
135
+ ? readText(viewPath)
136
+ : JSON.stringify(pack, null, 2);
137
+ process.stdout.write(output.endsWith('\n') ? output : `${output}\n`);
138
+ return;
139
+ }
140
+ case 'upsert': {
141
+ const moduleKey = commandArg(4);
142
+ if (!moduleKey) {
143
+ console.log(red('\n Missing moduleKey: aida memory upsert <moduleKey> [--title ...]\n'));
144
+ return;
145
+ }
146
+ const flags = parseFlags(process.argv.slice(5));
147
+ const record = upsertModuleMemory(projectRoot, {
148
+ moduleKey,
149
+ title: flags.title,
150
+ summary: flags.summary,
151
+ keywords: parseList(flags.keywords),
152
+ entryFiles: parseList(flags['entry-files']),
153
+ relatedPaths: parseList(flags.paths),
154
+ dataFlow: parseList(flags['data-flow']),
155
+ decisions: parseList(flags.decisions),
156
+ constraints: parseList(flags.constraints),
157
+ pitfalls: parseList(flags.pitfalls),
158
+ relatedRules: parseList(flags.rules),
159
+ tickets: [{
160
+ ticket: flags.ticket,
161
+ branch: flags.branch || getBranchName(),
162
+ summary: flags['ticket-summary'] || flags.summary || '',
163
+ updatedAt: new Date().toISOString(),
164
+ }],
165
+ });
166
+ buildMemoryViews(projectRoot);
167
+ console.log(green('\n ✓ Module memory updated') + `: ${record.moduleKey}\n`);
168
+ return;
169
+ }
170
+ case 'context-update': {
171
+ const maybeBranch = commandArg(4);
172
+ const branchName = maybeBranch && !maybeBranch.startsWith('--') ? maybeBranch : getBranchName();
173
+ const flags = parseFlags(process.argv.slice(maybeBranch && !maybeBranch.startsWith('--') ? 5 : 4));
174
+ const record = updateRunContext(projectRoot, {
175
+ branch: branchName,
176
+ ticket: flags.ticket,
177
+ title: flags.title,
178
+ summary: flags.summary,
179
+ currentPhase: flags.phase,
180
+ modules: parseList(flags.modules),
181
+ completed: parseList(flags.completed),
182
+ inProgress: parseList(flags['in-progress']),
183
+ next: parseList(flags.next),
184
+ decisions: parseList(flags.decisions),
185
+ constraints: parseList(flags.constraints),
186
+ keyFiles: parseList(flags.files),
187
+ risks: parseList(flags.risks),
188
+ });
189
+ buildMemoryViews(projectRoot);
190
+ console.log(green('\n ✓ Branch context updated') + `: ${record.branch}\n`);
191
+ return;
192
+ }
193
+ default:
194
+ printUsage();
195
+ }
196
+ }
197
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/merge.ts"],"names":[],"mappings":"AAOA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C3C"}
@@ -1,6 +1,7 @@
1
1
  import { green, red, yellow } from '../../utils/display.js';
2
2
  import { configPath } from '../../utils/paths.js';
3
3
  import { fileExists } from '../../utils/fs.js';
4
+ import { buildProjectArtifacts } from '../../utils/ai-build.js';
4
5
  import { mergeRulesRegistry } from './rules.js';
5
6
  import { mergeSkillsRegistry } from './skills.js';
6
7
  export async function merge() {
@@ -39,6 +40,7 @@ export async function merge() {
39
40
  console.log(yellow('\n No registry conflicts detected.\n'));
40
41
  return;
41
42
  }
43
+ buildProjectArtifacts(projectRoot);
42
44
  console.log(green('\n ✓ Registry merge completed\n'));
43
45
  for (const line of lines)
44
46
  console.log(line);
@@ -1 +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"}
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,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,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,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAEnC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-dir.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-dir.ts"],"names":[],"mappings":"AA0DA,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG;IAC3D,MAAM,EAAE,UAAU,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;CACrB,CA4BA;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBhD"}
1
+ {"version":3,"file":"migrate-dir.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-dir.ts"],"names":[],"mappings":"AAqFA,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG;IAC3D,MAAM,EAAE,UAAU,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;CACrB,CA8BA;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BhD"}
@@ -1,4 +1,4 @@
1
- import { readdirSync, renameSync, statSync } from 'node:fs';
1
+ import { readdirSync, renameSync, rmSync, statSync } from 'node:fs';
2
2
  import { resolve, extname, basename } from 'node:path';
3
3
  import { cyan, green, red, yellow } from '../../utils/display.js';
4
4
  import { fileExists, readText, writeText } from '../../utils/fs.js';
@@ -51,12 +51,36 @@ function walkAndReplace(rootDir) {
51
51
  }
52
52
  return updated;
53
53
  }
54
+ function normalizeLegacyToolArtifactDirs(projectRoot) {
55
+ let updated = 0;
56
+ const oldCursorRulesDir = resolve(projectRoot, '.cursor', 'rules', 'aidevos');
57
+ const newCursorRulesDir = resolve(projectRoot, '.cursor', 'rules', 'aida');
58
+ if (fileExists(oldCursorRulesDir)) {
59
+ if (!fileExists(newCursorRulesDir)) {
60
+ renameSync(oldCursorRulesDir, newCursorRulesDir);
61
+ updated++;
62
+ }
63
+ else {
64
+ for (const name of readdirSync(oldCursorRulesDir)) {
65
+ const source = resolve(oldCursorRulesDir, name);
66
+ const target = resolve(newCursorRulesDir, name);
67
+ if (!fileExists(target)) {
68
+ renameSync(source, target);
69
+ updated++;
70
+ }
71
+ }
72
+ rmSync(oldCursorRulesDir, { recursive: true, force: true });
73
+ updated++;
74
+ }
75
+ }
76
+ return updated;
77
+ }
54
78
  export function migrateLegacyDirectory(projectRoot) {
55
79
  const oldDir = resolve(projectRoot, '.aidevos');
56
80
  const newDir = resolve(projectRoot, '.aida');
57
81
  if (!fileExists(oldDir)) {
58
82
  if (fileExists(newDir)) {
59
- return { status: 'already-current', updatedFiles: 0 };
83
+ return { status: 'already-current', updatedFiles: normalizeLegacyToolArtifactDirs(projectRoot) };
60
84
  }
61
85
  return { status: 'missing-legacy', updatedFiles: 0 };
62
86
  }
@@ -72,6 +96,7 @@ export function migrateLegacyDirectory(projectRoot) {
72
96
  updatedFiles++;
73
97
  }
74
98
  }
99
+ updatedFiles += normalizeLegacyToolArtifactDirs(projectRoot);
75
100
  return { status: 'migrated', updatedFiles };
76
101
  }
77
102
  export async function migrateDir() {
@@ -93,6 +118,8 @@ export async function migrateDir() {
93
118
  console.log(cyan('\n Migrating project directory: .aidevos -> .aida\n'));
94
119
  console.log(green(' ✓ Directory renamed') + ': .aida');
95
120
  console.log(green(' ✓ Updated references') + `: ${result.updatedFiles} text file(s)`);
96
- console.log('\n Next step: run `aida build` to regenerate local AI tool artifacts.\n');
121
+ console.log('\n Next step: run `aida build` to regenerate local AI tool artifacts.');
122
+ console.log(' Note: if ignored AI files were already tracked by git before migration, untrack them manually.');
123
+ console.log(' Example: git rm --cached .mcp.json AGENTS.md CLAUDE.md\n');
97
124
  }
98
125
  //# sourceMappingURL=migrate-dir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-dir.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-dir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-dir.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-dir.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-legacy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-legacy.ts"],"names":[],"mappings":"AA6CA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA2DnD"}
1
+ {"version":3,"file":"migrate-legacy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-legacy.ts"],"names":[],"mappings":"AA0EA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA8EnD"}
@@ -1,9 +1,9 @@
1
1
  import { cyan, green, red, yellow } from '../../utils/display.js';
2
2
  import { configPath } from '../../utils/paths.js';
3
- import { fileExists } from '../../utils/fs.js';
3
+ import { fileExists, readJson } from '../../utils/fs.js';
4
4
  import { buildProjectArtifacts } from '../../utils/ai-build.js';
5
5
  import { detectImportableTools, importProjectSources, importProjectSourcesWithBaseline } from '../../utils/import.js';
6
- import { promptSingleSelect } from '../../utils/prompt.js';
6
+ import { migrateLegacyMemories } from '../../utils/memory.js';
7
7
  import { migrate } from './migrate.js';
8
8
  import { migrateLegacyDirectory } from './migrate-dir.js';
9
9
  function requestedBaseline() {
@@ -11,7 +11,7 @@ function requestedBaseline() {
11
11
  if (!value)
12
12
  return null;
13
13
  const valid = new Set(['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex']);
14
- return valid.has(value) ? value : null;
14
+ return valid.has(value) ? value : 'invalid';
15
15
  }
16
16
  function toolLabel(tool) {
17
17
  const labels = {
@@ -24,21 +24,51 @@ function toolLabel(tool) {
24
24
  };
25
25
  return labels[tool];
26
26
  }
27
+ function printManualUntrackNotice() {
28
+ console.log(' Note: if ignored AI files were already tracked by git before migration, untrack them manually.');
29
+ console.log(' Example: git rm --cached .mcp.json AGENTS.md CLAUDE.md\n');
30
+ }
31
+ function configuredToolOrder(projectRoot) {
32
+ if (!fileExists(configPath(projectRoot)))
33
+ return [];
34
+ try {
35
+ const config = readJson(configPath(projectRoot));
36
+ if (Array.isArray(config.aiTools) && config.aiTools.length > 0)
37
+ return config.aiTools;
38
+ return config.aiTool ? [config.aiTool] : [];
39
+ }
40
+ catch {
41
+ return [];
42
+ }
43
+ }
44
+ function chooseBaselineTool(projectRoot, importable) {
45
+ if (importable.length === 0)
46
+ return null;
47
+ const configured = configuredToolOrder(projectRoot);
48
+ for (const tool of configured) {
49
+ if (importable.includes(tool))
50
+ return tool;
51
+ }
52
+ const priority = ['claude-code', 'cursor', 'codex', 'lingma', 'vscode-copilot', 'windsurf'];
53
+ for (const tool of priority) {
54
+ if (importable.includes(tool))
55
+ return tool;
56
+ }
57
+ return importable[0] || null;
58
+ }
27
59
  async function resolveBaselineTool(projectRoot) {
28
60
  const requested = requestedBaseline();
29
61
  const importable = detectImportableTools(projectRoot, ['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex']);
62
+ if (requested === 'invalid') {
63
+ throw new Error(`Unknown baseline tool: ${process.argv[3]?.trim()}`);
64
+ }
30
65
  if (requested)
31
- return requested;
66
+ return { tool: requested, autoSelected: false };
32
67
  if (importable.length === 0)
33
- return null;
68
+ return { tool: null, autoSelected: false };
34
69
  if (importable.length === 1)
35
- return importable[0];
36
- const options = importable.map((tool) => ({
37
- value: tool,
38
- label: toolLabel(tool),
39
- hint: 'Use this tool as the baseline source for rules/skills import',
40
- }));
41
- return promptSingleSelect('Choose one baseline AI tool to import legacy rules/skills from:', options);
70
+ return { tool: importable[0], autoSelected: false };
71
+ return { tool: chooseBaselineTool(projectRoot, importable), autoSelected: true };
42
72
  }
43
73
  export async function migrateLegacy() {
44
74
  const projectRoot = process.cwd();
@@ -64,15 +94,32 @@ export async function migrateLegacy() {
64
94
  console.log(red('\n AIDA config.json was not found after migration.\n'));
65
95
  return;
66
96
  }
67
- const baselineTool = await resolveBaselineTool(projectRoot);
97
+ let baselineTool;
98
+ let autoSelectedBaseline = false;
99
+ try {
100
+ const resolved = await resolveBaselineTool(projectRoot);
101
+ baselineTool = resolved.tool;
102
+ autoSelectedBaseline = resolved.autoSelected;
103
+ }
104
+ catch (error) {
105
+ console.log(red(`\n ${error instanceof Error ? error.message : String(error)}\n`));
106
+ return;
107
+ }
68
108
  if (baselineTool) {
69
109
  const imported = importProjectSourcesWithBaseline(projectRoot, baselineTool);
110
+ await migrate();
111
+ const memory = migrateLegacyMemories(projectRoot);
70
112
  const built = buildProjectArtifacts(projectRoot, imported.tools);
71
113
  console.log(green('\n ✓ Imported baseline') + ` ${toolLabel(baselineTool)}`);
114
+ if (autoSelectedBaseline) {
115
+ console.log(` Auto-selected baseline: ${toolLabel(baselineTool)}`);
116
+ }
72
117
  console.log(` Rules: ${imported.baseline.rulesImported}`);
73
118
  console.log(` Skills: ${imported.baseline.skillsImported}`);
74
119
  console.log(` Tool configs discovered: ${imported.tools.join(', ') || '-'}`);
75
120
  console.log(` Tool config snapshot: ${imported.snapshotPath}`);
121
+ console.log(` Memory contexts: ${memory.contextsWritten}`);
122
+ console.log(` Module memories: ${memory.moduleMemoriesWritten}`);
76
123
  console.log(green('\n ✓ Rebuilt artifacts') + ` ${built.tools.join(', ')}`);
77
124
  if (built.gitignoreAdded.length > 0) {
78
125
  console.log(` .gitignore: added ${built.gitignoreAdded.join(', ')}`);
@@ -80,16 +127,20 @@ export async function migrateLegacy() {
80
127
  }
81
128
  else {
82
129
  const imported = importProjectSources(projectRoot);
130
+ await migrate();
131
+ const memory = migrateLegacyMemories(projectRoot);
83
132
  const built = buildProjectArtifacts(projectRoot, imported.tools);
84
133
  console.log(yellow('\n No baseline tool detected. Imported structured AIDA sources only.'));
85
134
  console.log(` Tool configs discovered: ${imported.tools.join(', ') || '-'}`);
86
135
  console.log(` Tool config snapshot: ${imported.snapshotPath}`);
136
+ console.log(` Memory contexts: ${memory.contextsWritten}`);
137
+ console.log(` Module memories: ${memory.moduleMemoriesWritten}`);
87
138
  console.log(green('\n ✓ Rebuilt artifacts') + ` ${built.tools.join(', ')}`);
88
139
  if (built.gitignoreAdded.length > 0) {
89
140
  console.log(` .gitignore: added ${built.gitignoreAdded.join(', ')}`);
90
141
  }
91
142
  }
92
- await migrate();
93
143
  console.log(green(' ✓ Legacy migration completed\n'));
144
+ printManualUntrackNotice();
94
145
  }
95
146
  //# sourceMappingURL=migrate-legacy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-legacy.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-legacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-legacy.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-legacy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rules.ts"],"names":[],"mappings":"AA8FA,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BjK;AA8ID,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C3C"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rules.ts"],"names":[],"mappings":"AA8FA,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBjK;AA4ID,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C3C"}
@@ -1,7 +1,8 @@
1
1
  import { configPath } from '../../utils/paths.js';
2
2
  import { fileExists, readText, extractConflictSections, parseConflictJsonArray } from '../../utils/fs.js';
3
3
  import { green, red, cyan, yellow, dim } from '../../utils/display.js';
4
- import { addRule, bootstrapRuleRegistry, loadRegistry, saveRegistry, buildRuleViews, findSimilarRules, mergeRegistries, registryPath, } from '../../utils/rules.js';
4
+ import { addRule, bootstrapRuleRegistry, loadRegistry, saveRegistry, findSimilarRules, mergeRegistries, registryPath, } from '../../utils/rules.js';
5
+ import { buildProjectArtifacts } from '../../utils/ai-build.js';
5
6
  import { updateGuide, updateGuideReferences } from '../../utils/guide.js';
6
7
  import { RULE_CATEGORIES } from '../../schemas/run-json.js';
7
8
  function subcommand() {
@@ -38,12 +39,12 @@ function parseContent(args) {
38
39
  }
39
40
  async function rulesBuild() {
40
41
  const projectRoot = process.cwd();
41
- const count = buildRuleViews(projectRoot);
42
+ const result = buildProjectArtifacts(projectRoot);
42
43
  const entries = loadRegistry(projectRoot);
43
44
  updateGuide(projectRoot);
44
45
  updateGuideReferences(projectRoot);
45
- console.log(green(`\n ✓ Rules views rebuilt`) +
46
- `: ${entries.length} rules → ${count} category files\n`);
46
+ console.log(green(`\n ✓ Rules rebuilt`) +
47
+ `: ${entries.length} rules → ${result.ruleFiles} generated tool rule files\n`);
47
48
  }
48
49
  async function rulesDedupe() {
49
50
  const projectRoot = process.cwd();
@@ -85,8 +86,6 @@ export async function mergeRulesRegistry(projectRoot) {
85
86
  const theirs = parseConflictJsonArray(sections.theirs);
86
87
  const { merged, added } = mergeRegistries(ours, theirs);
87
88
  saveRegistry(projectRoot, merged);
88
- buildRuleViews(projectRoot);
89
- updateGuideReferences(projectRoot);
90
89
  return { status: 'merged', added, total: merged.length };
91
90
  }
92
91
  async function rulesMerge() {
@@ -108,6 +107,8 @@ async function rulesMerge() {
108
107
  return;
109
108
  }
110
109
  if (result.status === 'merged') {
110
+ buildProjectArtifacts(projectRoot);
111
+ updateGuideReferences(projectRoot);
111
112
  console.log(green(' ✓ Merged successfully') +
112
113
  `: ${result.total} total rules (${result.added} new from incoming branch)\n`);
113
114
  }
@@ -169,9 +170,7 @@ async function rulesAdd() {
169
170
  author: 'manual',
170
171
  status: 'active',
171
172
  });
172
- buildRuleViews(projectRoot);
173
- updateGuide(projectRoot);
174
- updateGuideReferences(projectRoot);
173
+ buildProjectArtifacts(projectRoot);
175
174
  if (isDuplicate) {
176
175
  console.log(yellow(`\n Rule already exists: ${entry.id}\n`));
177
176
  return;
@@ -201,9 +200,7 @@ async function rulesDelete() {
201
200
  }
202
201
  entry.status = 'deprecated';
203
202
  saveRegistry(projectRoot, current);
204
- buildRuleViews(projectRoot);
205
- updateGuide(projectRoot);
206
- updateGuideReferences(projectRoot);
203
+ buildProjectArtifacts(projectRoot);
207
204
  console.log(green(`\n ✓ Rule deprecated`) + `: ${ruleId}`);
208
205
  console.log(dim(' Re-run `aida rules list` to verify status, or `aida build` to rebuild all targets.\n'));
209
206
  }
@@ -235,15 +232,15 @@ export async function rules() {
235
232
  ${cyan('aida rules')} - Manage project rules registry
236
233
 
237
234
  Subcommands:
238
- add Add one rule and auto-build views
239
- build Rebuild .aida/rules/*.md views from rules.json
235
+ add Add one rule and auto-build AI tool artifacts
236
+ build Rebuild AI tool rule files from rules.json
240
237
  delete Deprecate one rule by ID
241
238
  dedupe Find potential duplicate or conflicting rules
242
239
  merge Auto-resolve git merge conflicts in rules.json
243
240
  list List all rules grouped by category (--json supported)
244
241
 
245
242
  The source of truth is .aida/rules.json (committed to git).
246
- The .aida/rules/*.md files are auto-generated views (gitignored).
243
+ aida build distributes generated rule files into each configured AI tool directory.
247
244
  `);
248
245
  }
249
246
  }