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
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: requirement-analyzer
3
3
  description: 分析需求文档,对比 PRD 与已有代码/规则,提取需实现的功能点及约束。
4
- globs: ['.aidevos/runs/*/prd.md', '.aidevos/runs/*/prd*.md', '.aidevos/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
4
+ globs: ['.aida/runs/*/prd.md', '.aida/runs/*/prd*.md', '.aida/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
5
5
  ---
6
6
 
7
7
  # requirement-analyzer (需求分析器)
@@ -14,8 +14,8 @@ globs: ['.aidevos/runs/*/prd.md', '.aidevos/runs/*/prd*.md', '.aidevos/rules/*.m
14
14
 
15
15
  > **[run_id]**:当前需求/功能的唯一标识
16
16
  > **[dev_name]**:通过 `git config user.name` 获取,转全小写并用 `-` 替换空格。
17
- > **分支目录**:`.aidevos/runs/[run_id]/`(共享:prd.md、analysis.md、requirement.json)
18
- > **开发者目录**:`.aidevos/runs/[run_id]/[dev_name]/`(个人:run.json)
17
+ > **分支目录**:`.aida/runs/[run_id]/`(共享:prd.md、analysis.md、requirement.json)
18
+ > **开发者目录**:`.aida/runs/[run_id]/[dev_name]/`(个人:run.json)
19
19
 
20
20
  ## 执行步骤
21
21
 
@@ -37,7 +37,7 @@ globs: ['.aidevos/runs/*/prd.md', '.aidevos/runs/*/prd*.md', '.aidevos/rules/*.m
37
37
 
38
38
  **c) 读取项目规范:**
39
39
  - 读取项目所有规范,确保分析结果符合项目全局约束:
40
- - **AIDevOS 规则**:`.aidevos/rules/` 下的所有 `.md` 文件
40
+ - **AIDevOS 规则**:`.aida/rules/` 下的所有 `.md` 文件
41
41
  - **全局规则文件**:`CLAUDE.md`(Claude Code 项目)或 `.cursor/rules/*/*.md`(Cursor 项目)
42
42
 
43
43
  2. **提取核心信息:**
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: rules-evolver
3
3
  description: 根据日常开发过程中遇到的普遍问题、PR 意见、架构升级,维护并沉淀本地项目开发规范。
4
- globs: ['.aidevos/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
4
+ globs: ['.aida/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
5
5
  ---
6
6
 
7
7
  # rules-evolver (规范演进者)
@@ -12,30 +12,30 @@ globs: ['.aidevos/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
12
12
 
13
13
  ## 角色
14
14
 
15
- 你是一个经验丰富的架构布道师。你通过审视项目中反复出现的 Code Review 反馈、新的技术栈升级,来提取并沉淀为新的最佳实践,反哺到 `.aidevos/rules/` 体系中。同时兼顾全局规则文件(`CLAUDE.md` 或 `.cursor/rules/*/*.md`)的一致性。
15
+ 你是一个经验丰富的架构布道师。你通过审视项目中反复出现的 Code Review 反馈、新的技术栈升级,来提取并沉淀为新的最佳实践,反哺到 `.aida/rules/` 体系中。同时兼顾全局规则文件(`CLAUDE.md` 或 `.cursor/rules/*/*.md`)的一致性。
16
16
 
17
17
  ## 执行说明
18
18
 
19
19
  1. 该 Skill 需要人工参与触发。
20
20
  2. 当人类架构师或开发指出特定新规则或痛点时,你负责:
21
21
  - 读取现有规则:
22
- - **规则注册表**:`.aidevos/rules.json`(唯一的真相源)
23
- - **规则视图**:`.aidevos/rules/*.md`(自动生成的分类视图)
22
+ - **规则注册表**:`.aida/rules.json`(唯一的真相源)
23
+ - **规则视图**:`.aida/rules/*.md`(自动生成的分类视图)
24
24
  - **全局规则文件**:`CLAUDE.md`(Claude Code 项目)或 `.cursor/rules/*/*.md`(Cursor 项目)
25
25
  - 将新规则总结、泛化后,询问用户确认,然后调用 `aida_log_rule` MCP 工具写入注册表:
26
26
  - `content`: 规则内容
27
27
  - `category`: 分类(可选值:`component`, `api`, `style`, `i18n`, `architecture`, `state-management`, `routing`, `testing`, `process`, `general`)
28
28
  - `sourceDeviation`: 关联的偏差 ID
29
29
  - 工具会自动检查 fingerprint 去重,如果规则已存在会提示
30
- - 工具会自动重建 `.aidevos/rules/*.md` 视图
30
+ - 工具会自动重建 `.aida/rules/*.md` 视图
31
31
  - 检查是否与全局规则文件冲突,如有冲突则提示用户
32
32
  3. 确保提炼出的规则具有可被 AI 自动化解析、清晰且强制性的执行标准。
33
33
  4. 你的每一次输出都将直接影响后续 code-generator 和 self-reviewer 的行为。
34
34
 
35
35
  ## 规则存储架构
36
36
 
37
- - **Source of Truth**:`.aidevos/rules.json`(JSON 数组,提交到 git)
38
- - **只读视图**:`.aidevos/rules/*.md`(按分类自动生成,已 gitignore)
37
+ - **Source of Truth**:`.aida/rules.json`(JSON 数组,提交到 git)
38
+ - **只读视图**:`.aida/rules/*.md`(按分类自动生成,已 gitignore)
39
39
  - **去重机制**:每条规则有 fingerprint(内容 hash),自动防止重复沉淀
40
40
  - **合并策略**:并行分支各自追加规则到 JSON,合并时取并集(`aida rules merge`)
41
41
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: self-reviewer
3
3
  description: 根据项目规范,对当前代码修改进行质量自检,将审核结果写入 run.json.reviews[],驱动代码修改反馈循环。
4
- globs: ['.aidevos/runs/*/*/run.json', '.aidevos/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
4
+ globs: ['.aida/runs/*/*/run.json', '.aida/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
5
5
  ---
6
6
 
7
7
  # self-reviewer (质量自检员)
8
8
 
9
- > **铁律**:1) 必须先读取项目所有规范作为检查基准(`.aidevos/rules/`、`CLAUDE.md` 或 `.cursor/rules/*/*.md`) 2) 检查结果必须写入 `run.json.reviews[]` 并更新 `summary.reviewCount` 3) 写入后输出 `✓ run.json updated: reviews[], summary` 4) 发现问题必须给出具体文件路径和修复方案 5) 不合规必须返回 fail,不能放水
9
+ > **铁律**:1) 必须先读取项目所有规范作为检查基准(`.aida/rules/`、`CLAUDE.md` 或 `.cursor/rules/*/*.md`) 2) 检查结果必须写入 `run.json.reviews[]` 并更新 `summary.reviewCount` 3) 写入后输出 `✓ run.json updated: reviews[], summary` 4) 发现问题必须给出具体文件路径和修复方案 5) 不合规必须返回 fail,不能放水
10
10
 
