architext 0.0.3 → 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 (118) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/README.md +94 -12
  3. package/README.zh-CN.md +94 -12
  4. package/dist/index.js +43 -39
  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/global/api_snapshot.json +24 -0
  8. package/dist/templates/en/docs/global/command_api.json +26 -0
  9. package/dist/templates/en/docs/global/env_registry.json +12 -0
  10. package/dist/templates/en/docs/global/map.json +5 -0
  11. package/dist/templates/en/docs/global/public_api.json +12 -0
  12. package/dist/templates/en/docs/prompts/audit.md +80 -94
  13. package/dist/templates/en/docs/prompts/code.md +100 -109
  14. package/dist/templates/en/docs/prompts/edit.md +52 -47
  15. package/dist/templates/en/docs/prompts/fix.md +49 -42
  16. package/dist/templates/en/docs/prompts/help.md +23 -31
  17. package/dist/templates/en/docs/prompts/inherit.md +110 -116
  18. package/dist/templates/en/docs/prompts/map.md +47 -69
  19. package/dist/templates/en/docs/prompts/plan.md +160 -171
  20. package/dist/templates/en/docs/prompts/recover.md +48 -0
  21. package/dist/templates/en/docs/prompts/ref.md +163 -0
  22. package/dist/templates/en/docs/prompts/remove.md +55 -107
  23. package/dist/templates/en/docs/prompts/revise.md +63 -106
  24. package/dist/templates/en/docs/prompts/scope.md +77 -117
  25. package/dist/templates/en/docs/prompts/start.md +93 -139
  26. package/dist/templates/en/docs/shared/verify-result-handling.md +6 -0
  27. package/dist/templates/en/docs/templates/design.template.md +77 -0
  28. package/dist/templates/en/docs/templates/spec.template.md +60 -25
  29. package/dist/templates/en/rules/00_system.md +36 -79
  30. package/dist/templates/en/rules/01_workflow.md +59 -57
  31. package/dist/templates/en/rules/03_data_governance.md +46 -42
  32. package/dist/templates/en/skills/archi-data-sync/SKILL.md +83 -0
  33. package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +166 -151
  34. package/dist/templates/en/skills/archi-design-patterns/SKILL.md +140 -0
  35. package/dist/templates/en/skills/archi-feature-relations/SKILL.md +118 -0
  36. package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -1
  37. package/dist/templates/en/skills/archi-plan-options/SKILL.md +4 -3
  38. package/dist/templates/en/skills/archi-silent-audit/SKILL.md +118 -0
  39. package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +315 -270
  40. package/dist/templates/zh/briefs/_base.md +46 -14
  41. package/dist/templates/zh/briefs/_modules.md +29 -2
  42. package/dist/templates/zh/docs/global/api_snapshot.json +24 -0
  43. package/dist/templates/zh/docs/global/command_api.json +26 -0
  44. package/dist/templates/zh/docs/global/data_snapshot.json +0 -1
  45. package/dist/templates/zh/docs/global/design_tokens.json +0 -1
  46. package/dist/templates/zh/docs/global/dictionary.json +1 -1
  47. package/dist/templates/zh/docs/global/env_registry.json +12 -0
  48. package/dist/templates/zh/docs/global/error_codes.json +0 -8
  49. package/dist/templates/zh/docs/global/map.json +28 -3
  50. package/dist/templates/zh/docs/global/public_api.json +12 -0
  51. package/dist/templates/zh/docs/global/vision.md +1 -1
  52. package/dist/templates/zh/docs/prompts/audit.md +43 -57
  53. package/dist/templates/zh/docs/prompts/code.md +68 -77
  54. package/dist/templates/zh/docs/prompts/edit.md +44 -39
  55. package/dist/templates/zh/docs/prompts/fix.md +33 -26
  56. package/dist/templates/zh/docs/prompts/help.md +13 -21
  57. package/dist/templates/zh/docs/prompts/inherit.md +81 -87
  58. package/dist/templates/zh/docs/prompts/map.md +23 -45
  59. package/dist/templates/zh/docs/prompts/plan.md +134 -146
  60. package/dist/templates/zh/docs/prompts/recover.md +48 -0
  61. package/dist/templates/zh/docs/prompts/ref.md +163 -0
  62. package/dist/templates/zh/docs/prompts/remove.md +31 -83
  63. package/dist/templates/zh/docs/prompts/revise.md +43 -84
  64. package/dist/templates/zh/docs/prompts/scope.md +53 -93
  65. package/dist/templates/zh/docs/prompts/start.md +75 -121
  66. package/dist/templates/zh/docs/shared/verify-result-handling.md +6 -0
  67. package/dist/templates/zh/docs/templates/design.template.md +77 -0
  68. package/dist/templates/zh/docs/templates/spec.template.md +60 -25
  69. package/dist/templates/zh/rules/00_system.md +37 -80
  70. package/dist/templates/zh/rules/01_workflow.md +60 -58
  71. package/dist/templates/zh/rules/02_tech_stack.md +7 -6
  72. package/dist/templates/zh/rules/03_data_governance.md +43 -39
  73. package/dist/templates/zh/rules/99_context_glue.md +2 -2
  74. package/dist/templates/zh/skills/archi-data-sync/SKILL.md +83 -0
  75. package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +70 -56
  76. package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +140 -0
  77. package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +118 -0
  78. package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -1
  79. package/dist/templates/zh/skills/archi-plan-options/SKILL.md +26 -25
  80. package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +118 -0
  81. package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +317 -269
  82. package/package.json +1 -1
  83. package/dist/templates/zh-Hant/briefs/_base.md +0 -115
  84. package/dist/templates/zh-Hant/briefs/_modules.md +0 -173
  85. package/dist/templates/zh-Hant/docs/global/data_snapshot.json +0 -31
  86. package/dist/templates/zh-Hant/docs/global/design_tokens.json +0 -135
  87. package/dist/templates/zh-Hant/docs/global/dictionary.json +0 -35
  88. package/dist/templates/zh-Hant/docs/global/error_codes.json +0 -19
  89. package/dist/templates/zh-Hant/docs/global/map.json +0 -94
  90. package/dist/templates/zh-Hant/docs/global/roadmap.json +0 -39
  91. package/dist/templates/zh-Hant/docs/global/vision.md +0 -82
  92. package/dist/templates/zh-Hant/docs/prompts/audit.md +0 -150
  93. package/dist/templates/zh-Hant/docs/prompts/code.md +0 -160
  94. package/dist/templates/zh-Hant/docs/prompts/edit.md +0 -87
  95. package/dist/templates/zh-Hant/docs/prompts/fix.md +0 -86
  96. package/dist/templates/zh-Hant/docs/prompts/help.md +0 -69
  97. package/dist/templates/zh-Hant/docs/prompts/inherit.md +0 -270
  98. package/dist/templates/zh-Hant/docs/prompts/map.md +0 -131
  99. package/dist/templates/zh-Hant/docs/prompts/plan.md +0 -252
  100. package/dist/templates/zh-Hant/docs/prompts/remove.md +0 -162
  101. package/dist/templates/zh-Hant/docs/prompts/revise.md +0 -160
  102. package/dist/templates/zh-Hant/docs/prompts/scope.md +0 -198
  103. package/dist/templates/zh-Hant/docs/prompts/start.md +0 -258
  104. package/dist/templates/zh-Hant/docs/templates/plan.template.json +0 -88
  105. package/dist/templates/zh-Hant/docs/templates/scope-brief.template.md +0 -58
  106. package/dist/templates/zh-Hant/docs/templates/spec.template.md +0 -51
  107. package/dist/templates/zh-Hant/docs/templates/ui.template.md +0 -51
  108. package/dist/templates/zh-Hant/rules/00_system.md +0 -123
  109. package/dist/templates/zh-Hant/rules/01_workflow.md +0 -93
  110. package/dist/templates/zh-Hant/rules/02_tech_stack.md +0 -192
  111. package/dist/templates/zh-Hant/rules/03_data_governance.md +0 -102
  112. package/dist/templates/zh-Hant/rules/04_cli_tools.md +0 -50
  113. package/dist/templates/zh-Hant/rules/90_custom_rules.md +0 -21
  114. package/dist/templates/zh-Hant/rules/99_context_glue.md +0 -53
  115. package/dist/templates/zh-Hant/skills/archi-decompose-roadmap/SKILL.md +0 -293
  116. package/dist/templates/zh-Hant/skills/archi-interview-protocol/SKILL.md +0 -86
  117. package/dist/templates/zh-Hant/skills/archi-plan-options/SKILL.md +0 -364
  118. package/dist/templates/zh-Hant/skills/archi-ui-wireframe/SKILL.md +0 -337
