aidevo 1.0.0-beta.2 → 1.0.0-beta.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevo",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.3",
4
4
  "description": "AI Development Observability Platform - Track what AI actually does in your codebase",
5
5
  "type": "module",
6
6
  "bin": {
@@ -38,27 +38,29 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/requirement.json', '.aide
38
38
  0. **初始化与需求接入:**
39
39
 
40
40
  **a) 检测并转换 PRD 文档:**
41
- - 检查**分支目录**下是否存在 `prd.md` 或 `prd.docx`。
42
- - 如果存在 `.docx` 文件且无对应 `.md`,先触发 `docx-to-markdown` 转换。
43
-
44
- **b) 检测并转换接口文档(可选,后续追加):**
45
- - 检查分支目录下是否存在接口文档(支持多种命名):
46
- - `api.md` / `api.docx`
47
- - `interface.md` / `interface.docx`
48
- - `接口文档.md` / `接口文档.docx`
49
- - 或其他包含 "api"、"interface"、"接口" 关键词的文档
50
- - 如果发现 `.docx` 格式,自动转换为 `.md`
51
- - 接口文档为可选项,有则读取,无则跳过
52
-
53
- **c) 初始化 PRD 阶段:**
54
- - 检查 `run.json.meta.prdPhases` 是否为空:
55
- - 如果为空,从 `prd.md` 内容中识别PRD阶段(如 "PRD1"、"PRD2"等),更新到 `meta.prdPhases[]`
41
+ - 扫描**分支目录**和**开发者目录**下的所有 `.docx` 和 `.md` 文件(不限文件名)。
42
+ - 常见命名:`prd.md`、`PRD4.docx`、`需求文档.docx`、`【MTR-XXX】功能设计.docx` 等,**任何文件名都应识别**。
43
+ - 如果发现 `.docx` 文件且无同名 `.md`,先触发 `docx-to-markdown` 转换。
44
+ - 将所有 PRD 相关文档内容合并写入或追加到 `prd.md`(分支目录共享)。
45
+ - **注意**:文档应放在**分支目录**下(共享层级),不要求用户移动到开发者目录。
46
+
47
+ **b) 检测并转换接口文档(可选):**
48
+ - 扫描分支目录下包含 "api"、"interface"、"接口"、"设计" 关键词的文档。
49
+ - 如果发现 `.docx` 格式,自动转换为 `.md`。
50
+ - 接口文档为可选项,有则读取,无则跳过。
51
+
52
+ **c) 初始化或追加 PRD 阶段:**
53
+ - 读取 `run.json.meta.prdPhases`:
54
+ - 如果为空,从 `prd.md` 内容中识别 PRD 阶段(如 "PRD1"、"PRD2"等),写入 `meta.prdPhases[]`
55
+ - 如果已有阶段,检查是否有**新增 PRD 文档**尚未纳入阶段列表:
56
+ - 发现新文档 → 识别新的 PRD 阶段编号(如已有 PRD1-3,新文档为 PRD4),追加到 `meta.prdPhases[]`
57
+ - **如果 `run.json.meta.status === "completed"`**,将其改为 `"running"`,重新开启工作流
56
58
  - 更新 `summary.prdPhaseCount` 为 `meta.prdPhases.length`
57
59
 
58
60
  **d) 判断是否需要重新分析:**
59
- - 比对 `prd.md` 与现有 `analysis.md`。
60
- - 如果有新增内容 -> 触发执行 `requirement-analyzer`(生成新的或增补分析)。
61
- - 如果没有新增内容 -> 跳过分析,直接读取 `run.json` 中的 `context` 恢复上次的进度状态。
61
+ - 比对当前所有 PRD 文档内容与现有 `analysis.md`。
62
+ - 如果有新增内容(新 PRD 阶段、新文档)→ 触发 `requirement-analyzer`(增量分析,保留已有分析内容)。
63
+ - 如果没有新增内容 跳过分析,直接读取 `run.json.context` 恢复上次进度。
62
64
 
63
65
  **必须执行的数据写入:**
64
66
  - 更新 `run.json.workflow[]` 添加/更新当前阶段:
@@ -113,8 +115,11 @@ globs: ['.aidevos/runs/*/*/run.json', '.aidevos/runs/*/requirement.json', '.aide
113
115
  - 用户确认需求理解无误后,加载上下文 (`run.json.context`)。
114
116
  - 读取 `run.json` 中的 `context` 字段。如果是空或全新的需求,初始化流程起点。
115
117
  - 判断当前 run_id 是否存在并有未完成的任务(检查 `run.json.tasks[]`)。
116
- - 如果 `run.json.meta.status === "completed"` -> 提示工作流已闭环结束。
117
- - `analysis.md` 存在但 `run.json.tasks[]` 为空时,调用 `task-splitter`,将生成的任务写入 `run.json.tasks[]`。
118
+ - 如果 `run.json.meta.status === "completed"`:
119
+ - 检查是否在 Step 0 中发现了**新的 PRD 文档/阶段**。
120
+ - 如果有新阶段 → status 已在 Step 0c 中改为 `"running"`,继续执行。
121
+ - 如果没有新内容 → 提示工作流已闭环结束,询问用户是否有新的 PRD 文档需要处理。
122
+ - 当 `analysis.md` 存在但 `run.json.tasks[]` 为空或当前 PRD 阶段无任务时,调用 `task-splitter`,将生成的任务写入 `run.json.tasks[]`。
118
123
  - **task-splitter 只为当前开发者认领的模块拆分任务**(从 requirement.json.modules 读取 assignee)。
119
124
  - 任务拆分完成后**可以**暂停让用户核查(可选,优先级低于需求确认),也可以直接进入执行循环。
120
125