architext 0.0.4 → 0.0.5

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 (56) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/README.md +84 -7
  3. package/README.zh-CN.md +84 -7
  4. package/dist/index.js +38 -38
  5. package/dist/templates/en/briefs/_base.md +44 -11
  6. package/dist/templates/en/briefs/_modules.md +31 -4
  7. package/dist/templates/en/docs/prompts/audit.md +80 -94
  8. package/dist/templates/en/docs/prompts/code.md +87 -89
  9. package/dist/templates/en/docs/prompts/edit.md +47 -51
  10. package/dist/templates/en/docs/prompts/fix.md +49 -42
  11. package/dist/templates/en/docs/prompts/help.md +23 -31
  12. package/dist/templates/en/docs/prompts/inherit.md +91 -116
  13. package/dist/templates/en/docs/prompts/map.md +47 -69
  14. package/dist/templates/en/docs/prompts/plan.md +134 -239
  15. package/dist/templates/en/docs/prompts/recover.md +19 -34
  16. package/dist/templates/en/docs/prompts/ref.md +43 -138
  17. package/dist/templates/en/docs/prompts/remove.md +55 -107
  18. package/dist/templates/en/docs/prompts/revise.md +63 -106
  19. package/dist/templates/en/docs/prompts/scope.md +77 -117
  20. package/dist/templates/en/docs/prompts/start.md +89 -129
  21. package/dist/templates/en/rules/00_system.md +36 -79
  22. package/dist/templates/en/rules/01_workflow.md +59 -57
  23. package/dist/templates/en/rules/03_data_governance.md +46 -42
  24. package/dist/templates/en/skills/archi-data-sync/SKILL.md +12 -12
  25. package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +3 -34
  26. package/dist/templates/en/skills/archi-design-patterns/SKILL.md +1 -0
  27. package/dist/templates/en/skills/archi-feature-relations/SKILL.md +4 -4
  28. package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -1
  29. package/dist/templates/en/skills/archi-plan-options/SKILL.md +4 -3
  30. package/dist/templates/en/skills/archi-silent-audit/SKILL.md +20 -20
  31. package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +315 -270
  32. package/dist/templates/zh/briefs/_base.md +44 -12
  33. package/dist/templates/zh/briefs/_modules.md +27 -0
  34. package/dist/templates/zh/docs/prompts/audit.md +42 -56
  35. package/dist/templates/zh/docs/prompts/code.md +47 -49
  36. package/dist/templates/zh/docs/prompts/edit.md +38 -42
  37. package/dist/templates/zh/docs/prompts/fix.md +30 -29
  38. package/dist/templates/zh/docs/prompts/help.md +13 -21
  39. package/dist/templates/zh/docs/prompts/inherit.md +59 -83
  40. package/dist/templates/zh/docs/prompts/map.md +24 -47
  41. package/dist/templates/zh/docs/prompts/plan.md +92 -197
  42. package/dist/templates/zh/docs/prompts/recover.md +9 -24
  43. package/dist/templates/zh/docs/prompts/ref.md +11 -106
  44. package/dist/templates/zh/docs/prompts/remove.md +31 -71
  45. package/dist/templates/zh/docs/prompts/revise.md +37 -86
  46. package/dist/templates/zh/docs/prompts/scope.md +51 -91
  47. package/dist/templates/zh/docs/prompts/start.md +67 -106
  48. package/dist/templates/zh/rules/00_system.md +18 -91
  49. package/dist/templates/zh/rules/01_workflow.md +60 -59
  50. package/dist/templates/zh/rules/03_data_governance.md +41 -68
  51. package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +2 -33
  52. package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +1 -0
  53. package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -1
  54. package/dist/templates/zh/skills/archi-plan-options/SKILL.md +1 -0
  55. package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +317 -269
  56. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  <protocol_fix>
2
- **Trigger**: `/archi.fix [id] <context>`
2
+ **Trigger**: `/archi.fix [id] <context>` | 自然语言触发时由 Workflow Dispatch 自动加载
3
3
  **Goal**: 针对 Bug 进行诊断并直接执行修复。若未提供 `[id]`,自动定位相关功能模块。
4
4
 
5
5
  <meta>
@@ -11,6 +11,7 @@
11
11
  3. **Root Cause**: 须分析根因,而非修补表面。
12
12
  4. **Test-Driven**: 修复计划须含新增测试用例。
13
13
  5. **Auto-Discovery**: 若未指定 ID,通过 Context 语义搜索定位 Task。
14
+ 6. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
14
15
  </principles>
15
16
  </meta>
16
17
 
@@ -21,8 +22,8 @@
21
22
  - 有 `<id>`: 锁定 `tasks/<ID>_<Slug>/`。
22
23
  - 无 `<id>`: 分析 `[context]` 搜索最相关模块。
23
24
  唯一匹配 → 自动锁定 | 多个匹配 → 列出候选询问 | 无法定位 → 报错请求指定 ID。
24
- 2. 读取目标目录下所有文档 (`spec.md`, `ui.md`, `plan.json`) 与相关代码。
25
- 3. 读取 `02_tech_stack.md`(确保修复方式不违反技术红线)和 `[[__DOCS_DIR__]]/global/vision.md`(确保修复方向不偏离项目愿景)。
25
+ 2. 读取目标目录下所有文档与相关代码。
26
+ 3. 读取 02_tech_stack.md(技术红线)和 vision.md(方向基准)。
26
27
  4. 分析 `[context]`,结合代码逻辑定位潜在故障点。