@@ -14,104 +14,52 @@
14
14
  </meta>
15
15
 
16
16
  <step_1_resolve>
17
- **Role**: 系统分析师
18
17
  **Action**:
19
- 1. **Resolve ID**: 从 `[[__DOCS_DIR__]]/global/roadmap.json` 解析 `<id>` → Task Name、Slug、状态。
18
+ 1. **Resolve ID**: 从 roadmap.json 解析 `<id>` → Task Name、Slug、状态。
20
19
  2. **ID Not Found** → 报错并列出可用任务 ID。
21
- 3. **Load Context**:
22
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/` — 全部文档(spec.md, ui.md, plan.json 等)
23
- - `[[__DOCS_DIR__]]/global/roadmap.json` — 任务依赖关系
24
- - `[[__DOCS_DIR__]]/global/map.json` — 架构注册
25
- - `99_context_glue.md` — 代码↔文档关联
20
+ 3. **Load**: task docs 目录、roadmap.json(依赖关系)、map.json(架构注册)、99_context_glue.md(关联)。
26
21
 
27
22
  **Output**: 目标 Task 基本信息(ID、名称、状态、关联文件数)。
28
23
  </step_1_resolve>
29
24
 
30
25
  <step_2_impact>
31
- **Role**: 影响评估官
32
26
  **Action**: 逐层扫描,生成影响清单。
33
27
 
34
28
  ### 2.1 依赖检查(阻塞级)
35
29
 
36
- 扫描 `roadmap.json` 中所有任务的 `deps` 字段,找出依赖 `<id>` 的任务。
30
+ 扫描 roadmap.json 所有任务 `deps`,找出依赖 `<id>` 的任务。
37
31
 
38
32
  | 情况 | 处理 |
39
33
  |:---|:---|
40
- | 无下游依赖 | 通过,继续 |
41
- | 有下游依赖且状态为 `pending`/`blocked` | 列出受影响任务,询问用户:移除依赖关系后继续,还是中止 |
42
- | 有下游依赖且状态为 `active`/`done` | **阻塞** — 这些任务可能已使用该 Task 的接口/组件。须先用 `/archi.edit` 解耦后再移除 |
34
+ | 无下游依赖 | 通过 |
35
+ | 有下游依赖且 `pending`/`blocked` | 列出,询问:移除依赖后继续 or 中止 |
36
+ | 有下游依赖且 `active`/`done` | **阻塞** — 须先 `/archi.edit` 解耦 |
43
37
 
44
38
  ### 2.2 代码文件识别
45
39
 
46
- 通过以下方式定位该 Task 的代码文件:
47
- 1. `99_context_glue.md` 中与 `<id>` 关联的代码路径。
48
- 2. `map.json` 中该 Task 注册的模块/目录。
49
- 3. `plan.json` 中任务提及的文件路径。
50
- 4. 扫描代码目录,查找以 Slug 命名或在目录结构中明确归属的文件。
40
+ 通过以下方式定位代码文件:context_glue 关联路径、map.json 注册模块、plan.json 提及的文件、以 Slug 命名或明确归属的文件。
51
41
 
52
42
  ### 2.3 全局引用扫描
53
43
 
54
44
  | 文件 | 扫描内容 |
55
45
  |:---|:---|
56
- | `roadmap.json` | 任务条目 + 其他任务 `deps` 中的引用 |
57
- | `map.json` | 模块注册条目 + `featureRelations` 中以被删 Task 为 aggregator 的条目 |
46
+ | `roadmap.json` | 任务条目 + deps 引用 |
47
+ | `map.json` | 模块条目 + featureRelations 中以被删 Task 为 aggregator 的条目 |
58
48
  | `99_context_glue.md` | 关联条目 |
59
- | `dictionary.json` | Task 独占的术语(仅标记,不自动删) |
60
- | `error_codes.json` | Task 独占的错误码(仅标记,不自动删) |
49
+ | `dictionary.json` | 独占术语(仅标记) |
50
+ | `error_codes.json` | 独占错误码(仅标记) |
61
51
 
62
52
  ### 2.4 聚合联动检查
63
53
 
64
- 读取 `map.json.featureRelations`,判断被删 Task 是否属于某聚合方的 `sources` 覆盖范围。
65
-
66
- | 情况 | 处理 |
67
- |:---|:---|
68
- | 不在任何聚合方的 sources 范围内 | 无需特殊处理 |
69
- | 在聚合方 sources 范围内 | 在影响报告中列出,提示删除后须检查聚合方内容是否需要同步移除 |
70
- | 被删 Task 本身是 aggregator | 同时移除 `featureRelations` 中该条记录 |
54
+ [[SUBAGENT: archi-feature-relations|mode: cleanup, context: 检查被删 Task featureRelations 中的引用,输出影响报告]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-feature-relations/SKILL.md`,按 mode: cleanup 的逻辑执行)]]
71
55
 
