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
@@ -1,7 +1,7 @@
1
1
  <protocol_inherit>
2
- **Trigger**: `/archi.inherit`
2
+ **Trigger**: `/archi.inherit [brief_path]`
3
3
  **Phase**: Legacy Adoption
4
- **Goal**: 逆向分析已有代码仓库,生成 Architext 文档骨架,将项目纳入框架管理。
4
+ **Goal**: 逆向分析已有代码仓库,用分析结果填充 init 部署的文档骨架(`[[__DOCS_DIR__]]`),将项目纳入框架管理。填充空占位符,非覆盖用户既有内容。可选提供 Brief 以补充愿景/路线图(适用于代码库尚空、骨架刚搭的场景)。
5
5
 
6
6
  <meta>
7
7
  <style>Analytical, Systematic, Evidence-Based</style>
@@ -10,14 +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
18
  <step_0_recon>
19
19
  **Role**: 情报分析官
20
- **Action**:
20
+
21
+ **Brief 检测**(仅当用户提供 `[brief_path]` 时):
22
+ 1. 解析 `[brief_path]`:提供了路径 → 读取该文件;未提供 → 依次查找 `project-brief.md`(项目根)、`[[__DOCS_DIR__]]/project-brief.md`
23
+ 2. 若文件存在且非空:解析 Brief 各 Section,提取项目身份、核心任务、技术偏好、边界约束、补充说明(与 start 的 step_0_ingest 一致)
24
+ 3. 若文件不存在或为空:跳过 Brief,后续仅以代码为输入源
25
+
26
+ **代码侦察**:
21
27
  1. 读取项目根配置文件(自动识别类型):
22
28
 
23
29
  | 语言/生态 | 配置文件 |
@@ -30,63 +36,35 @@
30
36
  | 其他 | 以根目录配置文件为准 |
31
37
 
32
38
  2. 读取 README.md(如存在)。
33
- 3. 扫描目录结构(顶层 + 核心源码目录两层深度)。
39
+ 3. 扫描目录结构(完整深度)。
34
40
  4. 推断项目特征标签(UI / Data / CLI / Lib / API — 由目录结构、依赖和配置推断)。
35
- 5. 识别入口文件和核心模块。
41
+ 5. 识别入口文件和核心模块。沿入口文件的 import 链建立模块依赖草图。
36
42
 
37
- **Output**: 内部摘要(不输出给用户),进入 step_1
43
+ **Output**: 内部摘要(不输出给用户),进入 step_1_analysis
38
44
  </step_0_recon>
39
45
 
40
46
  <step_1_analysis>
41
- **Role**: 系统分析师
42
- **扫描策略**: 中度扫描读每个模块的入口文件和核心业务文件,提取主要流程链路。禁逐文件遍历。
47
+ **Role**: 首席产品战略官 (CPO)
48
+ **扫描策略**: 深度扫描从入口文件出发,沿调用链读取所有业务文件。大型模块(>10 文件)优先读被多处 import 的文件。
43
49
 
44
50
  **Action**:
45
51
  1. 对每个识别出的功能模块:
46
- - 读入口文件 + 1-2 个核心业务文件
52
+ - 从入口文件出发,沿 import/调用链逐层读取,直到覆盖该模块的主要业务逻辑
47
53
  - 提取主要流程(用户操作 → 系统处理 → 结果)
48
54
  - 记录关联文件路径
49
55
  2. 对共享/基建代码(utils, middleware, config):
50
- - 仅记录目录和职责,不作为功能模块
56
+ 读取所有文件,按以下分档记录:
57
+ - **中等档**(业务共享逻辑:auth/validation/error-handling/permission):记录职责 + 导出函数签名 + 被谁依赖
58
+ - **简要档**(纯工具函数:format/slugify/logger/helpers):记录函数名 + 参数签名 + 一句话用途
59
+ 两者均写入 map.json publicAPI 字段,确保后续协议可发现可复用。
51
60
  3. 从代码中提取领域术语和命名约定。