27
28
  5. **Hypothesis**: 提出 1-3 个根因假设。
28
29
 
@@ -30,31 +31,23 @@
30
31
  </step_1_diagnose>
31
32
 
32
33
  <step_2_plan_fix>
33
- **Role**: Tech Lead
34
34
  **Action**:
35
- - 更新 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>/plan.json`,在 `phases` 数组中追加 phase 对象,`name` 为 `Bugfix: <Bug Title>`。
35
+ - 更新 plan.json,追加 phase `Bugfix: <Bug Title>`。
36
36
  - Tasks: 1) 创建复现测试(Red) 2) 修复(Green) 3) 回归测试。
37
37
 
38
- **Terminal Gate** (禁止跳过,须在 step_3 开始前全部完成):
39
- | 步骤 | 命令 | 通过条件 |
40
- |:---|:---|:---|
41
- | 1 | `npx archi task --check` | 无 ERROR 级问题 |
42
- | 2 | `npx archi render` | `.md` 视图生成完成 |
38
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)
43
39
 
44
40
  **Output**: 追加了修复任务的 plan.json。
45
41
  </step_2_plan_fix>
46
42
 
47
43
  <step_3_execute_fix>
48
- **Role**: 资深工程师 (Surgical Fix — 仅改 Bug,禁扩散)
49
44
  **Action**:
50
- - 根据 Plan 直接修改代码。
51
- - 仅修复 Bug,禁借机重构或改无关代码。
52
- - 错误处理遵循 `code.md` 规范(禁吞错/禁静默失败)。
45
+ - 根据 Plan 直接修改代码。仅修复 Bug,禁借机重构。
46
+ - 错误处理遵循 `code.md` 规范。
53
47
  </step_3_execute_fix>
54
48
 
55
49
  <step_4_verify>
56
- **Role**: QA 工程师
57
- **Terminal Gate** (禁止跳过,须在 step_5 输出前全部完成):
50
+ **Terminal Gate** (禁止跳过):
58
51
  | 步骤 | 命令 | 通过条件 |
59
52
  |:---|:---|:---|
60
53
  | 1 | 运行构建命令 | 构建成功 |
@@ -65,28 +58,36 @@
65
58
  任何失败须修复至通过。
66
59
 
67
60
  **代码质量审查**:
68
- [[SUBAGENT: archi-silent-audit|mode: code-impl, context: 审查 step_3 修复的代码,重点检查 Tech/Security/Performance 维度及 Spec Immutable 原则(禁改 spec/ui)]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: code-impl 的审查维度表逐项检查)]]
61
+ [[SUBAGENT: archi-silent-audit|mode: code-impl, context: 审查修复代码,重点 Tech/Security/Performance + Spec Immutable]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: code-impl 检查)]]
69
62
 
70
63
  [[INCLUDE: shared/verify-result-handling.md]]
71
64
  </step_4_verify>
72
65
 
73
- <step_4_5_plan_update>
74
- **Role**: Tech Lead
66
+ <step_5_plan_update>
75
67
  **Action**:
76
- 1. 更新 `plan.json`:将 Bugfix Phase 中已完成的 tasks 的 `done` 设为 `true`。
77
- 2. [当前 status=`done` 且 Bugfix Phase 全部通过] → 保持 `done` 不变。
78
- 3. [Bugfix Phase 有未通过项] → 运行 `npx archi task <ID> --status active`;signoff 输出中标注须重新 `/archi.code` 完成剩余修复。
79
-
80
- **Output**: `MODIFIED: plan.json Bugfix Phase done 标记`(如状态变更,附 `MODIFIED: roadmap.json <ID>.status`)。
81
- </step_4_5_plan_update>
68
+ 1. 更新 plan.json Bugfix Phase 中已完成 tasks 的 `done: true`。
69
+ 2. [status=`done` 且 Bugfix 全通过] → 保持 `done`。
70
+ 3. [Bugfix 有未通过项] → `npx archi task <ID> --status active`;signoff 标注须重新 `/archi.code`。
71
+
72
+ **Output**: `MODIFIED: plan.json Bugfix Phase done 标记`。进入 step_6_summary。
73
+ </step_5_plan_update>
74
+
75
+ <step_6_summary>
76
+ **Pre-signoff Checklist** (输出前须逐项确认):
77
+ □ 根因已分析(非表面修补),Hypothesis 已在 step_1 输出
78
+ □ plan.json — Bugfix Phase 已追加(step_2)
79
+ □ 复现测试已创建并验证(Red → Green)
80
+ □ 代码修复仅针对 Bug,无借机重构
81
+ □ Step 4 Terminal Gate — 构建/类型检查/Lint/测试全部通过
82
+ □ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
83
+ □ plan.json Bugfix Phase — done 标记已更新(step_5)
82
84
 
83
- <step_5_summary>
84
85
  **Output**: Bug 修复摘要,含 Root Cause 分析、修复内容、新增测试,以及 Next Steps 表格:
85
86
 
86
87
  | 优先级 | 动作 | 说明 |
87
88
  |:---|:---|:---|
88
- | 推荐 | `/archi.audit <ID>` | 重新审查,确认修复完整且无新引入问题 |
89
- | 可选 | `/archi.code <ID>` | 如有 Bugfix Phase 未完成项,继续实现 |
90
- </step_5_summary>
89
+ | 推荐 | `/archi.audit <ID>` | 重新审查,确认修复完整 |
90
+ | 可选 | `/archi.code <ID>` | 如有未完成项,继续实现 |
91
+ </step_6_summary>
91
92
 
92
93
  </protocol_fix>
@@ -14,17 +14,15 @@
14
14
  </meta>
15
15
 
16
16
  <step_1_load_context>
17
- **Role**: 项目观察员
18
17
  **Action**:
19
- 1. 读取 `[[__DOCS_DIR__]]/global/roadmap.json` — 仅提取每个 task 的 `id/title/status/deps/tag` 字段;`goal/notes` 字段跳过(导航和状态聚合不需要这些详情)。
20
- 2. 扫描 `[[__DOCS_DIR__]]/tasks/` 目录 — 获取已有 Task 及其文档完整度(有无 spec.md / ui.md / plan.json)。
21
- 3. [?question] 若用户带了问题,根据问题语义定位相关文件(spec / plan / vision / tech_stack / data_snapshot 等),按需读取。
18
+ 1. **Load**: roadmap.json(仅 id/title/status/deps/tag,跳过 goal/notes)。
19
+ 2. **Scan Tasks**: 扫描 tasks/ 目录 — 获取已有 Task 及其文档完整度(有无 spec.md / ui.md / plan.json)。
20
+ 3. [?question] 若用户带了问题,根据语义定位相关文件按需读取。
22
21
 
23
- **Output**: 内部上下文(不直接输出给用户)。
22
+ **Output**: 内部上下文(不输出给用户)。
24
23
  </step_1_load_context>
25
24
 
26
25
  <step_2_route>
27
- **Role**: 路由器
28
26
  **Action**: 根据输入分支:
29
27
 
30
28
  | 输入 | 分支 |
@@ -35,33 +33,27 @@
35
33
  </step_2_route>
36
34
 
37
35
  <step_3_navigate>
38
- **Role**: 项目导航员
39
36
  **Action**:
40
37
  1. **判断项目阶段**:
41
38
 
42
39
  | 信号 | 阶段 | 建议 |
43
40
  |:---|:---|:---|
44
41
  | roadmap.json 不存在 | 未初始化 | 新项目 → `/archi.start`;已有代码 → `/archi.inherit` |
45
- | 有 roadmap 但无 Task 目录 | 已启动,未规划 | 运行 `/archi.scope` 规划新任务 |
46
- | 有 Legacy stub (Spec-Status: Stub) | 已继承,未补全 | 运行 `/archi.edit LEG-xx` 补全 spec |
47
- | 有 active 任务且 plan.json 完整 | 可编码 | 运行 `/archi.code <ID>` |
48
- | 有 active 任务但缺 spec/plan | 规划未完成 | 运行 `/archi.plan <ID>` 补全 |
49
- | 所有任务 done | 已完成 | 运行 `/archi.scope` 规划新任务或发布 |
42
+ | 有 roadmap 但无 Task 目录 | 已启动,未规划 | `/archi.scope` 规划新任务 |
43
+ | 有 Legacy stub (Spec-Status: Stub) | 已继承,未补全 | `/archi.edit LEG-xx` 补全 spec |
44
+ | 有 active 任务且 plan.json 完整 | 可编码 | `/archi.code <ID>` |
45
+ | 有 active 任务但缺 spec/plan | 规划未完成 | `/archi.plan <ID>` 补全 |
46
+ | 所有任务 done | 已完成 | `/archi.scope` 规划新任务或发布 |
50
47
  | 有 blocked 任务 | 存在阻塞 | 提示阻塞原因与前置依赖 |
51
48
 
52
- 2. **输出格式**:
53
- - 一句话总结当前状态
54
- - 推荐的下一步操作(含具体命令)
55
- - 如有多个可选路径,列出优先级排序(最多 3 个)
49
+ 2. **Output**: 一句话总结状态 + 推荐下一步(含命令)+ 可选路径(≤3 个,按优先级)。
56
50
  </step_3_navigate>
57
51
 
58
52
  <step_4_answer>
59
- **Role**: 项目顾问
60
53
  **Action**:
61
- 1. 解析 `[question]` 语义,定位相关项目文件。
62
- 2. 读取相关文件,综合回答。
63
- 3. 若问题涉及操作(如"怎么做 X"),回答须包含具体命令建议。
64
- 4. 若信息不足以回答,明确告知缺少什么,而非编造。
54
+ 1. 解析 `[question]` 语义,定位相关项目文件并读取。
55
+ 2. 综合回答;涉及操作的问题须包含具体命令建议。
56
+ 3. 信息不足以回答时,明确告知缺少什么,禁编造。
65
57
 
66
58
  **Output**: 基于项目上下文的简洁回答 + 相关文件引用。
67
59
  </step_4_answer>
@@ -1,7 +1,7 @@
1
1
  <protocol_inherit>
2
2
  **Trigger**: `/archi.inherit [brief_path]`
3
3
  **Phase**: Legacy Adoption
4
- **Goal**: 逆向分析已有代码仓库,生成 Architext 文档骨架,将项目纳入框架管理。可选提供 Brief 以补充愿景/路线图(适用于代码库尚空、骨架刚搭的场景)。
4
+ **Goal**: 逆向分析已有代码仓库,用分析结果填充 init 部署的文档骨架(`[[__DOCS_DIR__]]`),将项目纳入框架管理。填充空占位符,非覆盖用户既有内容。可选提供 Brief 以补充愿景/路线图(适用于代码库尚空、骨架刚搭的场景)。
5
5
 
6
6
  <meta>
7
7
  <style>Analytical, Systematic, Evidence-Based</style>
@@ -10,25 +10,20 @@
10
10
  1. **Code-Driven**: 以代码为唯一真相源,禁凭空推测功能。
11
11
  2. **AI-Native Perspective**: 分析从 AI Agent 视角撰写。关注:Context Locality、Type Safety、Module Boundaries。
12
12
  3. **User Agency First**: AI 的分析须经用户确认。代码解读有歧义时询问用户,禁擅自决定。
13
- 4. **Minimal Token**: 优先读配置和入口文件,避免逐行扫描所有代码。
13
+ 4. **Thorough Discovery, Layered Recording**: 全量读取所有非第三方业务代码(排除 node_modules/vendor/dist 等生成物),不设文件数上限。记录按三档分层:核心模块详细记录流程、共享逻辑记录签名和依赖关系、纯工具记录签名和用途。宁可多读不可遗漏——后续协议无法使用未被记录的代码。
14
14
  5. **Option Z Everywhere**: 补充提问须包含 `[Z] 自定义`。
15
15
  </principles>
16
16
  </meta>
17
17
 
18
- <step_0_ingest>
18
+ <step_0_recon>
19
19
  **Role**: 情报分析官
20
- **Trigger**: 仅当用户提供 `[brief_path]` 时执行。无参数或路径无效则跳过。
21
- **Action**:
20
+
21
+ **Brief 检测**(仅当用户提供 `[brief_path]` 时):
22
22
  1. 解析 `[brief_path]`:提供了路径 → 读取该文件;未提供 → 依次查找 `project-brief.md`(项目根)、`[[__DOCS_DIR__]]/project-brief.md`
23
23
  2. 若文件存在且非空:解析 Brief 各 Section,提取项目身份、核心任务、技术偏好、边界约束、补充说明(与 start 的 step_0_ingest 一致)
24
- 3. 若文件不存在或为空:跳过本 step,后续仅以代码为输入源
24
+ 3. 若文件不存在或为空:跳过 Brief,后续仅以代码为输入源
25
25
 
26
- **Output**: 内部 Brief 摘要(不输出给用户),进入 step_0_recon。
27
- </step_0_ingest>
28
-
29
- <step_0_recon>
30
- **Role**: 情报分析官
31
- **Action**:
26
+ **代码侦察**:
32
27
  1. 读取项目根配置文件(自动识别类型):
33
28
 
34
29
  | 语言/生态 | 配置文件 |
@@ -41,63 +36,35 @@
41
36
  | 其他 | 以根目录配置文件为准 |
42
37
 
43
38
  2. 读取 README.md(如存在)。
44
- 3. 扫描目录结构(顶层 + 核心源码目录两层深度)。
39
+ 3. 扫描目录结构(完整深度)。
45
40
  4. 推断项目特征标签(UI / Data / CLI / Lib / API — 由目录结构、依赖和配置推断)。
46
- 5. 识别入口文件和核心模块。
41
+ 5. 识别入口文件和核心模块。沿入口文件的 import 链建立模块依赖草图。
47
42
 
48
- **Output**: 内部摘要(不输出给用户),进入 step_1
43
+ **Output**: 内部摘要(不输出给用户),进入 step_1_analysis
49
44
  </step_0_recon>
50
45
 
51
46
  <step_1_analysis>
52
- **Role**: 系统分析师
53
- **扫描策略**: 中度扫描读每个模块的入口文件和核心业务文件,提取主要流程链路。禁逐文件遍历。
47
+ **Role**: 首席产品战略官 (CPO)
48
+ **扫描策略**: 深度扫描从入口文件出发,沿调用链读取所有业务文件。大型模块(>10 文件)优先读被多处 import 的文件。
54
49
 
55
50
  **Action**:
56
51
  1. 对每个识别出的功能模块:
57
- - 读入口文件 + 1-2 个核心业务文件
52
+ - 从入口文件出发,沿 import/调用链逐层读取,直到覆盖该模块的主要业务逻辑
58
53
  - 提取主要流程(用户操作 → 系统处理 → 结果)
59
54
  - 记录关联文件路径
60
55
  2. 对共享/基建代码(utils, middleware, config):
61
- - 仅记录目录和职责,不作为功能模块
56
+ 读取所有文件,按以下分档记录:
57
+ - **中等档**(业务共享逻辑:auth/validation/error-handling/permission):记录职责 + 导出函数签名 + 被谁依赖
58
+ - **简要档**(纯工具函数:format/slugify/logger/helpers):记录函数名 + 参数签名 + 一句话用途
59
+ 两者均写入 map.json publicAPI 字段,确保后续协议可发现可复用。
62
60
  3. 从代码中提取领域术语和命名约定。
63
61
 
64
- **Output**: 向用户输出结构化分析报告:
65
- ```
66
- ### 代码分析报告
67
- > **项目**: [名称] | **类型**: [UI/Data/CLI/Lib/API] | **规模**: ~[文件数] 文件, [目录数] 目录
68
-
69
- **技术栈**:
70
- | 类别 | 选型 |
71
- |:---|:---|
72
- | 语言 | ... |
73
- | 框架 | ... |
74
- | 构建 | ... |
75
- | 测试 | ... |
76
- | 部署 | ... |
77
-
78
- **架构模式**: [推断] — [依据]
79
-
80
- **功能模块清单**:
81
- | # | 模块 | 源码位置 | 职责 | 关键流程 |
82
- |:---|:---|:---|:---|:---|
83
- | 1 | [名称] | [路径] | [一句话] | [流程1], [流程2] |
84
-
85
- **共享基建**:
86
- | 目录 | 职责 |
87
- |:---|:---|
88
- | [路径] | [描述] |
89
-
90
- **领域术语**: [术语列表]
91
-
92
- **AI 不确定项** (如有):
93
- - [歧义项]
94
- ```
62
+ **Output**: 向用户输出结构化分析报告 — 含项目概况(名称/类型/规模)、技术栈表(语言/框架/构建/测试/部署)、架构模式及依据、功能模块清单(模块/源码位置/职责/关键流程)、共享基建(目录/职责/关键导出接口)、领域术语、AI 不确定项(如有)。
95
63
 
96
64
  **Gate**: 用户确认或修正。未确认禁进入 step_2。
97
65
  </step_1_analysis>
98
66
 
99
67
  <step_2_supplementary>
100
- **Role**: 产品顾问
101
68
  **Trigger**: 仅当 step_1 有 AI 无法确定的项时执行。无歧义则跳过。
102
69
 
103
70
  **Action**: 以选择题形式询问歧义项。
@@ -130,32 +97,32 @@
130
97
  <step_3_constitution>
131
98
  **Role**: 首席架构师
132
99
  **Input**: Step 0 Brief 解析(如有)+ Step 1 分析报告 + Step 2 补充(如有)。
133
- **Action**: 一次性生成项目文档骨架。**有 Brief 时**:Brief 优先于代码(vision/roadmap/tech_stack);代码仍用于 map、LEG-xx、目录结构。**无 Brief 时**:仅以代码为输入源(保持原逻辑)。
100
+ **Action**: 一次性填充 init 部署的文档骨架。**有 Brief 时**:Brief 优先于代码(vision/roadmap/tech_stack);代码仍用于 map、LEG-xx、目录结构。**无 Brief 时**:仅以代码为输入源(保持原逻辑)。
134
101
 
135
102
  ### 信息路由规则
136
103
 
137
104
  > 规则文件(`02_tech_stack`、`90_custom_rules` 等)已由 IDE 注入当前上下文,AI 已知其路径,直接写入即可。
138
105
 
139
- **有 Brief 时**(Brief 内容 目标文件,与 start 一致):
106
+ **有 Brief 时**(Brief → 目标文件):
140
107
  | Brief 内容 | 目标文件 |
141
108
  |:---|:---|
142
109
  | 项目身份、目标用户、成功指标、参考灵感 | `[[__DOCS_DIR__]]/global/vision.md` |
143
110
  | 技术栈、部署目标、第三方库/服务 | 规则文件 `02_tech_stack` |
144
111
  | 核心任务列表 | `[[__DOCS_DIR__]]/global/roadmap.json`(phase-1/2,调用 archi-decompose-roadmap) |
145
- | 补充说明中的规则/约定 | 规则文件 `90_custom_rules` |
112
+ | 补充说明中的规则/约定/偏好 | 规则文件 `90_custom_rules` |
146
113
  | 风格调性(仅ui) | `design_tokens.json` aestheticDirection 等 |
147
114
 
148
115
  **代码中的信息**(始终适用):
149
- | 代码中的信息 | 目标文件 |
116
+ | 信息来源 | 目标文件 |
150
117
  |:---|:---|
151
- | README 项目描述、目标用户、特性列表 | `[[__DOCS_DIR__]]/global/vision.md` |
152
- | 依赖清单、配置文件、代码模式 | 规则文件 `02_tech_stack` |
153
- | 目录结构、模块依赖、用户旅程 | `[[__DOCS_DIR__]]/global/map.json` |
154
- | 领域术语、缩写、命名约定 | `[[__DOCS_DIR__]]/global/dictionary.json` |
155
- | eslint/prettier 等已有规范 | 规则文件 `90_custom_rules` |
156
- | 代码中的错误码定义 | `[[__DOCS_DIR__]]/global/error_codes.json` |
157
- | (仅ui项目) CSS 变量/主题配置 | `[[__DOCS_DIR__]]/global/design_tokens.json` |
158
- | (仅data项目) Schema/Migration 文件 | `[[__DOCS_DIR__]]/global/data_snapshot.json` |
118
+ | README 描述/特性 | vision.md |
119
+ | 依赖/配置/代码模式 | 02_tech_stack |
120
+ | 目录结构/模块依赖/用户旅程 | map.json |
121
+ | 领域术语/命名约定 | dictionary.json |
122
+ | eslint/prettier 等规范 | 90_custom_rules |
123
+ | 代码中的错误码 | error_codes.json |
124
+ | (仅ui项目)CSS 变量/主题 | design_tokens.json |
125
+ | (仅data项目)Schema/Migration | data_snapshot.json |
159
126
 
160
127
  ### 3.1 Vision (`[[__DOCS_DIR__]]/global/vision.md`)
161
128
  - **有 Brief**:从 Brief 填充(与 start 一致),代码/README 仅作补充
@@ -163,18 +130,18 @@
163
130
  - 禁保留模板占位符
164
131
 
165
132
  ### 3.2 Tech Stack (规则文件 `02_tech_stack`)
166
- - **有 Brief**:Brief 中已确定的直接写入;Brief 留空/推荐的 → AI 基于项目特征推荐;代码中的依赖/配置作补充
167
- - **无 Brief**:已有依赖/配置 → 直接写入;代码中可见的规范 → 写入 Coding Standards
133
+ - **有 Brief**:Brief 确定的直接写入;留空/推荐的 → AI 推荐;代码依赖作补充
134
+ - **无 Brief**:已有依赖/配置 → 直接写入;可见规范 → 写入 Coding Standards
168
135
  - 须填充完整 Section 1-8
169
136
 
170
137
  ### 3.3 Custom Rules (规则文件 `90_custom_rules`)
171
- - **有 Brief**:从 Brief 补充说明 + 代码中 eslint/prettier 等合并
172
- - **无 Brief**:从 eslint/prettier/editorconfig 等提取,从代码模式识别团队约定
138
+ - **有 Brief**:从补充说明 + 代码 eslint/prettier 合并
139
+ - **无 Brief**:从 eslint/prettier/editorconfig 提取,从代码模式识别团队约定
173
140
 
174
141
  ### 3.4 Roadmap (`[[__DOCS_DIR__]]/global/roadmap.json`)
175
142
 
176
- **有 Brief 时**:[[SKILL: archi-decompose-roadmap|基于 Brief 任务列表生成 phase-1/2 任务链]];代码中的功能模块 → phase-0 LEG-xx(status=done)。合并两者。
177
- **无 Brief 时**:仅代码中的功能模块 → phase-0 LEG-xx;phase-1/2 保留空骨架。
143
+ **有 Brief 时**:[[SKILL: archi-decompose-roadmap|基于 Brief 任务列表生成 phase-1/2 任务链]];代码功能模块 → phase-0 LEG-xx(status=done)。合并两者。
144
+ **无 Brief 时**:仅代码功能模块 → phase-0 LEG-xx;phase-1/2 保留空骨架。
178
145
 
179
146
  **结构**:
180
147
  ```json