72
56
  ### 2.5 跨 Task 引用
73
57
 
74
- 扫描其他 Task 的 `spec.md`,检查是否引用了被删 Task 的接口、组件或数据。发现引用则标注为 `[Breaking]`。
75
-
76
- **Output**: 向用户输出影响报告:
77
- ```
78
- ### 下线影响报告: <ID> <Name>
79
-
80
- **Task 状态**: [status]
81
-
82
- **将删除的文档**:
83
- - [[__DOCS_DIR__]]/tasks/<id>_<slug>/ (N 个文件)
84
-
85
- **将删除的代码**:
86
- | 文件/目录 | 来源 |
87
- |:---|:---|
88
- | src/xxx/xxx.ts | context_glue |
89
- | src/xxx/ | map.json |
90
-
91
- **全局引用清理**:
92
- - roadmap.json: 移除任务 <id>,清理 N 处 deps 引用
93
- - map.json: 移除 N 个模块条目
94
- - context_glue: 移除 N 条关联
58
+ 扫描其他 Task 的 `spec.md`,检查是否引用了被删 Task 的接口/组件/数据。发现引用则标注 `[Breaking]`。
95
59
 
96
- **[?有]术语/错误码残留** (须人工确认):
97
- - dictionary.json: [term1], [term2]
98
- - error_codes.json: [ERR_XXX]
60
+ **Output**: 向用户输出下线影响报告 — 含 Task 状态、将删除的文档和代码(文件/来源表)、全局引用清理项(roadmap/map/context_glue)、(有)术语/错误码残留(须人工确认)、(有)聚合联动表、(有)跨 Task 引用 [Breaking] 表。末尾:OK 确认执行 / 中止取消。
99
61
 
100
- **[?有]聚合联动** (须检查):
101
- | 聚合方 | checkNote |
102
- |:---|:---|
103
- | [aggregator ID/路径] | [checkNote 内容] |
104
-
105
- **[?有]跨 Task 引用 [Breaking]**:
106
- | 引用方 | 引用内容 | 建议 |
107
- |:---|:---|:---|
108
- | FEAT-005 spec.md | 调用了 <id> 的 UserAPI | 先 /archi.edit FEAT-005 解耦 |
109
-
110
- ---
111
- > 回复 **OK** 确认执行;回复 **中止** 取消操作。
112
- ```
113
-
114
- **Gate**: 用户回复 OK 后进入 step_3。有 `[Breaking]` 跨 Task 引用时须再次警告。
62
+ **Gate**: 用户回复 OK 后进入 step_3。有 `[Breaking]` 引用时须再次警告。
115
63
  </step_2_impact>
116
64
 
117
65
  <step_3_execute>
@@ -122,35 +70,35 @@
122
70
  |:---|:---|:---|
123
71
  | 1 | 删除代码文件/目录 | step_2 识别的代码路径 |
124
72
  | 2 | 删除 Task 文档目录 | `[[__DOCS_DIR__]]/tasks/<id>_<slug>/` |
125
- | 3 | 更新 `roadmap.json` | 移除任务条目;清理其他任务 `deps` 中对 `<id>` 的引用 |
126
- | 4 | 更新 `map.json` | 移除该 Task 注册的模块条目;若该 Task 本身是 aggregator,同时移除其 `featureRelations` 条目 |
127
- | 5 | 更新 `99_context_glue.md` | 移除该 Task 的关联条目 |
73
+ | 3 | 更新 `roadmap.json` | 移除任务条目;清理 deps 引用 |
74
+ | 4 | 更新 `map.json` | 移除模块条目 + featureRelations 条目 |
75
+ | 5 | 更新 `99_context_glue.md` | 移除关联条目 |
128
76
  | 6 | [?有独占术语] 更新 `dictionary.json` | 移除或标注废弃 |
129
77
  | 7 | [?有独占错误码] 更新 `error_codes.json` | 移除或标注废弃 |
