ai-dev-analytics 1.1.12 → 2.0.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/README.en.md +51 -57
- package/README.md +68 -485
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +125 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +19 -176
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +3 -13
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/rules.d.ts +0 -10
- package/dist/cli/commands/rules.d.ts.map +1 -1
- package/dist/cli/commands/rules.js +9 -34
- package/dist/cli/commands/rules.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +0 -5
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +5 -24
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +2 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +28 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/index.js +26 -85
- package/dist/cli/index.js.map +1 -1
- package/dist/{schemas/run-json.d.ts → internal/runtime/schema.d.ts} +4 -18
- package/dist/internal/runtime/schema.d.ts.map +1 -0
- package/dist/{schemas/run-json.js → internal/runtime/schema.js} +5 -9
- package/dist/internal/runtime/schema.js.map +1 -0
- package/dist/{utils/run-data.d.ts → internal/runtime/state.d.ts} +7 -8
- package/dist/internal/runtime/state.d.ts.map +1 -0
- package/dist/{utils/run-data.js → internal/runtime/state.js} +11 -12
- package/dist/internal/runtime/state.js.map +1 -0
- package/dist/internal/runtime/summary.d.ts +8 -0
- package/dist/internal/runtime/summary.d.ts.map +1 -0
- package/dist/internal/runtime/summary.js +260 -0
- package/dist/internal/runtime/summary.js.map +1 -0
- package/dist/internal/runtime/tokens.d.ts.map +1 -0
- package/dist/internal/runtime/tokens.js.map +1 -0
- package/dist/mcp/server.js +9 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/schemas/aida-project.d.ts +27 -1
- package/dist/schemas/aida-project.d.ts.map +1 -1
- package/dist/schemas/rules.d.ts +15 -0
- package/dist/schemas/rules.d.ts.map +1 -0
- package/dist/schemas/rules.js +5 -0
- package/dist/schemas/rules.js.map +1 -0
- package/dist/services/project-build.d.ts +44 -0
- package/dist/services/project-build.d.ts.map +1 -0
- package/dist/services/project-build.js +32 -0
- package/dist/services/project-build.js.map +1 -0
- package/dist/services/project-health.d.ts +14 -0
- package/dist/services/project-health.d.ts.map +1 -0
- package/dist/services/project-health.js +19 -0
- package/dist/services/project-health.js.map +1 -0
- package/dist/services/security-audit.d.ts +59 -0
- package/dist/services/security-audit.d.ts.map +1 -0
- package/dist/services/security-audit.js +638 -0
- package/dist/services/security-audit.js.map +1 -0
- package/dist/utils/ai-build.d.ts +3 -8
- package/dist/utils/ai-build.d.ts.map +1 -1
- package/dist/utils/ai-build.js +31 -117
- package/dist/utils/ai-build.js.map +1 -1
- package/dist/utils/guide.d.ts +3 -3
- package/dist/utils/guide.d.ts.map +1 -1
- package/dist/utils/guide.js +91 -68
- package/dist/utils/guide.js.map +1 -1
- package/dist/utils/import.d.ts.map +1 -1
- package/dist/utils/import.js +4 -15
- package/dist/utils/import.js.map +1 -1
- package/dist/utils/memory.d.ts +2 -0
- package/dist/utils/memory.d.ts.map +1 -1
- package/dist/utils/memory.js +440 -95
- package/dist/utils/memory.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -10
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +5 -17
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/project-health.d.ts +39 -0
- package/dist/utils/project-health.d.ts.map +1 -0
- package/dist/utils/project-health.js +286 -0
- package/dist/utils/project-health.js.map +1 -0
- package/dist/utils/registry.d.ts +11 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +65 -0
- package/dist/utils/registry.js.map +1 -0
- package/dist/utils/rules.d.ts +11 -1
- package/dist/utils/rules.d.ts.map +1 -1
- package/dist/utils/rules.js +76 -8
- package/dist/utils/rules.js.map +1 -1
- package/dist/utils/skills.d.ts +6 -9
- package/dist/utils/skills.d.ts.map +1 -1
- package/dist/utils/skills.js +26 -54
- package/dist/utils/skills.js.map +1 -1
- package/package.json +12 -14
- package/dist/cli/commands/build.d.ts +0 -2
- package/dist/cli/commands/build.d.ts.map +0 -1
- package/dist/cli/commands/build.js +0 -56
- package/dist/cli/commands/build.js.map +0 -1
- package/dist/cli/commands/dashboard.d.ts +0 -2
- package/dist/cli/commands/dashboard.d.ts.map +0 -1
- package/dist/cli/commands/dashboard.js +0 -70
- package/dist/cli/commands/dashboard.js.map +0 -1
- package/dist/cli/commands/import.d.ts +0 -2
- package/dist/cli/commands/import.d.ts.map +0 -1
- package/dist/cli/commands/import.js +0 -71
- package/dist/cli/commands/import.js.map +0 -1
- package/dist/cli/commands/log.d.ts +0 -2
- package/dist/cli/commands/log.d.ts.map +0 -1
- package/dist/cli/commands/log.js +0 -440
- package/dist/cli/commands/log.js.map +0 -1
- package/dist/cli/commands/merge-data.d.ts +0 -20
- package/dist/cli/commands/merge-data.d.ts.map +0 -1
- package/dist/cli/commands/merge-data.js +0 -574
- package/dist/cli/commands/merge-data.js.map +0 -1
- package/dist/cli/commands/merge.d.ts +0 -2
- package/dist/cli/commands/merge.d.ts.map +0 -1
- package/dist/cli/commands/merge.js +0 -82
- package/dist/cli/commands/merge.js.map +0 -1
- package/dist/cli/commands/migrate-dir.d.ts +0 -6
- package/dist/cli/commands/migrate-dir.d.ts.map +0 -1
- package/dist/cli/commands/migrate-dir.js +0 -125
- package/dist/cli/commands/migrate-dir.js.map +0 -1
- package/dist/cli/commands/migrate-legacy.d.ts +0 -2
- package/dist/cli/commands/migrate-legacy.d.ts.map +0 -1
- package/dist/cli/commands/migrate-legacy.js +0 -143
- package/dist/cli/commands/migrate-legacy.js.map +0 -1
- package/dist/cli/commands/migrate.d.ts +0 -2
- package/dist/cli/commands/migrate.d.ts.map +0 -1
- package/dist/cli/commands/migrate.js +0 -300
- package/dist/cli/commands/migrate.js.map +0 -1
- package/dist/cli/commands/reindex.d.ts +0 -14
- package/dist/cli/commands/reindex.d.ts.map +0 -1
- package/dist/cli/commands/reindex.js +0 -139
- package/dist/cli/commands/reindex.js.map +0 -1
- package/dist/cli/commands/report.d.ts +0 -2
- package/dist/cli/commands/report.d.ts.map +0 -1
- package/dist/cli/commands/report.js +0 -219
- package/dist/cli/commands/report.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -2
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -155
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -2
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -70
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -2
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -73
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/schemas/run-json.d.ts.map +0 -1
- package/dist/schemas/run-json.js.map +0 -1
- package/dist/server/api.d.ts +0 -30
- package/dist/server/api.d.ts.map +0 -1
- package/dist/server/api.js +0 -239
- package/dist/server/api.js.map +0 -1
- package/dist/server/index.d.ts +0 -2
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -228
- package/dist/server/index.js.map +0 -1
- package/dist/utils/run-data.d.ts.map +0 -1
- package/dist/utils/run-data.js.map +0 -1
- package/dist/utils/tokens.d.ts.map +0 -1
- package/dist/utils/tokens.js.map +0 -1
- package/src/assets/skills/audit.md +0 -98
- package/src/assets/skills/bug-fixer.md +0 -43
- package/src/assets/skills/code-generator.md +0 -71
- package/src/assets/skills/commit-code.md +0 -67
- package/src/assets/skills/dashboard-generator.md +0 -65
- package/src/assets/skills/dev-flower.md +0 -85
- package/src/assets/skills/deviation-recorder.md +0 -83
- package/src/assets/skills/docx-to-markdown.md +0 -69
- package/src/assets/skills/mcp-reviewer.md +0 -38
- package/src/assets/skills/requirement-analyzer.md +0 -103
- package/src/assets/skills/rules-evolver.md +0 -47
- package/src/assets/skills/self-reviewer.md +0 -49
- package/src/assets/skills/task-splitter.md +0 -60
- package/src/assets/skills/workflow-orchestrator.md +0 -209
- package/src/assets/templates/demo-run.json +0 -910
- package/src/assets/templates/run.json +0 -63
- package/src/dashboard/assets/index-B8QcPcg7.css +0 -1
- package/src/dashboard/assets/index-DcAl6lhS.js +0 -111
- package/src/dashboard/demo/overview.json +0 -71
- package/src/dashboard/demo/run.en.json +0 -1169
- package/src/dashboard/demo/run.json +0 -2667
- package/src/dashboard/demo/run.zh.json +0 -1169
- package/src/dashboard/demo/runs.json +0 -19
- package/src/dashboard/index.html +0 -13
- /package/dist/{utils → internal/runtime}/tokens.d.ts +0 -0
- /package/dist/{utils → internal/runtime}/tokens.js +0 -0
package/README.md
CHANGED
|
@@ -2,560 +2,143 @@
|
|
|
2
2
|
|
|
3
3
|
# AIDA
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### 管理 AI 工具资产的 JSON 真源。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
**AIDA 在每个开发节点采集结构化数据,用看板可视化,再把偏差规律沉淀成规则 —— 让你的 AI 每次运行都写出更符合预期的代码。**
|
|
10
|
-
|
|
11
|
-
一行配置接入,零工作流改变。
|
|
7
|
+
AIDA 2.0 只关注长期有价值的项目资产:
|
|
8
|
+
**rules、skills、memories、summary。**
|
|
12
9
|
|
|
13
10
|
```json
|
|
14
11
|
{ "mcpServers": { "aida": { "command": "npx", "args": ["--registry=https://registry.npmjs.org/", "-y", "ai-dev-analytics", "mcp"] } } }
|
|
15
12
|
```
|
|
16
13
|
|
|
17
|
-
[](https://www.npmjs.com/package/ai-dev-analytics)
|
|
18
15
|
[](./LICENSE)
|
|
19
16
|
[](https://nodejs.org)
|
|
20
|
-
[](
|
|
21
|
-
[](https://lwtlong.github.io/ai-dev-analytics/)
|
|
17
|
+
[](#验证)
|
|
22
18
|
[](https://glama.ai/mcp/servers/LWTlong/ai-dev-analytics)
|
|
23
19
|
|
|
24
|
-
[
|
|
25
|
-
|
|
26
|
-
[一行接入](#-30-秒上手) · [场景操作指南](#-场景操作指南) · [数据驱动闭环](#-数据驱动闭环) · [命令速览](#-命令速览) · [重复执行与覆盖策略](#-重复执行与覆盖策略) · [规则去重与冲突判断](#-规则去重与冲突判断) · [命令文档](./COMMANDS.md) · [文档导航](./docs/INDEX.md) · [English](./README.en.md)
|
|
20
|
+
[30 秒上手](#30-秒上手) · [真源模型](#20-真源模型) · [命令模型](#命令模型) · [命令文档](./COMMANDS.md) · [文档导航](./docs/INDEX.md) · [English](./README.en.md)
|
|
27
21
|
|
|
28
22
|
</div>
|
|
29
23
|
|
|
30
24
|
---
|
|
31
25
|
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
Vibe Coding 很强。但它是一个黑箱。
|
|
26
|
+
## 为什么是 2.0
|
|
35
27
|
|
|
36
|
-
|
|
28
|
+
2.0 不再围绕 task 流水账、运行态 timeline 或 dashboard。
|
|
37
29
|
|
|
38
|
-
|
|
39
|
-
- AI 在哪里偏离了你的项目规范?为什么?
|
|
40
|
-
- 哪些偏差反复出现?加什么规则能根治?
|
|
41
|
-
- Bug 率多少?哪个阶段产出最多 Bug?
|
|
30
|
+
它只保留真正需要长期沉淀的内容:
|
|
42
31
|
|
|
43
|
-
|
|
32
|
+
- 项目规则 `rules`
|
|
33
|
+
- 项目技能 `skills`
|
|
34
|
+
- 模块记忆 `memories`
|
|
35
|
+
- 需求摘要 `summary`
|
|
44
36
|
|
|
45
|
-
|
|
37
|
+
这些 JSON 真源统一存放在 `.aida/` 下,再按需分发到 `.cursor`、`.claude`、`.codex`、`.lingma` 等工具目录。工具目录只是 projection,不是主数据。
|
|
46
38
|
|
|
47
39
|
---
|
|
48
40
|
|
|
49
|
-
##
|
|
41
|
+
## 2.0 真源模型
|
|
50
42
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
↓
|
|
62
|
-
发现偏差规律 → AI 建议沉淀规则 → 用户确认 → 写入规则库
|
|
63
|
-
.aida/rules.json ← 你的 AI 知识库在成长
|
|
64
|
-
↓
|
|
65
|
-
AI 下次读取规则 → 同样的错误被消除
|
|
66
|
-
↓
|
|
67
|
-
循环往复 —— 每一轮,AI 输出都更接近你的预期
|
|
43
|
+
```text
|
|
44
|
+
.aida/
|
|
45
|
+
config.json
|
|
46
|
+
rules.json
|
|
47
|
+
skills.json
|
|
48
|
+
summary.json
|
|
49
|
+
aida-guide.md
|
|
50
|
+
memories/
|
|
51
|
+
index.json
|
|
52
|
+
modules/*.json
|
|
68
53
|
```
|
|
69
54
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
| 第 2 轮 | **零重复偏差** | AI 读了规则,相同模式的错误归零 | — |
|
|
55
|
+
- `rules.json`:项目级技术规范真源
|
|
56
|
+
- `skills.json`:项目级技能真源
|
|
57
|
+
- `summary.json`:需求级摘要
|
|
58
|
+
- `memories/index.json`:低成本检索索引
|
|
59
|
+
- `memories/modules/*.json`:模块级上下文与约束
|
|
76
60
|
|
|
77
|
-
|
|
61
|
+
2.0 会主动清理这些 1.x 噪音:
|
|
78
62
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
**第三步:看规则的复利效应** —— 随着规则积累,重复偏差会逐步下降。
|
|
86
|
-
|
|
87
|
-

|
|
88
|
-
|
|
89
|
-
`.aida/rules.json` 就是你的**项目专属 AI 知识库**。用 AI 写得越多,它对*你的项目*就越懂。
|
|
63
|
+
- `run.json`
|
|
64
|
+
- task 持久化流水账
|
|
65
|
+
- `timeline / workflow / events`
|
|
66
|
+
- `.aida/runs/**`
|
|
67
|
+
- `.aida/index.json`
|
|
68
|
+
- `.aida/tool-configs.json`
|
|
90
69
|
|
|
91
70
|
---
|
|
92
71
|
|
|
93
|
-
##
|
|
94
|
-
|
|
95
|
-
**你的整个 Vibe Coding 过程 —— 结构化、可视化、可操作。**
|
|
72
|
+
## 30 秒上手
|
|
96
73
|
|
|
97
|
-
|
|
74
|
+
### 1. 安装 MCP
|
|
98
75
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
AIDA 全方位采集 AI 辅助开发的每个维度,转化为交互式图表:
|
|
102
|
-
|
|
103
|
-
| 你能看到什么 | 为什么重要 |
|
|
104
|
-
|---|---|
|
|
105
|
-
| **偏差根因分布** | 知道 AI *为什么*出错 —— 规则缺失?幻觉?上下文不足? |
|
|
106
|
-
| **偏差类别分布** | 知道 AI *在哪*出错 —— 布局?组件?API? |
|
|
107
|
-
| **偏差 & 规则趋势图** | 看着偏差随规则积累而下降 |
|
|
108
|
-
| **Bug 严重度分布** | 追踪质量 —— 哪个阶段产出严重 Bug? |
|
|
109
|
-
| **自检通过率趋势** | AI 代码质量是在变好还是变差? |
|
|
110
|
-
| **各阶段任务完成** | 看到完整开发生命周期的进度 |
|
|
111
|
-
| **文件修改热点** | 哪些文件反复被改?痛点在哪? |
|
|
112
|
-
| **规则溯源表** | 每条规则都关联到产生它的偏差 |
|
|
113
|
-
| **完整开发时间线** | 每个任务、Bug、审查、偏差 —— 按时间排列 |
|
|
114
|
-
| **项目总览(团队视角)** | 跨分支统计、开发者对比、需求状态 |
|
|
115
|
-
|
|
116
|
-
运行 `npx ai-dev-analytics dashboard`,几秒钟看到**你自己项目的数据**。
|
|
117
|
-
|
|
118
|
-
### 🔒 100% 本地。零外部请求。
|
|
119
|
-
|
|
120
|
-
AIDA 只往项目里的 `.aida/` 目录写 JSON 文件。**整个代码库不包含任何外部 HTTP 请求** —— 不发遥测、不上传云端、不请求分析服务、不做任何追踪。你的代码和数据不会离开你的电脑。
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## ⚡ 30 秒上手
|
|
125
|
-
|
|
126
|
-
### 在 `.mcp.json` 里加一行
|
|
76
|
+
在项目根目录 `.mcp.json` 中加入:
|
|
127
77
|
|
|
128
78
|
```json
|
|
129
79
|
{ "mcpServers": { "aida": { "command": "npx", "args": ["--registry=https://registry.npmjs.org/", "-y", "ai-dev-analytics", "mcp"] } } }
|
|
130
80
|
```
|
|
131
81
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
> 如果 `npx` 较慢,可以先全局安装:`npm install -g ai-dev-analytics`,然后把 command 改成 `"aida"`。全局安装后也可以直接使用 `aida` 命令。
|
|
135
|
-
|
|
136
|
-
<details>
|
|
137
|
-
<summary>Cursor / VS Code Copilot / Windsurf / Lingma 配置</summary>
|
|
138
|
-
|
|
139
|
-
**Cursor** `.cursor/mcp.json`:
|
|
140
|
-
```json
|
|
141
|
-
{
|
|
142
|
-
"mcpServers": {
|
|
143
|
-
"aida": {
|
|
144
|
-
"command": "npx",
|
|
145
|
-
"args": ["--registry=https://registry.npmjs.org/", "-y", "ai-dev-analytics", "mcp"]
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
**VS Code Copilot** `.vscode/mcp.json`:
|
|
152
|
-
```json
|
|
153
|
-
{
|
|
154
|
-
"servers": {
|
|
155
|
-
"aida": {
|
|
156
|
-
"command": "npx",
|
|
157
|
-
"args": ["--registry=https://registry.npmjs.org/", "-y", "ai-dev-analytics", "mcp"]
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**Windsurf** `~/.codeium/windsurf/mcp_config.json`:
|
|
164
|
-
```json
|
|
165
|
-
{
|
|
166
|
-
"mcpServers": {
|
|
167
|
-
"aida": {
|
|
168
|
-
"command": "npx",
|
|
169
|
-
"args": ["--registry=https://registry.npmjs.org/", "-y", "ai-dev-analytics", "mcp"]
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**Lingma(通义灵码)** `.lingma/mcp.json`:
|
|
176
|
-
```json
|
|
177
|
-
{
|
|
178
|
-
"mcpServers": {
|
|
179
|
-
"aida": {
|
|
180
|
-
"command": "npx",
|
|
181
|
-
"args": ["--registry=https://registry.npmjs.org/", "-y", "ai-dev-analytics", "mcp"]
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
```
|
|
186
|
-
</details>
|
|
187
|
-
|
|
188
|
-
### 打开看板
|
|
82
|
+
如果你更喜欢全局命令:
|
|
189
83
|
|
|
190
84
|
```bash
|
|
191
|
-
|
|
85
|
+
npm install -g ai-dev-analytics
|
|
192
86
|
```
|
|
193
87
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## 🧭 场景操作指南
|
|
199
|
-
|
|
200
|
-
下面这些是最常见的落地场景。想看详细行为、重复执行语义和边界说明,直接跳到 [COMMANDS.md](./COMMANDS.md)。
|
|
201
|
-
|
|
202
|
-
### 1. 新项目初始化
|
|
88
|
+
然后把 `command` 改为 `"aida"`。
|
|
203
89
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
适用场景:
|
|
207
|
-
|
|
208
|
-
- 仓库里还没有 `.aida`
|
|
209
|
-
- 想从零接入 AIDA
|
|
210
|
-
|
|
211
|
-
操作:
|
|
90
|
+
### 2. 初始化项目
|
|
212
91
|
|
|
213
92
|
```bash
|
|
214
93
|
aida init
|
|
215
94
|
```
|
|
216
95
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
- `collect` 或 `full` 模式
|
|
220
|
-
- 需要接入的 AI 工具
|
|
221
|
-
- 是否导入现有工具的规则 / skills 作为 baseline
|
|
222
|
-
|
|
223
|
-
初始化后建议立即检查:
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
aida build
|
|
227
|
-
aida status
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### 2. 老项目迁移到 AIDA
|
|
231
|
-
|
|
232
|
-
详细步骤见:[COMMANDS.md / 场景 2:老项目迁移](./COMMANDS.md#场景-2老项目迁移)
|
|
233
|
-
|
|
234
|
-
适用场景:
|
|
235
|
-
|
|
236
|
-
- 项目还在使用旧 `.aidevos`
|
|
237
|
-
- 想把旧 rules / skills / run 数据迁进当前 AIDA 体系
|
|
238
|
-
|
|
239
|
-
最省事的方式:
|
|
240
|
-
|
|
241
|
-
```bash
|
|
242
|
-
aida migrate-legacy
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
如果你想显式指定 baseline tool:
|
|
96
|
+
### 3. 重建投影
|
|
246
97
|
|
|
247
98
|
```bash
|
|
248
|
-
aida
|
|
249
|
-
aida migrate-legacy codex
|
|
99
|
+
aida sync
|
|
250
100
|
```
|
|
251
101
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
```bash
|
|
255
|
-
aida migrate-dir
|
|
256
|
-
aida import cursor
|
|
257
|
-
aida migrate
|
|
258
|
-
aida memory rebuild
|
|
259
|
-
aida build
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### 3. 已经初始化过,但产物缺失或版本升级后想补齐
|
|
263
|
-
|
|
264
|
-
详细步骤见:[COMMANDS.md / 场景 3:项目已初始化,但想补齐缺失产物](./COMMANDS.md#场景-3项目已初始化但想补齐缺失产物)
|
|
265
|
-
|
|
266
|
-
适用场景:
|
|
102
|
+
---
|
|
267
103
|
|
|
268
|
-
|
|
269
|
-
- 旧版本包生成不完整
|
|
270
|
-
- 发新包后想在老项目里补齐生成产物
|
|
104
|
+
## 命令模型
|
|
271
105
|
|
|
272
|
-
|
|
106
|
+
当前主命令只保留这几类:
|
|
273
107
|
|
|
274
108
|
```bash
|
|
275
109
|
aida init
|
|
110
|
+
aida sync
|
|
111
|
+
aida doctor
|
|
112
|
+
aida rules
|
|
113
|
+
aida skills
|
|
114
|
+
aida memory
|
|
115
|
+
aida mcp
|
|
276
116
|
```
|
|
277
117
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
- `Repair missing generated files`
|
|
281
|
-
|
|
282
|
-
或者直接跑:
|
|
283
|
-
|
|
284
|
-
```bash
|
|
285
|
-
aida build
|
|
286
|
-
aida migrate-legacy
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
其中:
|
|
290
|
-
|
|
291
|
-
- `aida build` 适合“真源没问题,只想重建产物”
|
|
292
|
-
- `aida migrate-legacy` 适合“历史项目想顺手补齐 memory / import / build 全链路”
|
|
293
|
-
|
|
294
|
-
### 4. 已有工具规则想回收进 `.aida/*.json`
|
|
295
|
-
|
|
296
|
-
详细步骤见:[COMMANDS.md / 场景 4:import 和 build 怎么配合](./COMMANDS.md#场景-4import-和-build-怎么配合)
|
|
297
|
-
|
|
298
|
-
适用场景:
|
|
299
|
-
|
|
300
|
-
- 项目里已经有 `.cursor/`、`.claude/`、`.codex/` 本地规则
|
|
301
|
-
- 想把分散资产统一回收到 `.aida/rules.json` / `.aida/skills.json`
|
|
302
|
-
|
|
303
|
-
操作:
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
aida import
|
|
307
|
-
aida import cursor
|
|
308
|
-
aida import codex
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
经验上:
|
|
312
|
-
|
|
313
|
-
- 无参数 `import`:适合把当前项目里能发现的资产统一扫回 AIDA
|
|
314
|
-
- 带 baseline tool:适合你明确知道“以某个工具的资产为准”
|
|
315
|
-
|
|
316
|
-
回收后建议再跑一次:
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
aida build
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### 5. rules 冲突
|
|
323
|
-
|
|
324
|
-
详细步骤见:[COMMANDS.md / 场景 5:rules 冲突](./COMMANDS.md#场景-5rules-冲突)
|
|
325
|
-
|
|
326
|
-
适用场景:
|
|
327
|
-
|
|
328
|
-
- `git pull` / `git merge` 后 `.aida/rules.json` 出现 conflict marker
|
|
329
|
-
|
|
330
|
-
操作:
|
|
331
|
-
|
|
332
|
-
```bash
|
|
333
|
-
aida rules merge
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
如果你想顺手把 `skills.json` 也一起处理:
|
|
337
|
-
|
|
338
|
-
```bash
|
|
339
|
-
aida merge
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
然后建议检查:
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
aida rules dedupe
|
|
346
|
-
aida build
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
### 6. skills 冲突
|
|
350
|
-
|
|
351
|
-
详细步骤见:[COMMANDS.md / 场景 6:skills 冲突](./COMMANDS.md#场景-6skills-冲突)
|
|
352
|
-
|
|
353
|
-
适用场景:
|
|
354
|
-
|
|
355
|
-
- `.aida/skills.json` 出现 conflict marker
|
|
356
|
-
|
|
357
|
-
操作:
|
|
358
|
-
|
|
359
|
-
```bash
|
|
360
|
-
aida merge
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
或者只处理 skills:
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
aida skills merge
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
处理完建议再跑:
|
|
370
|
-
|
|
371
|
-
```bash
|
|
372
|
-
aida build
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
### 7. 规则重复、相似、怀疑冲突
|
|
376
|
-
|
|
377
|
-
相关操作见:[COMMANDS.md / 场景 5:rules 冲突](./COMMANDS.md#场景-5rules-冲突)
|
|
378
|
-
|
|
379
|
-
适用场景:
|
|
380
|
-
|
|
381
|
-
- 规则越积越多
|
|
382
|
-
- 多分支合并后担心重复
|
|
383
|
-
- 想清理 exact duplicate,再人工看 near duplicate
|
|
384
|
-
|
|
385
|
-
操作:
|
|
386
|
-
|
|
387
|
-
```bash
|
|
388
|
-
aida rules dedupe
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
它会:
|
|
392
|
-
|
|
393
|
-
- 自动移除 exact duplicate
|
|
394
|
-
- 提示 near duplicate / potential conflict
|
|
395
|
-
|
|
396
|
-
如果你手工改了 `.aida/rules.json`,记得再跑:
|
|
397
|
-
|
|
398
|
-
```bash
|
|
399
|
-
aida rules build
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
### 8. 发布前自检建议
|
|
403
|
-
|
|
404
|
-
详细步骤见:[COMMANDS.md / 场景 8:发布前自检](./COMMANDS.md#场景-8发布前自检)
|
|
405
|
-
|
|
406
|
-
如果你准备发包,至少建议在当前项目里跑一遍:
|
|
407
|
-
|
|
408
|
-
```bash
|
|
409
|
-
npm run build
|
|
410
|
-
npm test
|
|
411
|
-
npm pack --dry-run
|
|
412
|
-
aida build
|
|
413
|
-
aida import codex
|
|
414
|
-
aida migrate-legacy codex
|
|
415
|
-
aida rules build
|
|
416
|
-
aida rules dedupe
|
|
417
|
-
```
|
|
118
|
+
心智很简单:
|
|
418
119
|
|
|
419
|
-
|
|
120
|
+
- `init`:初始化 2.0 真源和工具接入
|
|
121
|
+
- `sync`:日常收口,刷新 memory/summary/工具投影
|
|
122
|
+
- `doctor`:检查并清洗项目状态
|
|
123
|
+
- `rules / skills / memory`:直接管理资产本身
|
|
420
124
|
|
|
421
|
-
|
|
422
|
-
aida rules merge
|
|
423
|
-
aida merge
|
|
424
|
-
```
|
|
125
|
+
详细行为见 [COMMANDS.md](./COMMANDS.md)。
|
|
425
126
|
|
|
426
127
|
---
|
|
427
128
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
### 初始化与迁移
|
|
431
|
-
|
|
432
|
-
```bash
|
|
433
|
-
aida init
|
|
434
|
-
aida migrate-dir
|
|
435
|
-
aida migrate-legacy
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
- `aida init`:初始化新项目;如果项目已初始化,会进入“新增工具 / 修复缺失产物 / 退出”的分支。
|
|
439
|
-
- `aida migrate-dir`:只做 `.aidevos -> .aida` 目录迁移与路径替换;已经迁过时会安全 no-op。
|
|
440
|
-
- `aida migrate-legacy`:一键迁移老项目;即使项目已经是 `.aida`,也可以重跑,用于补建之前缺失的产物。
|
|
441
|
-
|
|
442
|
-
### 构建与合并
|
|
129
|
+
如果你的项目已经是 2.0 结构,日常只需要:
|
|
443
130
|
|
|
444
131
|
```bash
|
|
445
|
-
aida
|
|
446
|
-
aida merge
|
|
447
|
-
aida rules build
|
|
448
|
-
aida rules dedupe
|
|
132
|
+
aida sync
|
|
449
133
|
```
|
|
450
134
|
|
|
451
|
-
- `aida build`:从 `.aida/*.json` 真源重建规则视图、技能、工具侧产物、MCP 配置和 memory 视图。
|
|
452
|
-
- `aida merge`:解决 `.aida/rules.json` / `.aida/skills.json` 的 git conflict 内容。
|
|
453
|
-
- `aida rules build`:只重建规则相关产物。
|
|
454
|
-
- `aida rules dedupe`:先移除完全重复的规则,再提示近似重复/潜在冲突的规则。
|
|
455
|
-
|
|
456
|
-
详细说明见 [COMMANDS.md](./COMMANDS.md)。
|
|
457
|
-
|
|
458
|
-
---
|
|
459
|
-
|
|
460
|
-
## 🧩 规则去重与冲突判断
|
|
461
|
-
|
|
462
|
-
### 1. 完全重复如何判断
|
|
463
|
-
|
|
464
|
-
AIDA 用 `fingerprint` 判断 exact duplicate。生成规则如下:
|
|
465
|
-
|
|
466
|
-
1. 转小写
|
|
467
|
-
2. 折叠空白字符:多个空格 / 换行 / tab 归一成一个空格
|
|
468
|
-
3. 去掉常见中英文标点
|
|
469
|
-
4. `trim`
|
|
470
|
-
5. 对归一化后的内容做 `sha256`
|
|
471
|
-
6. 取前 12 位作为 `fingerprint`
|
|
472
|
-
|
|
473
|
-
这意味着以下内容会被视为同一条规则:
|
|
474
|
-
|
|
475
|
-
- `禁止任何形式的臆想,不清楚必须询问`
|
|
476
|
-
- ` 禁止任何形式的臆想,不清楚必须询问 `
|
|
477
|
-
- `禁止任何形式的臆想,不清楚必须询问!`
|
|
478
|
-
|
|
479
|
-
### 2. 近似重复 / 潜在冲突如何判断
|
|
480
|
-
|
|
481
|
-
`aida rules dedupe` 不只看 `fingerprint`。对于**不同 fingerprint** 的规则,它会继续做近似判断:
|
|
482
|
-
|
|
483
|
-
- 只比较同一 `category` 下的规则
|
|
484
|
-
- 用和 `fingerprint` 一致的归一化规则做文本清洗
|
|
485
|
-
- 按空格切词
|
|
486
|
-
- 过滤长度小于等于 1 的 token
|
|
487
|
-
- 计算 Jaccard 相似度
|
|
488
|
-
- 相似度 `>= 0.4` 时,标记为 potential duplicate
|
|
489
|
-
|
|
490
|
-
这类规则不会自动合并,只会提示人工处理。原因很简单:语义相近不代表可以安全替换。
|
|
491
|
-
|
|
492
|
-
### 3. 当前行为
|
|
493
|
-
|
|
494
|
-
- `rules add`:按 `fingerprint` 阻止新增完全重复规则
|
|
495
|
-
- `merge`:按 `fingerprint` 合并冲突两侧规则
|
|
496
|
-
- `build`:分发规则视图时会过滤 exact duplicate,避免生成产物里重复出现
|
|
497
|
-
- `rules dedupe`:会把 `rules.json` 里已经存在的 exact duplicate 清掉,并继续提示 near duplicate
|
|
498
|
-
|
|
499
135
|
---
|
|
500
136
|
|
|
501
|
-
##
|
|
502
|
-
|
|
503
|
-
重复执行的目标是**补全缺失,不破坏用户手工内容**。当前策略如下。
|
|
504
|
-
|
|
505
|
-
### 安全重跑的命令
|
|
506
|
-
|
|
507
|
-
- `aida init`
|
|
508
|
-
- 未初始化时:正常初始化
|
|
509
|
-
- 已初始化时:进入交互分支,可选择新增工具或修复缺失文件
|
|
510
|
-
- `aida migrate-dir`
|
|
511
|
-
- 已经使用 `.aida` 时:直接 no-op
|
|
512
|
-
- `aida migrate-legacy`
|
|
513
|
-
- 已迁移项目可重跑
|
|
514
|
-
- 适合“老版本包生成不完整,升级后再补建”的场景
|
|
515
|
-
|
|
516
|
-
### 不会直接冲掉用户内容的部分
|
|
517
|
-
|
|
518
|
-
- `AGENTS.md` / `CLAUDE.md`
|
|
519
|
-
- 只维护 AIDA 注入区块
|
|
520
|
-
- 已有自定义内容会尽量保留
|
|
521
|
-
- `.mcp.json` / `.cursor/mcp.json` / `.lingma/mcp.json`
|
|
522
|
-
- 走 JSON merge,把 `aida` MCP server 合进去
|
|
523
|
-
- `.codex/config.toml`
|
|
524
|
-
- 只维护 `[mcp_servers.aida]` 片段,保留其他配置
|
|
525
|
-
- `.gitignore`
|
|
526
|
-
- 只追加缺失条目,不清空现有内容
|
|
527
|
-
|
|
528
|
-
### 会被重建覆盖的部分
|
|
529
|
-
|
|
530
|
-
以下属于 **AIDA 受管生成产物**,重复执行会按 `.aida/*.json` 真源重建:
|
|
531
|
-
|
|
532
|
-
- `.aida/rules/*.md`
|
|
533
|
-
- `.aida/memories/modules/*.md`
|
|
534
|
-
- `.aida/runs/*/context.md`
|
|
535
|
-
- `.cursor/rules/aida/*`
|
|
536
|
-
- `.codex/rules/aida/*`
|
|
537
|
-
- `.claude/rules/aida/*`
|
|
538
|
-
- `.lingma/rules/*`
|
|
539
|
-
- 工具侧由 AIDA 分发的 skill / command 文件
|
|
137
|
+
## 验证
|
|
540
138
|
|
|
541
|
-
|
|
139
|
+
本仓库当前通过:
|
|
542
140
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
- 只想修复缺失产物:优先重跑 `aida init -> repair` 或 `aida migrate-legacy`
|
|
547
|
-
- 不要把人工内容写进 AIDA 受管生成目录
|
|
548
|
-
|
|
549
|
-
---
|
|
550
|
-
|
|
551
|
-
## 📁 数据沉淀与绩效汇报
|
|
552
|
-
|
|
553
|
-
AIDA 不只是可视化 —— 它**沉淀数据**。每次运行都积累结构化数据,时间越长价值越大。
|
|
554
|
-
|
|
555
|
-
```
|
|
556
|
-
第 1 周:47 个任务、23 个偏差、5 个 Bug、6 条规则、4064 行代码
|
|
557
|
-
第 4 周:180+ 任务、偏差率持续下降、15 条规则、完整质量历史
|
|
558
|
-
一个季度:完整的开发记录 —— 可导出、可分析、可汇报
|
|
141
|
+
```bash
|
|
142
|
+
npm test
|
|
143
|
+
npm run build
|
|
559
144
|
```
|
|
560
|
-
|
|
561
|
-
所有数据都在 `.aida/` 里,格式是结构化 JSON。没有厂商锁定,随时可以导出、查询或接入别的报表系统。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAsBA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAgH5C"}
|