ai-dev-analytics 2.0.1 → 2.0.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.
- package/dist/assets/skills/dev-flow.md +119 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +45 -2
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/merge-data.d.ts +19 -0
- package/dist/cli/commands/merge-data.d.ts.map +1 -0
- package/dist/cli/commands/merge-data.js +624 -0
- package/dist/cli/commands/merge-data.js.map +1 -0
- 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 +82 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +134 -3
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dev-flow
|
|
3
|
+
description: 需求开发工作流。分析需求 → 读记忆+代码 → 对齐确认 → 拆任务执行 → 收尾回写记忆。防止需求没理清就动手导致越改越偏。
|
|
4
|
+
globs: ['**/*.md', '.aida/memories/**/*.json', '.aida/memories/index.json']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# dev-flow
|
|
8
|
+
|
|
9
|
+
## 角色
|
|
10
|
+
|
|
11
|
+
你是一个经验丰富的资深工程师。你深知需求理解一旦偏差,后续所有工作都会跑偏——差之毫厘,失之千里。所以你的铁律是:**需求没有对齐,一行代码都不写。**
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 记忆工具优先级
|
|
16
|
+
|
|
17
|
+
每次需要读写记忆时,按以下顺序降级:
|
|
18
|
+
|
|
19
|
+
1. **AIDA MCP 可用** → 调用 `aida_memory` 工具
|
|
20
|
+
2. **MCP 不可用,AIDA CLI 可用**(检测方式:`aida -v` 能正常输出)→ 执行 `aida memory` 系列命令
|
|
21
|
+
3. **MCP 和 CLI 都不可用,但有 `.aida` 目录** → 直接读 `.aida/memories/index.json` 和 `.aida/memories/modules/*.json` 文件
|
|
22
|
+
4. **没有 `.aida` 目录** → 跳过所有记忆相关操作,不影响主流程
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Phase 1 — 理解需求
|
|
27
|
+
|
|
28
|
+
### Step 1:识别功能模块
|
|
29
|
+
|
|
30
|
+
读需求(对话描述 or 用户指定的 .md 文件),提取涉及的功能模块名称,作为后续检索的关键词。
|
|
31
|
+
|
|
32
|
+
### Step 2:读记忆
|
|
33
|
+
|
|
34
|
+
按上方优先级执行:
|
|
35
|
+
|
|
36
|
+
- **MCP**:`aida_memory`(action="search",query=模块关键词)→ 有命中就 `aida_memory`(action="get",moduleKey=命中的 key)
|
|
37
|
+
- **CLI**:`aida memory search <模块关键词>` → 有命中就 `aida memory show <moduleKey>`
|
|
38
|
+
- **读文件**:读 `.aida/memories/index.json` 检索关键词 → 命中就读对应 `.aida/memories/modules/<key>.json`
|
|
39
|
+
- **无 `.aida`**:跳过
|
|
40
|
+
|
|
41
|
+
### Step 3:读代码
|
|
42
|
+
|
|
43
|
+
根据需求 + 记忆(如有),找到最相关的文件读一下,重点搞清楚:
|
|
44
|
+
- 改动落在哪些具体文件
|
|
45
|
+
- 现有结构和约束是什么
|
|
46
|
+
- 有没有潜在的影响范围
|
|
47
|
+
|
|
48
|
+
### Step 4:输出理解摘要
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
📋 需求理解
|
|
52
|
+
|
|
53
|
+
**要做什么**
|
|
54
|
+
[用自己的话描述,不要复述用户原话]
|
|
55
|
+
|
|
56
|
+
**涉及模块 & 文件**
|
|
57
|
+
- [模块名]:[具体文件路径]
|
|
58
|
+
- [模块名]:[具体文件路径]
|
|
59
|
+
|
|
60
|
+
**需要注意**
|
|
61
|
+
[现有约束、潜在影响、容易踩的坑;没有就写"无"]
|
|
62
|
+
|
|
63
|
+
**待确认**
|
|
64
|
+
[不确定的地方;没有就写"无"]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Step 5:⛔ 强制检查点
|
|
68
|
+
|
|
69
|
+
**输出摘要后必须停下来,等用户明确回复。**
|
|
70
|
+
|
|
71
|
+
- 用户确认没问题 → 进入 Phase 2
|
|
72
|
+
- 用户有修正 → 更新理解重新输出摘要,再次等待确认
|
|
73
|
+
- **未收到确认,禁止写任何代码**
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Phase 2 — 规划
|
|
78
|
+
|
|
79
|
+
### Step 6:拆分任务
|
|
80
|
+
|
|
81
|
+
评估改动复杂度:
|
|
82
|
+
- **涉及多个模块 / 步骤之间有依赖** → 先列步骤,再每步下拆具体任务
|
|
83
|
+
- **改动简单清晰** → 直接列任务清单
|
|
84
|
+
|
|
85
|
+
列出后默认直接开始执行,用户有异议直接说。
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Phase 3 — 执行
|
|
90
|
+
|
|
91
|
+
### Step 7:逐任务写代码
|
|
92
|
+
|
|
93
|
+
每个任务完成后再开始下一个,不并行改多个不相关的文件。
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Phase 4 — 收尾
|
|
98
|
+
|
|
99
|
+
### Step 8:自检
|
|
100
|
+
|
|
101
|
+
- **有改动现有文件或功能** → 评估影响范围:哪些关联功能可能受影响
|
|
102
|
+
- **纯新增功能模块** → 跳过影响范围分析
|
|
103
|
+
- 给出验收建议:告诉用户需要手动验证哪些功能点
|
|
104
|
+
|
|
105
|
+
### Step 9:回写记忆
|
|
106
|
+
|
|
107
|
+
按上方优先级执行,把本次改动沉淀到涉及的模块记忆中:
|
|
108
|
+
|
|
109
|
+
- **MCP**:`aida_memory`(action="upsert")
|
|
110
|
+
- **CLI**:`aida memory upsert <moduleKey> --summary "..." --keywords "..." `
|
|
111
|
+
- **无 `.aida`**:跳过
|
|
112
|
+
|
|
113
|
+
写入内容:
|
|
114
|
+
- `entryFiles`:本次改动的关键文件路径
|
|
115
|
+
- `decisions`:值得记录的设计决策
|
|
116
|
+
- `constraints`:发现的约束或规范要求
|
|
117
|
+
- `pitfalls`:踩到的坑或需要注意的地方
|
|
118
|
+
- `referenceSummary`:本次需求在该模块上的一句话说明
|
|
119
|
+
- `ticket` / `branch`:关联工单和分支(如有)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAqDA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA0H5C"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { green, red, yellow, cyan, dim } from '../../utils/display.js';
|
|
2
|
-
import { configPath } from '../../utils/paths.js';
|
|
3
|
-
import { fileExists } from '../../utils/fs.js';
|
|
2
|
+
import { configPath, aidaDir } from '../../utils/paths.js';
|
|
3
|
+
import { fileExists, readText } from '../../utils/fs.js';
|
|
4
4
|
import { inspectProject, inspectSecurity, normalizeProject } from '../../services/project-health.js';
|
|
5
|
+
import { readdirSync, statSync } from 'node:fs';
|
|
6
|
+
import { resolve } from 'node:path';
|
|
5
7
|
function hasFixFlag() {
|
|
6
8
|
return process.argv.slice(3).includes('--fix');
|
|
7
9
|
}
|
|
@@ -19,6 +21,38 @@ function securityMode() {
|
|
|
19
21
|
function line(ok, label, detail) {
|
|
20
22
|
console.log(`${ok ? green(' ✓') : yellow(' !')} ${label}: ${detail}`);
|
|
21
23
|
}
|
|
24
|
+
function walkJsonFiles(rootDir) {
|
|
25
|
+
if (!fileExists(rootDir))
|
|
26
|
+
return [];
|
|
27
|
+
const results = [];
|
|
28
|
+
const stack = [rootDir];
|
|
29
|
+
while (stack.length > 0) {
|
|
30
|
+
const current = stack.pop();
|
|
31
|
+
for (const name of readdirSync(current)) {
|
|
32
|
+
const fullPath = resolve(current, name);
|
|
33
|
+
const stat = statSync(fullPath);
|
|
34
|
+
if (stat.isDirectory())
|
|
35
|
+
stack.push(fullPath);
|
|
36
|
+
else if (name.endsWith('.json'))
|
|
37
|
+
results.push(fullPath);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return results;
|
|
41
|
+
}
|
|
42
|
+
function findConflictedFiles(projectRoot) {
|
|
43
|
+
const dir = aidaDir(projectRoot);
|
|
44
|
+
if (!fileExists(dir))
|
|
45
|
+
return [];
|
|
46
|
+
return walkJsonFiles(dir).filter((f) => {
|
|
47
|
+
try {
|
|
48
|
+
const raw = readText(f);
|
|
49
|
+
return raw.includes('<<<<<<<') || raw.includes('>>>>>>>');
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
22
56
|
export async function doctor() {
|
|
23
57
|
const projectRoot = process.cwd();
|
|
24
58
|
console.log(cyan('\n AIDA Doctor\n'));
|
|
@@ -26,6 +60,15 @@ export async function doctor() {
|
|
|
26
60
|
console.log(red(' AIDA not initialized. Run `npx aida init` first.\n'));
|
|
27
61
|
return;
|
|
28
62
|
}
|
|
63
|
+
const conflicted = findConflictedFiles(projectRoot);
|
|
64
|
+
if (conflicted.length > 0) {
|
|
65
|
+
console.log(yellow(` ⚠ ${conflicted.length} AIDA JSON file(s) have unresolved git merge conflicts:`));
|
|
66
|
+
for (const f of conflicted) {
|
|
67
|
+
console.log(` - ${f.replace(projectRoot + '/', '')}`);
|
|
68
|
+
}
|
|
69
|
+
console.log(yellow('\n Run `aida merge` to auto-resolve conflicts before running doctor.\n'));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
29
72
|
const fix = hasFixFlag();
|
|
30
73
|
if (fix) {
|
|
31
74
|
const normalized = normalizeProject(projectRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type MergeStatus = 'merged' | 'no-conflict' | 'missing' | 'error';
|
|
2
|
+
interface MergeCountResult {
|
|
3
|
+
status: MergeStatus;
|
|
4
|
+
merged: number;
|
|
5
|
+
missing: number;
|
|
6
|
+
errors: number;
|
|
7
|
+
}
|
|
8
|
+
export interface MergeDataSummary {
|
|
9
|
+
memoryIndex: MergeCountResult;
|
|
10
|
+
moduleMemories: MergeCountResult;
|
|
11
|
+
contexts: MergeCountResult;
|
|
12
|
+
requirements: MergeCountResult;
|
|
13
|
+
runs: MergeCountResult;
|
|
14
|
+
rebuiltMemoryViews: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function mergeAidaJsonData(projectRoot: string): MergeDataSummary;
|
|
17
|
+
export declare function mergeData(): Promise<void>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=merge-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-data.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/merge-data.ts"],"names":[],"mappings":"AAgDA,KAAK,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAElE,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AA4iBD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,cAAc,EAAE,gBAAgB,CAAA;IAChC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,IAAI,EAAE,gBAAgB,CAAA;IACtB,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAkEvE;AAcD,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C/C"}
|