130
- | 8 | [?有聚合联动] 检查聚合方代码 | 确认聚合方中对被删 Task 的引用已清理 |
78
+ | 8 | [?有聚合联动] 检查聚合方代码 | 确认引用已清理 |
131
79
 
132
- 每步完成后记录操作日志(文件路径 + 操作类型)。
80
+ 每步完成后记录操作日志。
133
81
  </step_3_execute>
134
82
 
135
83
  <step_4_verify>
136
- **Role**: 验证工程师
137
- **Terminal Gate** (禁止跳过,须在 step_5 输出前全部完成):
84
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
138
85
  | 步骤 | 命令 | 通过条件 |
139
86
  |:---|:---|:---|
140
- | 1 | `npx archi task --check` | ERROR 级问题,无悬空依赖 |
141
- | 2 | `npx archi render` | `.md` 视图生成完成 |
142
- | 3 | 运行项目构建命令 | 零编译错误 |
143
-
144
- | 检查项 | 通过标准 |
145
- |:---|:---|
146
- | Roadmap 一致性 | `--check` 通过,无悬空依赖 |
147
- | 构建 | 零编译错误 |
148
- | 残留引用 | 代码中无对已删模块的 import/require |
87
+ | 3 | 运行项目构建命令 | 零编译错误;无对已删模块的 import/require |
149
88
 
150
89
  构建失败或发现残留引用 → 定位并修复后重检。
151
90
  </step_4_verify>
152
91
 
153
92
  <step_5_summary>