52
61
 
53
- **Output**: 向用户输出结构化分析报告:
54
- ```
55
- ### 代码分析报告
56
- > **项目**: [名称] | **类型**: [UI/Data/CLI/Lib/API] | **规模**: ~[文件数] 文件, [目录数] 目录
57
-
58
- **技术栈**:
59
- | 类别 | 选型 |
60
- |:---|:---|
61
- | 语言 | ... |
62
- | 框架 | ... |
63
- | 构建 | ... |
64
- | 测试 | ... |
65
- | 部署 | ... |
66
-
67
- **架构模式**: [推断] — [依据]
68
-
69
- **功能模块清单**:
70
- | # | 模块 | 源码位置 | 职责 | 关键流程 |
71
- |:---|:---|:---|:---|:---|
72
- | 1 | [名称] | [路径] | [一句话] | [流程1], [流程2] |
73
-
74
- **共享基建**:
75
- | 目录 | 职责 |
76
- |:---|:---|
77
- | [路径] | [描述] |
78
-
79
- **领域术语**: [术语列表]
80
-
81
- **AI 不确定项** (如有):
82
- - [歧义项]
83
- ```
62
+ **Output**: 向用户输出结构化分析报告 — 含项目概况(名称/类型/规模)、技术栈表(语言/框架/构建/测试/部署)、架构模式及依据、功能模块清单(模块/源码位置/职责/关键流程)、共享基建(目录/职责/关键导出接口)、领域术语、AI 不确定项(如有)。
84
63
 
85
64
  **Gate**: 用户确认或修正。未确认禁进入 step_2。
86
65
  </step_1_analysis>
87
66
 
88
67
  <step_2_supplementary>
89
- **Role**: 产品顾问
90
68
  **Trigger**: 仅当 step_1 有 AI 无法确定的项时执行。无歧义则跳过。
91
69
 
92
70
  **Action**: 以选择题形式询问歧义项。
@@ -118,40 +96,53 @@
118
96
 
119
97
  <step_3_constitution>
120
98
  **Role**: 首席架构师
121
- **Input**: Step 1 分析报告 + Step 2 补充(如有)。
122
- **Action**: 一次性生成项目文档骨架。
99
+ **Input**: Step 0 Brief 解析(如有)+ Step 1 分析报告 + Step 2 补充(如有)。
100
+ **Action**: 一次性填充 init 部署的文档骨架。**有 Brief 时**:Brief 优先于代码(vision/roadmap/tech_stack);代码仍用于 map、LEG-xx、目录结构。**无 Brief 时**:仅以代码为输入源(保持原逻辑)。
123
101
 
124
102
  ### 信息路由规则
125
103
 
126
104
  > 规则文件(`02_tech_stack`、`90_custom_rules` 等)已由 IDE 注入当前上下文,AI 已知其路径,直接写入即可。
127
105
 
128
- | 代码中的信息 | 目标文件 |
106
+ **有 Brief 时**(Brief 目标文件):
107
+ | Brief 内容 | 目标文件 |
129
108
  |:---|:---|