11
11
  ## 角色
12
12
 
@@ -16,7 +16,7 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/rules/*.md', 'CLAUDE.md', '.curs
16
16
 
17
17
  > **[run_id]**:当前需求/功能的唯一标识
18
18
  > **[dev_name]**:通过 `git config user.name` 获取,转全小写并用 `-` 替换空格。
19
- > **数据根目录**:`.aidevos/runs/[run_id]/[dev_name]/`
19
+ > **数据根目录**:`.aida/runs/[run_id]/[dev_name]/`
20
20
  > **数据文件**:`run.json`
21
21
 
22
22
  ## 执行指令
@@ -25,7 +25,7 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/rules/*.md', 'CLAUDE.md', '.curs
25
25
 
26
26
  - 读取 `run.json.tasks[]` 中最近 `status: "done"` 的任务,确定审查范围。
27
27
  - 读取项目所有规范(非常重要):
28
- - **AIDevOS 规则**:`.aidevos/rules/` 下的所有 `.md` 文件(从 `rules.json` 自动生成的分类视图)
28
+ - **AIDevOS 规则**:`.aida/rules/` 下的所有 `.md` 文件(从 `rules.json` 自动生成的分类视图)
29
29
  - **全局规则文件**:`CLAUDE.md`(Claude Code 项目)或 `.cursor/rules/*/*.md`(Cursor 项目)
30
30
 
31
31
  2. **执行全维度自检:**
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: task-splitter
3
3
  description: 基于需求分析结果 (analysis.md),将开发工作拆解为可独立执行、可验证的子任务,写入 run.json.tasks[]。
4
- globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/analysis.md', '.aidevos/runs/*/requirement.json']
4
+ globs: ['.aida/runs/*/*/run.json', '.aida/runs/*/analysis.md', '.aida/runs/*/requirement.json']
5
5
  ---
6
6
 
7
7
  # task-splitter (任务拆分器)
8
8
 
9
- > **铁律**:1) 拆解后必须写入 `run.json.tasks[]` 并更新 `summary.totalTasks`(不可跳过) 2) 写入后输出 `✓ run.json updated: tasks[], summary, workflow[]` 3) 每个任务必须有 taskId, title, stageName, acceptance 4) 必须先读取 `.aidevos/rules/` 确保任务符合项目规范 5) 只为当前开发者认领的模块拆分任务
9
+ > **铁律**:1) 拆解后必须写入 `run.json.tasks[]` 并更新 `summary.totalTasks`(不可跳过) 2) 写入后输出 `✓ run.json updated: tasks[], summary, workflow[]` 3) 每个任务必须有 taskId, title, stageName, acceptance 4) 必须先读取 `.aida/rules/` 确保任务符合项目规范 5) 只为当前开发者认领的模块拆分任务
10
10
 
11
11
  ## 角色
12
12
 
@@ -16,8 +16,8 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/analysis.md', '.aidevos/r
16
16
 
17
17
  > **[run_id]**:当前需求/功能的唯一标识
18
18
  > **[dev_name]**:通过 `git config user.name` 获取,转全小写并用 `-` 替换空格。
19
- > **分支目录**:`.aidevos/runs/[run_id]/`(共享:analysis.md、requirement.json)
20
- > **开发者目录**:`.aidevos/runs/[run_id]/[dev_name]/`(个人:run.json)
19
+ > **分支目录**:`.aida/runs/[run_id]/`(共享:analysis.md、requirement.json)
20
+ > **开发者目录**:`.aida/runs/[run_id]/[dev_name]/`(个人:run.json)
21
21
 
22
22
  ## 执行步骤
23
23
 
@@ -33,7 +33,7 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/analysis.md', '.aidevos/r
33
33
 
34
34
  - **原子性:** 每个任务应尽可能小,且能独立验证。
35
35
  - **逻辑顺序:** 任务必须按照合理的开发依赖顺序排列。通常顺序为:类型定义 -> API 接口层 -> 公共组件/Hooks -> i18n 字典 -> 视图层组装 -> 联调测试。
36
- - **规范化:** 必须体现出项目规范中的组件和模式要求(从 `.aidevos/rules/` 读取)。
36
+ - **规范化:** 必须体现出项目规范中的组件和模式要求(从 `.aida/rules/` 读取)。
37
37
  - **可追踪:** 每个任务使用结构化 JSON 格式。
38
38
 
39
39
  3. **写入任务清单(强制,不可跳过):**
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflow-orchestrator
3
3
  description: 编排需求分析 -> 任务拆分 -> 代码生成 -> 自检的完整 AI 开发流程,支持中断恢复。所有状态数据读写 run.json。
4
- globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/requirement.json', '.aidevos/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
4
+ globs: ['.aida/runs/*/*/run.json', '.aida/runs/*/requirement.json', '.aida/rules/*.md', 'CLAUDE.md', '.cursor/rules/*/*.md']
5
5
  ---
6
6
 
7
7
  # workflow-orchestrator (流程编排器)
@@ -16,22 +16,22 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/requirement.json', '.aide
16
16
 
17
17
  > **[run_id]**:当前需求/功能的唯一标识(如分支名、JIRA 号)
18
18
  > **[dev_name]**:通过 `git config user.name` 获取当前开发者姓名,转全小写并用 `-` 替换空格。
19
- > **分支目录**:`.aidevos/runs/[run_id]/`(共享:prd.md、analysis.md、requirement.json)
20
- > **开发者目录**:`.aidevos/runs/[run_id]/[dev_name]/`(个人:run.json)
19
+ > **分支目录**:`.aida/runs/[run_id]/`(共享:prd.md、analysis.md、requirement.json)
20
+ > **开发者目录**:`.aida/runs/[run_id]/[dev_name]/`(个人:run.json)
21
21
  > **核心数据文件**:`run.json`(单一数据源,所有结构化数据的唯一读写目标)
22
22
  > **分支共享数据**:`requirement.json`(需求摘要、功能模块、亮点、开发者汇总)
23
23
 
24
24
  ## Skill 调用方式
25
25
 
26
26
  通过文件路径引用调用原子 Skill,AI 在执行时读取对应 Skill 文件:
27
- - `.aidevos/skills/requirement-analyzer/SKILL.md`
28
- - `.aidevos/skills/task-splitter/SKILL.md`
29
- - `.aidevos/skills/code-generator/SKILL.md`
30
- - `.aidevos/skills/self-reviewer/SKILL.md`
31
- - `.aidevos/skills/bug-fixer/SKILL.md`
32
- - `.aidevos/skills/docx-to-markdown/SKILL.md`
33
- - `.aidevos/skills/mcp-reviewer/SKILL.md`
34
- - `.aidevos/skills/dashboard-generator/SKILL.md`
27
+ - `.aida/skills/requirement-analyzer/SKILL.md`
28
+ - `.aida/skills/task-splitter/SKILL.md`
29
+ - `.aida/skills/code-generator/SKILL.md`
30
+ - `.aida/skills/self-reviewer/SKILL.md`
31
+ - `.aida/skills/bug-fixer/SKILL.md`
32
+ - `.aida/skills/docx-to-markdown/SKILL.md`
33
+ - `.aida/skills/mcp-reviewer/SKILL.md`
34
+ - `.aida/skills/dashboard-generator/SKILL.md`
35
35
 
36
36
  ## 执行逻辑 (工作流生命周期)
37
37
 
@@ -2,7 +2,7 @@
2
2
  "meta": {
3
3
  "schemaVersion": "1.0",
4
4
  "runId": "demo-feature",
5
- "project": "aidevos-demo",
5
+ "project": "aida-demo",
6
6
  "developer": "demo-dev",
7
7
  "branch": "demo-feature",
8
8
  "aiModel": "claude-sonnet-4",
@@ -230,7 +230,7 @@
230
230
  "src/views/user/UserDetail.vue"
231
231
  ],
232
232
  "ruleSedimented": {
233
- "file": ".aidevos/rules/component-usage.md",
233
+ "file": ".aida/rules/component-usage.md",
234
234
  "content": "Detail views must use Drawer component, not Dialog"
235
235
  },
236
236
  "detectedAt": "2026-03-01T12:30:00.000Z",
@@ -247,7 +247,7 @@
247
247
  "src/views/user/UserList.vue"
248
248
  ],
249
249
  "ruleSedimented": {
250
- "file": ".aidevos/rules/i18n-rule.md",
250
+ "file": ".aida/rules/i18n-rule.md",
251
251
  "content": "All user-facing text must use $t() i18n calls, no hardcoded strings"
252
252
  },
253
253
  "detectedAt": "2026-03-01T11:30:00.000Z",
@@ -292,7 +292,7 @@
292
292
  "src/views/user/UserForm.vue"
293
293
  ],
294
294
  "ruleSedimented": {
295
- "file": ".aidevos/rules/coding-style.md",
295
+ "file": ".aida/rules/coding-style.md",
296
296
  "content": "Always use @/ path alias for imports, never relative paths with ../"
297
297
  },
298
298
  "detectedAt": "2026-03-01T13:05:00.000Z",
@@ -880,21 +880,21 @@
880
880
  "rules": [
881
881
  {
882
882
  "ruleId": "RULE-01",
883
- "file": ".aidevos/rules/component-usage.md",
883
+ "file": ".aida/rules/component-usage.md",
884
884
  "content": "Detail views must use Drawer component, not Dialog",
885
885
  "sourceDeviation": "DEV-01",
886
886
  "sedimentedAt": "2026-03-01T12:35:00.000Z"
887
887
  },
888
888
  {
889
889
  "ruleId": "RULE-02",
890
- "file": ".aidevos/rules/coding-style.md",
890
+ "file": ".aida/rules/coding-style.md",
891
891
  "content": "Always use @/ path alias for imports, never relative paths with ../",
892
892
  "sourceDeviation": "DEV-05",
893
893
  "sedimentedAt": "2026-03-01T13:08:00.000Z"
894
894
  },
895
895
  {
896
896
  "ruleId": "RULE-03",
897
- "file": ".aidevos/rules/i18n-rule.md",
897
+ "file": ".aida/rules/i18n-rule.md",
898
898
  "content": "All user-facing text must use $t() i18n calls, no hardcoded strings",
899
899
  "sourceDeviation": "DEV-02",
900
900
  "sedimentedAt": "2026-03-01T11:35:00.000Z"