@@ -207,7 +174,6 @@
207
174
  **规则**:
208
175
  - 功能模块 → `phase-0: Legacy`,status `done`,tag `Legacy`,ID 前缀 `LEG-`
209
176
  - 共享/基建代码不进 roadmap,仅进 map.json directoryMapping
210
- - phase-1/2 保留空骨架
211
177
  - LEG 间如有依赖关系须在 deps 中体现
212
178
 
213
179
  ### 3.5 Task Stub Specs
@@ -225,11 +191,9 @@
225
191
 
226
192
  ## 关键流程
227
193
  1. **[流程名]**: [A] → [B] → [C]
228
- 2. **[流程名]**: [A] → [B] → [C]
229
194
 
230
195
  ## 关联文件
231
196
  - [角色]: `[路径]`
232
- - [角色]: `[路径]`
233
197
  ```
234
198
 
235
199
  > Stub 是起点,非终态。后续通过 `/archi.edit` 触发补全(自动进入 `step_1_5_enrich` 流程)。
@@ -239,17 +203,23 @@
239
203
  - `logicalTopology`: 模块间依赖 → `{ "from", "to", "type" }` (imports / calls / extends)
240
204
  - `criticalUserJourneys`: 核心流程 → `{ "name", "steps": ["module → module → ..."] }`
241
205
  - `featureRelations`: 扫描代码,识别「聚合型模块」并记录。
242
- **识别特征**: 某模块遍历/枚举/动态加载同类模块(如 `for (const cmd of allCommands)`、`Object.values(registry)`、读取目录后动态 import),或其描述为「汇总/列举/注册所有 X」。
243
- 每条记录格式: `{ "aggregator": "<ID 或文件路径>", "sources": "<来源范围描述>", "evidence": "<代码依据>", "checkNote": "此类功能新增或删除时,检查 <aggregator> 是否需要同步" }`
206
+ **识别特征**: 某模块遍历/枚举/动态加载同类模块,或其描述为「汇总/列举/注册所有 X」。
207
+ 每条记录格式: `{ "aggregator", "sources", "evidence", "checkNote" }`
244
208
 
245
209
  ### 3.7 其他全局文档(按需)
246
210
  - `dictionary.json`: 从代码提取领域术语
247
211
  - (仅ui项目) `design_tokens.json`: 从 CSS 变量/主题提取
248
- - (仅ui项目) `ui_concept.html` + `ui_context.md`: **不由本命令生成**。继承完成后,[[SKILL: archi-ui-wireframe|调用 skill 或提示用户运行]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并提示用户按该文档执行)]] 生成全局 UI 线框图(Skill 同时生成两个文件)。
249
212
  - (仅data项目) `data_snapshot.json`: 从 schema/migration 提取
250
213
  - `error_codes.json`: 从代码中的错误定义提取
251
214
 
252
- **Output**: 写入所有文件,运行 `npx archi render`。
215
+ 仅ui项目: **UI 概念设计(Adopt 模式)**: [[SKILL: archi-ui-wireframe|调用 skill(adopt 模式),从代码逆向生成 UI 概念设计。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其 Adopt 协议执行)]]
216
+ - 读取代码中的路由定义、页面组件、布局文件
217
+ - 读取 step_3 写入的 design_tokens.json(含代码提取的 CSS 变量/theme)
218
+ - tokens 不完整时触发 skill 内置引导流程
219
+ - 写入 `ui_concept.html` + `ui_context.md`
220
+ - 输出 UI 概念设计摘要,等待用户确认或反馈调整
221
+
222
+ **Output**: 写入所有文件,运行 `npx archi render`。进入 step_4_verify。
253
223
  </step_3_constitution>
254
224
 
255
225
  <step_4_verify>
@@ -260,13 +230,19 @@
260
230
  </step_4_verify>
261
231
 
262
232
  <step_5_signoff>
263
- **Terminal Gate** (禁止跳过,须在输出总结前全部完成):
264
- | 步骤 | 命令 | 通过条件 |
265
- |:---|:---|:---|
266
- | 1 | `npx archi task --check` | ERROR 级问题 |
267
- | 2 | `npx archi render` | `.md` 视图生成完成 |
268
-
269
- **Action** (Gate 通过后):
233
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
234
+
235
+ **Pre-signoff Checklist** (Gate 通过后、输出前须逐项确认):
236
+ vision.md 已填充(无 Brief 时: 推导内容标注了 `(AI 补全 建议用户审查)`)
237
+ 02_tech_stack.md Section 1-8 完整填充
238
+ □ roadmap.json — 每个功能模块对应一条 LEG-xx(status: done, tag: Legacy)
239
+ tasks/LEG-xx_<Slug>/spec.md — 每条 LEG 均有对应 Stub spec(含关联文件列表)
240
+ □ map.json — directoryMapping + logicalTopology + criticalUserJourneys + featureRelations 均已填充
241
+ □ dictionary.json + error_codes.json — 从代码提取完毕
242
+ □ (仅ui项目)design_tokens.json + ui_concept.html + ui_context.md — Adopt 模式已执行
243
+ □ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
244
+
245
+ **Action** (Checklist 全部确认后):
270
246
  1. 运行 `npx archi task` 输出任务概览。
271
247
  2. 输出总结。
272
248
 
@@ -1,5 +1,5 @@
1
1
  <protocol_map>
2
- **Trigger**: `/archi.map`
2
+ **Trigger**: `/archi.map` | 自然语言触发时由 Workflow Dispatch 自动加载
3
3
  **Goal**: 扫描项目实际目录结构,与 `map.json` 比对,识别新增/过期/变动,经用户确认后更新架构地图。
4
4
 
5
5
  <meta>
@@ -10,23 +10,22 @@
10
10
  2. **Smart Granularity**: 默认目录级;单文件承载多职责时须细化到文件级。
11
11
  3. **Architecture Inference**: 新条目的层级归类须参考现有 map 模式 + `02_tech_stack.md`。
12
12
  4. **Batch Confirm**: 所有变更一次性展示,用户批量确认。
13
+ 5. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
13
14
  </principles>
14
15
  </meta>
15
16
 
16
17
  <step_1_scan>
17
- **Role**: 测量员
18
18
  **Action**:
19
19
  1. **Read Map**: 读取 `[[__DOCS_DIR__]]/global/map.json` — 当前架构地图。
20
20
  2. **Read Tech Stack**: 读取 `02_tech_stack.md` — 目录结构约定、架构模式。
21
21
  3. **Scan Directory Tree**: 扫描项目目录结构。
22
22
  - **排除**: `.git/`, `node_modules/`, `dist/`, `build/`, `[[__DOCS_DIR__]]/`, 及 `.gitignore` 中声明的路径。
23
- - **深度**: 跟随 map.json 现有条目的粒度模式。如现有条目含文件级 → 扫描时也到文件级。
23
+ - **深度**: 跟随 map.json 现有条目的粒度模式。
24
24
 
25
25
  **Output**: 内部数据(实际目录树 + 现有 map 结构),不输出给用户。
26
26
  </step_1_scan>
27
27
 
28
28
  <step_2_diff>
29
- **Role**: 比对分析师
30
29
  **Action**: 将实际目录树与 map.json 逐条比对,归类为三种差异。
31
30
 
32
31
  | 差异类型 | 判定条件 | 处理 |
@@ -37,12 +36,7 @@
37
36
 
38
37
  ### 文件级检测
39
38
 
40
- 对新增目录中的文件做快速扫描(读取导出/声明),识别**单文件多职责**的情况:
41
- - 一个文件导出多个不相关的 class/function/module
42
- - 一个入口文件聚合注册了多个子模块(如路由注册、Store 注册)
43
- - 一个文件同时服务多个 Task
44
-
45
- 发现此类文件 → 粒度细化到文件级,在 map 中单独登记并描述其包含的职责。
39
+ 对新增目录中的文件做快速扫描,识别**单文件多职责**的情况 → 粒度细化到文件级。
46
40
 
47
41
  **Output**: 差异列表(内部),进入 step_3。
48
42
  </step_2_diff>
@@ -53,22 +47,17 @@
53
47
 
54
48
  ### 归类策略
55
49
 
56
- 1. **模式匹配**: 参考 map.json 中同层级已有条目的归类。如 `src/services/auth/` 属于 "Service Layer",则 `src/services/payment/` 大概率也属于 "Service Layer"。
57
- 2. **Tech Stack 约定**: `02_tech_stack.md` 中定义的目录结构规则(如 "commands/ 下为 Task Layer")。
58
- 3. **内容推断**: 读取文件内容(import 关系、导出类型),判断其架构角色。
59
- 4. **无法确定**: 标记为 `[?]`,交由用户在确认阶段指定。
50
+ 1. **模式匹配**: 参考 map.json 同层级已有条目的归类。
51
+ 2. **Tech Stack 约定**: `02_tech_stack.md` 中的目录结构规则。
52
+ 3. **内容推断**: 读取文件内容(import 关系、导出类型)。
53
+ 4. **无法确定**: 标记为 `[?]`,交由用户指定。
60
54
 
61
- 对每个新增条目填充:
62
- - `path`: 目录或文件路径
63
- - `layer`: 架构层级
64
- - `description`: 一句话描述职责
65
- - `[?文件级]` `contains`: 该文件包含的子职责列表
55
+ 对每个新增条目填充:`path`、`layer`、`description`、`[?文件级] contains`。
66
56
 
67
57
  **Output**: 已归类的新增条目列表(内部),进入 step_4。
68
58
  </step_3_classify>
69
59
 
70
60
  <step_4_propose>
71
- **Role**: 咨询顾问
72
61
  **Action**: 向用户展示完整变更清单。
73
62
 
74
63
  **Output**:
@@ -83,50 +72,38 @@
83
72
  #### 过期条目 (将移除)
84
73
  | 路径 | 原层级 |
85
74
  |:---|:---|
86
- | src/legacy/old-module/ | Service Layer |
87
75
 
88
76
  #### 新增条目 (将登记)
89
77
  | 路径 | 层级 | 描述 | 粒度 |
90
78
  |:---|:---|:---|:---|
91
- | src/services/payment/ | Service Layer | 支付服务模块 | 目录 |
92
- | src/utils/validators.ts | Shared Layer | 表单校验 + 数据校验 + API 参数校验 | 文件 |
93
- | src/routes/api.ts [?] | [待指定] | 聚合注册多条 API 路由 | 文件 |
94
79
 
95
80
  #### 疑似重命名
96
81
  | 原路径 | 新路径 | 置信度 |
97
82
  |:---|:---|:---|
98
- | src/helpers/ | src/utils/ | 高 (文件内容匹配) |
99
83
 
100
84
  ---
101
- > 回复 **OK** 确认全部;或指定修改:
102
- > - "src/routes/api.ts 属于 App Layer"
103
- > - "src/helpers/ 不是重命名,保留原条目"
104
- > - "新增 src/config/ 为 Config Layer"
85
+ > 回复 **OK** 确认全部;或指定修改。
105
86
  ```