130
- | README 项目描述、目标用户、特性列表 | `[[__DOCS_DIR__]]/global/vision.md` |
131
- | 依赖清单、配置文件、代码模式 | 规则文件 `02_tech_stack` |
132
- | 目录结构、模块依赖、用户旅程 | `[[__DOCS_DIR__]]/global/map.json` |
133
- | 领域术语、缩写、命名约定 | `[[__DOCS_DIR__]]/global/dictionary.json` |
134
- | eslint/prettier 等已有规范 | 规则文件 `90_custom_rules` |
135
- | 代码中的错误码定义 | `[[__DOCS_DIR__]]/global/error_codes.json` |
136
- | [?UI] CSS 变量/主题配置 | `[[__DOCS_DIR__]]/global/design_tokens.json` |
137
- | [?Data] Schema/Migration 文件 | `[[__DOCS_DIR__]]/global/data_snapshot.json` |
109
+ | 项目身份、目标用户、成功指标、参考灵感 | `[[__DOCS_DIR__]]/global/vision.md` |
110
+ | 技术栈、部署目标、第三方库/服务 | 规则文件 `02_tech_stack` |
111
+ | 核心任务列表 | `[[__DOCS_DIR__]]/global/roadmap.json`(phase-1/2,调用 archi-decompose-roadmap) |
112
+ | 补充说明中的规则/约定/偏好 | 规则文件 `90_custom_rules` |
113
+ | 风格调性(仅ui) | `design_tokens.json` aestheticDirection 等 |
114
+
115
+ **代码中的信息**(始终适用):
116
+ | 信息来源 | 目标文件 |
117
+ |:---|:---|
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 |
138
126
 
139
127
  ### 3.1 Vision (`[[__DOCS_DIR__]]/global/vision.md`)
140
- - README + 项目配置推导
141
- - 无法推导的项标注 `(AI 补全 — 建议用户审查)`
128
+ - **有 Brief**:从 Brief 填充(与 start 一致),代码/README 仅作补充
129
+ - **无 Brief**:从 README + 项目配置推导,无法推导的项标注 `(AI 补全 — 建议用户审查)`
142
130
  - 禁保留模板占位符
143
131
 
144
132
  ### 3.2 Tech Stack (规则文件 `02_tech_stack`)
145
- - 已有依赖/配置直接写入
146
- - 代码中可见的规范(命名、结构) → 写入 Coding Standards
133
+ - **有 Brief**:Brief 确定的 直接写入;留空/推荐的 → AI 推荐;代码依赖作补充
134
+ - **无 Brief**:已有依赖/配置 直接写入;可见规范 → 写入 Coding Standards
147
135
  - 须填充完整 Section 1-8
148
136
 
149
137
  ### 3.3 Custom Rules (规则文件 `90_custom_rules`)
150
- - eslint/prettier/editorconfig 等提取规则
151
- - 从代码模式中识别团队约定(如 named export 偏好、async/await 风格)
138
+ - **有 Brief**:从补充说明 + 代码 eslint/prettier 合并
139
+ - **无 Brief**:从 eslint/prettier/editorconfig 提取,从代码模式识别团队约定
152
140
 
153
141
  ### 3.4 Roadmap (`[[__DOCS_DIR__]]/global/roadmap.json`)
154
142
 
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 保留空骨架。
145
+
155
146
  **结构**:
156
147
  ```json
157
148
  {
@@ -183,7 +174,6 @@
183
174
  **规则**:
184
175
  - 功能模块 → `phase-0: Legacy`,status `done`,tag `Legacy`,ID 前缀 `LEG-`
185
176
  - 共享/基建代码不进 roadmap,仅进 map.json directoryMapping
186
- - phase-1/2 保留空骨架
187
177
  - LEG 间如有依赖关系须在 deps 中体现
188
178
 
189
179
  ### 3.5 Task Stub Specs
@@ -201,11 +191,9 @@
201
191
 
202
192
  ## 关键流程
203
193
  1. **[流程名]**: [A] → [B] → [C]
204
- 2. **[流程名]**: [A] → [B] → [C]
205
194
 
206
195
  ## 关联文件
207
196
  - [角色]: `[路径]`
208
- - [角色]: `[路径]`
209
197
  ```
210
198
 
211
199
  > Stub 是起点,非终态。后续通过 `/archi.edit` 触发补全(自动进入 `step_1_5_enrich` 流程)。
@@ -215,40 +203,46 @@
215
203
  - `logicalTopology`: 模块间依赖 → `{ "from", "to", "type" }` (imports / calls / extends)
216
204
  - `criticalUserJourneys`: 核心流程 → `{ "name", "steps": ["module → module → ..."] }`