93
+ **Pre-signoff Checklist** (输出前须逐项确认):
94
+ □ 代码文件/目录 — 已删除(step_3 操作 #1)
95
+ □ tasks/<id>_<slug>/ 文档目录 — 已删除(step_3 操作 #2)
96
+ □ roadmap.json — 任务条目 + deps 引用 — 已清理(step_3 操作 #3)
97
+ □ map.json — 模块条目 + featureRelations — 已清理(step_3 操作 #4)
98
+ □ 99_context_glue.md — 关联条目 — 已清理(step_3 操作 #5)
99
+ □ (有独占术语/错误码)dictionary.json + error_codes.json — 已处理
100
+ □ Terminal Gate — 项目构建通过,无残留 import 引用(step_4)
101
+
154
102
  **Output**: 下线完成摘要:
155
103
  - **已删除**: 文档 N 个文件、代码 N 个文件
156
104
  - **已清理**: roadmap / map / context_glue 中的引用
@@ -18,19 +18,10 @@
18
18
  </meta>
19
19
 
20
20
  <step_1_load>
21
- **Role**: 系统分析师
22
21
  **Action**:
23
- 1. **Read Global Assets**:
24
- - `[[__DOCS_DIR__]]/global/vision.md`
25
- - `[[__DOCS_DIR__]]/global/roadmap.json`
26
- - `[[__DOCS_DIR__]]/global/map.json`
27
- - `[[__DOCS_DIR__]]/global/dictionary.json`
28
- - `[[__DOCS_DIR__]]/global/error_codes.json`
29
- - `02_tech_stack.md`
30
- - [?UI] `[[__DOCS_DIR__]]/global/design_tokens.json`
31
- - [?Data] `[[__DOCS_DIR__]]/global/data_snapshot.json`
32
- 2. **Scan Task Index**: 扫描 `[[__DOCS_DIR__]]/tasks/` 目录,建立 Task 索引(ID、名称、状态)。
33
- 3. **Intent Analysis**: 根据用户 `[context]`,初步定位受影响的全局资产类别。
22
+ 1. **Load**: 全部全局资产(vision/roadmap/map/dictionary/error_codes/02_tech_stack + 条件: design_tokens/data_snapshot)。
23
+ 2. **Scan Task Index**: 扫描 tasks/ 目录,建立 Task 索引(ID、名称、状态)。
24
+ 3. **Intent Analysis**: 根据 `[context]`,初步定位受影响的全局资产类别。
34
25
 
35
26
  **Output**: 变更意图摘要 — 列出初步判断涉及的全局文件,进入 step_2。
36
27
  </step_1_load>
@@ -51,110 +42,78 @@
51
42
  </step_2_interview>
52
43
 
53
44
  <step_3_impact>
54
- **Role**: 影响分析师
55
45
  **Constraint**: **纯输出,禁修改任何文件**。此步骤为「变更影响评估书」。
56
46
 
57
- **Output Format**:
58
- ```
59
- ## 变更影响评估: [变更主题]
60
-
61
- ### 1. 全局资产变更清单
62
- | 文件 | 变更内容 | 类型 |
63
- |:---|:---|:---|
64
- | vision.md | [具体改什么,或"无需变更"] | 修改/无变更 |
65
- | 02_tech_stack.md | [...] | ... |
66
- | roadmap.json | [...] | ... |
67
- | map.json | [...] | ... |
68
- | dictionary.json | [...] | ... |
69
- | data_snapshot.json | [...] | ... |
70
- | design_tokens.json | [...] | ... |
71
- | error_codes.json | [...] | ... |
72
-
73
- ### 2. 受影响 Task 清单
74
- | Task ID | 名称 | 影响点 | 程度 |
75
- |:---|:---|:---|:---|
76
- | INF-001 | [名称] | [spec/ui/plan 的哪些部分受影响] | 高/中/低 |
77
-
78
- ### 3. 需用户决策的项目(如有)
79
- - [?] [不确定项描述 + 选项]
80
- - [?] ...
81
-
82
- ---
83
- > 回复 **OK** 确认全部;或标注需调整的部分。
84
- ```
47
+ **Output**: 变更影响评估 — 含全局资产变更清单表(文件/变更内容/类型)、受影响 Task 清单表(ID/名称/影响点/程度)、需用户决策项(如有)。末尾附确认指引:OK 确认全部;或标注需调整部分。
85
48
 
86
49
  **Gate**: 等待用户确认。未确认禁进入 step_4。
87
50
  </step_3_impact>
88
51
 
89
52
  <step_3_5_refinement>
90
- **Role**: 咨询顾问
91
53
  **Trigger**: 用户回复非 OK,含修正、否决或追加意见。
92
54
  **Action**: 不执行修改。融入用户反馈,刷新影响评估书重新输出,等待再次确认。
55
+
56
+ 用户回复 OK → 进入 step_4_execute。
93
57
  </step_3_5_refinement>
94
58
 
95
59
  <step_4_execute>
96
- **Role**: 执行工程师
97
60
  **Action**:
98
61
 
99
62
  **Safety Checkpoint** (执行前须完成):
100
63
  1. 检查 Git 工作区状态(建议执行 `git status`)。
101
- 2. 如有未提交变更 → 提示用户先 commit 或 stash,再继续执行。
102
- 3. 工作区干净后,告知用户:如需回滚,可执行 `git checkout -- .` 恢复到变更前状态。
64
+ 2. 如有未提交变更 → 提示用户先 commit 或 stash
65
+ 3. 工作区干净后,告知用户:如需回滚,可执行 `git checkout -- .`。
103
66
 
104
67
  **Phase 1 — 修改全局资产**:
105
68
  按用户确认的清单修改全局文件。每个文件修改后输出变更摘要。
106
69
 
107
- **[?UI] Phase 1.5 — 设计系统变更检查**:
108
- 若 `design_tokens.json` 有以下变更,须在 Phase 2 完成后执行对应操作:
70
+ **(仅ui项目) Phase 1.5 — 设计系统变更检查**:
71
+ 若 `design_tokens.json` 有以下变更,须通知用户需重跑 `archi-ui-wireframe` 重新生成:
109
72
 
110
- | 变更范围 | 影响 | 处理方式 |
111
- |:---|:---|:---|
112
- | `primitivePalette.brand` / `semanticTokens.colors` | 品牌色/语义色变化 | 通知用户:需重跑 `archi-ui-wireframe` Phase 2(全量重着色) |
113
- | `semanticTokens.typography` | 字体变化 | 通知用户:需重跑 Phase 2 |
114
- | `motion.preference` / `motion.patterns` | 动效变化 | 通知用户:需重跑 Phase 2 |
115
- | `illustration.iconLibrary` | 图标库变化 | 通知用户:需重跑 Phase 2 |
116
- | `layout` (radius/spacing/shadow) | 组件尺寸/圆角变化 | 通知用户:需重跑 Phase 2 |
73
+ | 变更范围 | 影响 |
74
+ |:---|:---|
75
+ | `primitivePalette.brand` / `semanticTokens.colors` | 品牌色/语义色变化 |
76
+ | `semanticTokens.typography` | 字体变化 |
77
+ | `motion.preference` / `motion.patterns` | 动效变化 |
78
+ | `illustration.iconLibrary` | 图标库变化 |
79
+ | `layout` (radius/spacing/shadow) | 组件尺寸/圆角变化 |
117
80
 
118
- > 如上述字段未变动(如仅改 `mode.default`),无需重跑 Phase 2。
81
+ > 如上述字段未变动(如仅改 `mode.default`),无需重跑。
119
82
 
120
83
  **Phase 2 — 级联更新 Task 文档**:
121
84
  对每个受影响的 Task,按 `/archi.edit` 标准执行:
122
- 1. 更新 `spec.md`(逻辑/规则因全局变更而需调整的部分)。
123
- 2. [?UI] 更新 `ui.md`(范围/交互因全局变更而需调整的部分);如屏幕结构受影响,运行 `archi-ui-wireframe` Skill(局部更新模式)同步更新 `ui_concept.html` + `ui_context.md`。
124
- 3. 在 `plan.json` `phases` 中追加新 Phase: `Phase X: Global Revision — [变更主题] (<Date>)`,列出落地任务。
85
+ 1. 更新 `spec.md`。
86
+ 2. (仅ui项目) 更新 `ui.md`;如屏幕结构受影响,[[SKILL: archi-ui-wireframe|运行 skill(局部更新模式)同步更新]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]]。
87
+ 3. 在 `plan.json` 追加新 Phase: `Phase X: Global Revision — [变更主题] (<Date>)`。
125
88
 
126
- **Output**: 每个文件的变更摘要(全局 + Task)。
89
+ **Output**: 每个文件的变更摘要(全局 + Task)。进入 step_5_verify。
127
90
  </step_4_execute>
128
91
 
129
- <step_5_summary>
130
- **Role**: 审计官
131
- **Checklist**:
132
- 1. 全局资产间一致性(vision ↔ tech_stack ↔ roadmap ↔ map)。
133
- 2. Task 文档与更新后的全局资产对齐。
134
- 3. 无孤立引用(dictionary/map 中旧术语/路径是否已清理)。
92
+ <step_5_verify>
93
+ **Role**: 独立审查官
135
94
 
136
- **Terminal Gate** (禁止跳过,须在输出总结前全部完成):
137
- | 步骤 | 命令 | 通过条件 |
138
- |:---|:---|:---|
139
- | 1 | `npx archi task --check` | 无 ERROR 级问题 |
140
- | 2 | `npx archi render` | `.md` 视图生成完成 |
95
+ [[SUBAGENT: archi-silent-audit|mode: plan-docs, context: 审查 step_4 Phase 2 级联更新的 Task 文档,确保与修改后的全局资产一致]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: plan-docs 的审查维度表逐项检查)]]
141
96
 
142
- **Action** (Gate 通过后):
143
- 1. 输出变更总结。
97
+ [[INCLUDE: shared/verify-result-handling.md]]
98
+ </step_5_verify>
144
99
 
145
- **Output**:
146
- ```
147
- ## Global Revision Summary: [变更主题]
100
+ <step_6_summary>
101
+ **Role**: 首席审计官
148
102
 
149
- **全局资产变更**: [已修改文件列表]
150
- **Task 更新**: [已更新 Task 列表 + 各自影响摘要]
151
- **审计结果**: [通过/有风险项]
103
+ **Pre-signoff Checklist** (Gate 通过后、输出前须逐项确认):
104
+ step_4 Safety Checkpoint Git 工作区已确认(无未提交变更或已告知用户)
105
+ Phase 1 — 所有确认的全局资产已修改,每个文件有变更摘要输出
106
+ □ (仅ui项目,设计系统有变更)已通知用户重跑 archi-ui-wireframe
107
+ □ Phase 2 — 每个受影响 Task 的 spec.md 已更新 + plan.json 已追加 Revision Phase
108
+ □ Step 5 Silent Audit — 已执行,所有 CRITICAL 问题已修复
109
+ □ 一致性确认: vision ↔ tech_stack ↔ roadmap ↔ map 无孤立引用(旧术语/路径已清理)
110
+
111
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
112
+
113
+ **Action** (Gate 通过后):
114
+ 1. 输出变更总结。
152
115
 
153
- ### Next Steps
154
- | 优先级 | 动作 | 说明 |
155
- |:---|:---|:---|
156
- | ... | ... | ... |
157
- ```
158
- </step_5_summary>
116
+ **Output**: Global Revision Summary — 含全局资产变更文件列表、Task 更新列表及影响摘要、审计结果、Next Steps 表格。
117
+ </step_6_summary>
159
118
 
160
119
  </protocol_revise>
@@ -1,5 +1,5 @@
1
1
  <protocol_scope>
2
- **Trigger**: `/archi.scope [file_path]`
2
+ **Trigger**: `/archi.scope [file_path]` | 自然语言触发时由 Workflow Dispatch 自动加载
3
3
  **Phase**: Requirement Decomposition
4
4
  **Goal**: 读取 Scope Brief,将大需求分解为多个 Roadmap 任务并建立依赖关系。
5
5
 
@@ -12,6 +12,7 @@
12
12
  3. **User Agency First**: Brief 中用户已填写的选择须直接采纳,禁质疑或替换。
13
13
  4. **Minimal Questions**: 仅针对信息缺口提问,Brief 充分时可跳过提问直接分解。
14
14
  5. **Option Z Everywhere**: 补充提问须包含 `[Z] 自定义`。
15
+ 6. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
15
16
  </principles>
16
17
  </meta>
17
18
 
@@ -21,15 +22,10 @@
21
22
  1. 解析触发命令中的 `[file_path]`:
22
23
  - 如提供了路径 → 读取该文件
23
24
  - 如未提供路径 → 依次查找 `scope-brief.md`(项目根)、`[[__DOCS_DIR__]]/scope-brief.md`
25
+ - 如用户通过自然语言描述需求进入(无 file_path 参数)且上述文件均不存在 → 跳转 `<fallback_interview>`
24
26
  - 如均不存在或为空 → 跳转 `<fallback_interview>`
25
27
 
26
- 2. 解析 Brief 各 Section,提取:
27
- - 需求名称和描述
28
- - 任务清单
29
- - 已有设计决策
30
- - 边界与约束(不做的事、时间、依赖、技术限制)
31
- - 受影响的已有任务
32
- - 参考资料
28
+ 2. 解析 Brief 各 Section,提取:需求名称和描述、任务清单、已有设计决策、边界与约束、受影响的已有任务、参考资料。
33
29
 
34
30
  > Brief 是一次性输入文件,处理完成后用户可自行删除。
35
31
 
@@ -37,13 +33,9 @@
37
33
  </step_0_ingest>
38
34
 
39
35
  <step_1_load>
40
- **Role**: 系统分析师
41
36
  **Action**:
42
- 1. **Read Vision**: `[[__DOCS_DIR__]]/global/vision.md` 仅读北极星指标和 Boundaries 段落;其余章节跳过。
43
- 2. **Read Roadmap**: `[[__DOCS_DIR__]]/global/roadmap.json`仅提取每个 task 的 `id/title/status/deps/tag` 字段(跳过 `goal/notes`,需求分解不需要这些详情);读取当前最大 ID 水位用于新任务编号。
44
- 3. **Read Tech Stack**: `02_tech_stack.md` — 技术约束。
45
- 4. **Read Map**: `[[__DOCS_DIR__]]/global/map.json` — 仅读 `directoryMapping` 和 `featureRelations`;`logicalTopology` 和 `criticalUserJourneys` 跳过。
46
- 5. **Scan Tasks**: 扫描 `[[__DOCS_DIR__]]/tasks/` 目录 — 了解已有 Task 概要(标题 + 关键流程,无需全文)。
37
+ 1. **Load**: vision.md(仅北极星+Boundaries)、roadmap.json(仅 id/title/status/deps/tag + 当前最大 ID 水位)、02_tech_stack.md、map.json(仅 directoryMapping + featureRelations)。
38
+ 2. **Scan Tasks**: 扫描 tasks/ 目录 了解已有 Task 概要(标题+关键流程,无需全文)。
47
39
 
48
40
  **Output**: 内部上下文摘要,进入 `<step_2_analysis>`。
49
41
  </step_1_load>
@@ -54,64 +46,33 @@
54
46
 
55
47
  **Action**:
56
48
 
57
- 1. **Vision 对齐检查**: Brief 需求是否与 vision.md 的北极星指标一致?如有偏离在输出中标注 `[Vision 偏离警告]`。
58
- 2. **任务清单完整性**: Brief 任务清单是否足以支撑需求目标?
59
- 3. **影响评估**: Brief 中"受影响的已有任务" → 对照 roadmap/tasks 验证是否存在、状态如何。
60
- 4. **缺口识别**: 检查 Brief 是否有关键信息缺失。
61
- 5. **联动检查**: 读取 `map.json.featureRelations`,将新任务的描述与各条 `sources` 字段做语义对比,判断新任务是否属于某聚合方的覆盖范围。命中时在摘要中输出联动提示。
49
+ 1. **Vision 对齐检查**: Brief 需求是否与 vision.md 北极星一致?偏离标注 `[Vision 偏离警告]`。
50
+ 2. **任务清单完整性**: 是否足以支撑需求目标?
51
+ 3. **影响评估**: Brief 中"受影响的已有任务" → 对照 roadmap/tasks 验证。
52
+ 4. **缺口识别**: Brief 是否有关键信息缺失。
53
+ 5. **联动检查**: [[SUBAGENT: archi-feature-relations|mode: check, context: 将新任务描述与 featureRelations sources 做语义对比,命中时输出联动提示]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-feature-relations/SKILL.md`,按 mode: check 的逻辑执行)]]
62
54
 
63
- **缺口分级**:
64
- - **必须**: 缺失则无法合理分解(如任务清单为空)
65
- - **可补**: AI 可推导但建议确认(如依赖关系不明确)
66
- - **建议**: AI 可自行决定(如任务分组方式)
55
+ **缺口分级**: 必须 → 无法分解 | 可补 → AI 可推导建议确认 | 建议 → AI 自决
67
56
 
68
- **Decision**:
69
- - 无"必须"级缺口 + 无"可补"级缺口 → 跳过 Step 2.5,直接进入 Step 3
70
- - 有缺口 → 进入 Step 2.5
57
+ **Decision**: 无"必须"+"可补"缺口 → 跳 Step 3 | 有缺口 → 进入 Step 3
71
58
 
72
- **Output**: 向用户输出 Brief 分析摘要:
73
- ```
74
- ### SCOPE BRIEF 分析报告
75
- > **需求**: [名称] | **规模**: 预估 [N] 个任务
76
-
77
- **Vision 对齐**: [一致 / ⚠️ 偏离 — 原因]
78
-
79
- **已确认信息**:
80
- - [列表]
81
-
82
- **受影响的已有任务**:
83
- | 任务 | 状态 | 预估影响 |
84
- |:---|:---|:---|
85
- | [ID: 名称] | [done/active/stub] | [需修改/需扩展/无影响] |
86
-
87
- **[?有命中] 联动提示**:
88
- | 聚合方 | checkNote |
89
- |:---|:---|
90
- | [aggregator ID/路径] | [checkNote 内容] |
91
-
92
- **信息缺口** (须补充):
93
- - [缺口列表]
94
-
95
- **AI 将自动决定** (无需操作):
96
- - [列表]
97
- ```
59
+ **Output**: 向用户输出 SCOPE BRIEF 分析报告 — 含需求名/预估规模、Vision 对齐状态、已确认信息、受影响已有任务表(任务/状态/预估影响)、(有命中)联动提示表、信息缺口、AI 自动决定项。进入 step_3_supplementary(有缺口)或 step_4_decompose(无缺口)。
98
60
  </step_2_analysis>
99
61
 
100
- <step_2_5_supplementary>
101
- **Role**: 产品顾问
62
+ <step_3_supplementary>
102
63
  **Trigger**: 仅当 Step 2 发现"必须"或"可补"级缺口时执行。
103
64
  **Input**: Step 2 的缺口列表。问题数上限 3 题。
104
65
 
105
- [[SKILL: 按 `archi-interview-protocol` Skill 的核心规则和标准输出格式提问。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-interview-protocol/SKILL.md` 并遵循其规则)]]
106
- </step_2_5_supplementary>
66
+ [[SKILL: archi-interview-protocol|按 skill 的核心规则和标准输出格式提问。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-interview-protocol/SKILL.md` 并遵循其规则)]]
67
+ </step_3_supplementary>
107
68
 
108
- <step_3_decompose>
69
+ <step_4_decompose>
109
70
  **Role**: 首席架构师
110
71
  **Input**: Brief 全文 + 项目上下文 + 补充回答(如有)。
111
72
 
112
- **Action**: [[SKILL: 按 `archi-decompose-roadmap` Skill 的协议,基于 Scope Brief 任务清单生成增量任务数据]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-decompose-roadmap/SKILL.md` 并遵循其协议执行)]]
73
+ **Action**: [[SKILL: archi-decompose-roadmap|按 skill 的协议,基于 Scope Brief 任务清单生成增量任务数据。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-decompose-roadmap/SKILL.md` 并遵循其协议执行)]]
113
74
 
114
- **展示格式**(将 Skill 产出的任务数据转换为以下格式,向用户呈现后等待确认):
75
+ **展示格式**(将 Skill 产出转换为以下格式,向用户呈现后等待确认):
115
76
 
116
77
  ```
117
78
  #### Phase 1: Infrastructure
@@ -121,45 +82,45 @@
121
82
  | ID | 标题 | 描述摘要 | 依赖 | 标签 |
122
83
 
123
84
  #### Execution Batches(并行执行批次)
124
- (从 deps 拓扑排序推导,列出每批可同时开工的任务)
125
85
  Batch 1(立即可开工): ...
126
86
  Batch 2(等 Batch 1 全完): ...
127
87
 
128
88
  #### NFR 横切关注点(已归并,不入 Roadmap)
129
- (来自 Skill 的 NFR 归并清单)
130
89
  - [NFR 名称] → 注入 [任务 ID] | 影响:[其他任务 ID]
131
90
  ```
132
91
 
133
- **Gate**: 用户回复 **OK** 后进入 step_4;未确认禁写入 Roadmap。用户可在确认前修正方案(合并/拆分/调整依赖)。
134
- </step_3_decompose>
92
+ **Gate**: 用户回复 **OK** 后进入 step_5_roadmap_update;未确认禁写入 Roadmap
93
+ </step_4_decompose>
135
94
 
136
- <step_3_5_refinement>
137
- **Role**: 咨询顾问
95
+ <step_4_5_refinement>
138
96
  **Trigger**: 用户回复非 OK,含合并/拆分/增删/依赖调整等修正。
139
97
  **Action**: 融入用户反馈,刷新分解方案重新输出,等待再次确认。
140
- </step_3_5_refinement>
141
98
 
142
- <step_4_roadmap_update>
143
- **Role**: 系统管理员
99
+ 用户回复 OK → 进入 step_5_roadmap_update。
100
+ </step_4_5_refinement>
101
+
102
+ <step_5_roadmap_update>
144
103
  **Input**: 用户确认的分解方案。
145
104
 
146
105
  **Action**:
147
- 1. 将新任务追加到 `[[__DOCS_DIR__]]/global/roadmap.json` 对应 Phase 的 `tasks` 数组中。
106
+ 1. 将新任务追加到 roadmap.json 对应 Phase 的 `tasks` 数组中。
148
107
  2. 如需新增 Phase → 追加到 `phases` 数组。
149
- 3. 更新 `lastUpdated` 字段。
150
- 4. [?新模块] 更新 `[[__DOCS_DIR__]]/global/map.json` `directoryMapping`:为新增任务预注册推断的模块路径(基于 tech_stack 架构模式和任务描述推断,仅目录级别;详细内容在 `/archi.plan` 时完善)。
108
+ 3. 更新 `lastUpdated`。
109
+ 4. (新模块)更新 map.json `directoryMapping`:为新增任务预注册推断的模块路径。
151
110
 
152
- **Terminal Gate** (禁止跳过,须在输出总结前全部完成):
153
- | 步骤 | 命令 | 通过条件 |
154
- |:---|:---|:---|
155
- | 1 | `npx archi task --check` | 无 ERROR 级问题 |
156
- | 2 | `npx archi render` | `.md` 视图生成完成 |
111
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
112
+
113
+ **Output**: 写入确认。进入 step_6_signoff。
114
+ </step_5_roadmap_update>
157
115
 
158
- **Output**: 写入确认。
159
- </step_4_roadmap_update>
116
+ <step_6_signoff>
117
+ **Pre-signoff Checklist** (输出前须逐项确认):
118
+ □ 分解方案已获用户明确确认(回复 OK 后才写入 roadmap — step_4 Gate)
119
+ □ roadmap.json — 任务已追加(非覆盖),lastUpdated 已更新
120
+ □ (有新模块)map.json directoryMapping — 新任务模块路径已预注册
121
+ □ step_5 Terminal Gate — task --check + render 已通过
160
122
 
161
- <step_5_signoff>
162
- **Action** (Gate 须在 step_4 完成):
123
+ **Action** (Gate 须在 step_5 完成):
163
124
  1. 运行 `npx archi task` 输出任务进度概览。
164
125
  2. 输出总结。
165
126
 
@@ -171,28 +132,27 @@
171
132
 
172
133
  | 优先级 | 动作 | 说明 |
173
134
  |:---|:---|:---|
174
- | [?UI] 推荐 | 运行 `archi-ui-wireframe` Skill(追加模式) | 为新增任务追加屏幕到 `ui_concept.html`,同步更新 `ui_context.md` |
135
+ | (仅ui项目) 推荐 | [[SKILL: archi-ui-wireframe|运行 skill(追加模式)]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]] | 为新增任务追加屏幕到 `ui_concept.html` |
175
136
  | 1 | `/archi.plan <第一个 pending 任务 ID>` | 对首个可执行任务做深度规划 |
176
137
  | 2 | 审查 roadmap | 确认依赖关系和优先级 |
177
- </step_5_signoff>
138
+ </step_6_signoff>
178
139
 
179
140
  <fallback_interview>
180
- **Trigger**: Brief 文件不存在或为空。
181
- **Role**: 产品顾问
141
+ **Trigger**: Brief 文件不存在或为空,或用户以自然语言描述需求进入。
182
142
 
183
143
  **Action**:
184
- 1. 告知用户 `scope-brief.md` 未找到。建议:
144
+ 1. 告知用户将通过对话梳理需求。建议:
185
145
  - 运行 `npx archi template scope-brief` 获取模板到项目根目录
186
146
  - 填写后重新运行 `/archi.scope scope-brief.md`
187
147
  - 或继续对话,通过访谈方式提供信息
188
- 2. 如用户选择继续对话,按以下顺序引导:
189
- a. 这次要做什么?(需求名称、一句话描述、动机)
190
- b. 包含哪些任务?(具体任务列表)
191
- c. 有什么约束?(不做的事、依赖、技术限制)
192
- d. 会影响哪些已有任务?
193
- 3. 收集完毕后,将信息写入 `scope-brief.md`(项目根目录),然后跳转 `<step_1_load>`。
194
-
195
- > 此模式为向后兼容,核心流程仍以 Brief 为准。
148
+ 2. 如用户选择继续对话,按以下维度引导(已知信息可跳过,每个维度 1-2 题):
149
+ a. **动机与目标**: 为什么要做这个?解决什么问题?期望达成什么效果?
150
+ b. **范围**: 包含哪些功能/模块?不包含什么?
151
+ c. **任务拆分**: 心中有没有大致的任务划分?(没有则 AI 在 step_3 代为拆分)
152
+ d. **约束**: 技术限制、时间约束、依赖?
153
+ e. **影响**: 会影响哪些已有功能?
154
+ 3. 收集完毕后,将信息写入 `scope-brief.md`(项目根目录),格式遵循 scope-brief 模板结构。
155
+ 4. 告知用户 brief 已生成,然后跳转 `<step_1_load>` 继续执行。
196
156
  </fallback_interview>
197
157
 
198
158
  </protocol_scope>