106
87
 
107
88
  **Gate**: 用户确认后进入 step_5。
108
89
  </step_4_propose>
109
90
 
110
91
  <step_5_apply>
111
- **Role**: 系统管理员
112
92
  **Action**:
113
- 1. 按用户确认的变更清单更新 `[[__DOCS_DIR__]]/global/map.json`:
114
- - 移除过期条目
115
- - 添加新增条目(含层级、描述)
116
- - 处理重命名(更新路径,保留其他元数据)
117
- 2. 更新 `lastUpdated` 字段。
118
-
119
- **Terminal Gate** (禁止跳过,须在输出总结前全部完成):
120
- | 步骤 | 命令 | 通过条件 |
121
- |:---|:---|:---|
122
- | 1 | `npx archi task --check` | 无 ERROR 级问题 |
123
- | 2 | `npx archi render` | `.md` 视图生成完成 |
124
-
125
- **Output**: 更新摘要:
126
- - **移除**: N 条过期条目
127
- - **新增**: N 条(含 M 条文件级)
128
- - **重命名**: N 条
129
- - **当前 map 总条目数**: X
93
+ 1. 按确认清单更新 map.json(移除过期、添加新增、处理重命名)。
94
+ 2. 更新 `lastUpdated`。
95
+
96
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
97
+
98
+ **Pre-signoff Checklist** (Output 前须逐项确认):
99
+ 用户已在 step_4 明确确认变更清单(Gate 通过后才执行)
100
+ 过期条目已从 directoryMapping 移除
101
+ □ 新增条目已正确归类(path + layer + description 均已填写)
102
+ 疑似重命名已明确处理(非静默忽略)
103
+ lastUpdated 已更新
104
+ □ Terminal Gate — task --check + render 通过
105
+
106
+ **Output**: 更新摘要 — 移除 N 条 / 新增 N 条(含 M 条文件级)/ 重命名 N 条 / 当前总条目数。
130
107
  </step_5_apply>
131
108
 
132
109
  </protocol_map>