217
205
  - `featureRelations`: 扫描代码,识别「聚合型模块」并记录。
218
- **识别特征**: 某模块遍历/枚举/动态加载同类模块(如 `for (const cmd of allCommands)`、`Object.values(registry)`、读取目录后动态 import),或其描述为「汇总/列举/注册所有 X」。
219
- 每条记录格式: `{ "aggregator": "<ID 或文件路径>", "sources": "<来源范围描述>", "evidence": "<代码依据>", "checkNote": "此类功能新增或删除时,检查 <aggregator> 是否需要同步" }`
206
+ **识别特征**: 某模块遍历/枚举/动态加载同类模块,或其描述为「汇总/列举/注册所有 X」。
207
+ 每条记录格式: `{ "aggregator", "sources", "evidence", "checkNote" }`
220
208
 
221
209
  ### 3.7 其他全局文档(按需)
222
210
  - `dictionary.json`: 从代码提取领域术语
223
- - [?UI] `design_tokens.json`: 从 CSS 变量/主题提取
224
- - [?UI] `ui_concept.html` + `ui_context.md`: **不由本命令生成**。继承完成后,提示用户运行 `archi-ui-wireframe` Skill 生成全局 UI 线框图(Skill 同时生成两个文件)。
225
- - [?Data] `data_snapshot.json`: 从 schema/migration 提取
211
+ - (仅ui项目) `design_tokens.json`: 从 CSS 变量/主题提取
212
+ - (仅data项目) `data_snapshot.json`: schema/migration 提取
226
213
  - `error_codes.json`: 从代码中的错误定义提取
227
214
 
228
- **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。
229
223
  </step_3_constitution>
230
224
 
231
- <step_4_audit>
232
- **Role**: 审计官
233
- **Checklist**:
234
- 1. **Vision 对齐**: vision.md 与代码实际功能一致?
235
- 2. **Tech Stack 一致**: 规则文件 `02_tech_stack` 与 package.json/config 一致?
236
- 3. **Map 覆盖**: map.json 覆盖所有核心目录?
237
- 4. **Roadmap 完整**: phase-0 覆盖所有已识别功能模块?
238
- 5. **Stub 齐全**: 每个 LEG-xx 都有对应 tasks/ 目录和 spec.md?
239
- 6. **Dictionary 无冲突**: 术语无歧义或重复?
225
+ <step_4_verify>
226
+ **Role**: 独立审查官
227
+ [[SUBAGENT: archi-silent-audit|mode: init, context: 审查 step_3 生成的全局文件(vision, tech_stack, roadmap, map, dictionary, stub specs 等)]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: init 的审查维度表逐项检查)]]
240
228
 
241
- 如有问题则静默修正;严重问题标记 `Risk Warning`。
242
- </step_4_audit>
229
+ [[INCLUDE: shared/verify-result-handling.md]]
230
+ </step_4_verify>
243
231
 
244
232
  <step_5_signoff>
245
- **Terminal Gate** (禁止跳过,须在输出总结前全部完成):
246
- | 步骤 | 命令 | 通过条件 |
247
- |:---|:---|:---|
248
- | 1 | `npx archi task --check` | ERROR 级问题 |
249
- | 2 | `npx archi render` | `.md` 视图生成完成 |
250
-
251
- **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 全部确认后):
252
246
  1. 运行 `npx archi task` 输出任务概览。
253
247
  2. 输出总结。
254
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,49 +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 render` | `.md` 视图生成完成 |
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 通过
123
105
 
124
- **Output**: 更新摘要:
125
- - **移除**: N 条过期条目
126
- - **新增**: N 条(含 M 条文件级)
127
- - **重命名**: N 条
128
- - **当前 map 总条目数**: X
106
+ **Output**: 更新摘要 — 移除 N 条 / 新增 N 条(含 M 条文件级)/ 重命名 N 条 / 当前总条目数。
129
107
  </step_5_apply>
130
108
 
131
109
  </protocol_map>