architext 0.0.4 → 0.0.6
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/CHANGELOG.md +55 -1
- package/README.md +93 -14
- package/README.zh-CN.md +92 -14
- package/dist/index.js +53 -39
- package/dist/templates/en/briefs/_base.md +53 -13
- package/dist/templates/en/briefs/_modules.md +31 -4
- package/dist/templates/en/docs/global/error_memory.json +40 -0
- package/dist/templates/en/docs/global/map.json +46 -90
- package/dist/templates/en/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +6 -13
- package/dist/templates/en/{rules/02_tech_stack.md → docs/global/tech_stack.md} +7 -18
- package/dist/templates/en/docs/global/vision.md +1 -1
- package/dist/templates/en/docs/prompts/audit.md +80 -94
- package/dist/templates/en/docs/prompts/code.md +99 -89
- package/dist/templates/en/docs/prompts/edit.md +61 -51
- package/dist/templates/en/docs/prompts/fix.md +59 -43
- package/dist/templates/en/docs/prompts/help.md +23 -31
- package/dist/templates/en/docs/prompts/inherit.md +97 -117
- package/dist/templates/en/docs/prompts/map.md +48 -69
- package/dist/templates/en/docs/prompts/plan.md +141 -240
- package/dist/templates/en/docs/prompts/recover.md +19 -34
- package/dist/templates/en/docs/prompts/ref.md +43 -138
- package/dist/templates/en/docs/prompts/remove.md +63 -110
- package/dist/templates/en/docs/prompts/revise.md +71 -106
- package/dist/templates/en/docs/prompts/scope.md +78 -117
- package/dist/templates/en/docs/prompts/script.md +102 -0
- package/dist/templates/en/docs/prompts/start.md +98 -132
- package/dist/templates/en/docs/prompts/ui.md +113 -0
- package/dist/templates/en/docs/shared/ui-redlines.md +7 -0
- package/dist/templates/en/docs/templates/spec.template.md +1 -1
- package/dist/templates/en/docs/templates/ui.template.md +8 -8
- package/dist/templates/en/rules/00_system.md +268 -117
- package/dist/templates/en/rules/90_custom_rules.md +3 -1
- package/dist/templates/en/skills/archi-data-sync/SKILL.md +37 -23
- package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +138 -240
- package/dist/templates/en/skills/archi-design-patterns/SKILL.md +6 -1
- package/dist/templates/en/skills/archi-feature-relations/SKILL.md +10 -6
- package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -2
- package/dist/templates/en/skills/archi-plan-options/SKILL.md +77 -301
- package/dist/templates/en/skills/archi-silent-audit/SKILL.md +24 -25
- package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +175 -305
- package/dist/templates/icon.svg +16 -0
- package/dist/templates/zh/briefs/_base.md +56 -17
- package/dist/templates/zh/briefs/_modules.md +28 -1
- package/dist/templates/zh/docs/global/error_memory.json +40 -0
- package/dist/templates/zh/docs/global/map.json +39 -109
- package/dist/templates/zh/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +0 -7
- package/dist/templates/zh/{rules/02_tech_stack.md → docs/global/tech_stack.md} +9 -20
- package/dist/templates/zh/docs/global/vision.md +1 -1
- package/dist/templates/zh/docs/prompts/audit.md +43 -57
- package/dist/templates/zh/docs/prompts/code.md +66 -56
- package/dist/templates/zh/docs/prompts/edit.md +52 -42
- package/dist/templates/zh/docs/prompts/fix.md +39 -29
- package/dist/templates/zh/docs/prompts/help.md +13 -21
- package/dist/templates/zh/docs/prompts/inherit.md +67 -86
- package/dist/templates/zh/docs/prompts/map.md +28 -50
- package/dist/templates/zh/docs/prompts/plan.md +100 -199
- package/dist/templates/zh/docs/prompts/recover.md +9 -24
- package/dist/templates/zh/docs/prompts/ref.md +11 -106
- package/dist/templates/zh/docs/prompts/remove.md +39 -74
- package/dist/templates/zh/docs/prompts/revise.md +47 -88
- package/dist/templates/zh/docs/prompts/scope.md +52 -91
- package/dist/templates/zh/docs/prompts/script.md +102 -0
- package/dist/templates/zh/docs/prompts/start.md +75 -110
- package/dist/templates/zh/docs/prompts/ui.md +113 -0
- package/dist/templates/zh/docs/shared/ui-redlines.md +7 -0
- package/dist/templates/zh/docs/templates/spec.template.md +1 -1
- package/dist/templates/zh/docs/templates/ui.template.md +8 -8
- package/dist/templates/zh/rules/00_system.md +252 -131
- package/dist/templates/zh/rules/90_custom_rules.md +2 -1
- package/dist/templates/zh/skills/archi-data-sync/SKILL.md +27 -13
- package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +133 -235
- package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +6 -1
- package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +6 -2
- package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -2
- package/dist/templates/zh/skills/archi-plan-options/SKILL.md +77 -301
- package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +4 -5
- package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +174 -301
- package/package.json +3 -1
- package/dist/templates/en/rules/01_workflow.md +0 -93
- package/dist/templates/en/rules/03_data_governance.md +0 -102
- package/dist/templates/en/rules/99_context_glue.md +0 -53
- package/dist/templates/zh/rules/01_workflow.md +0 -94
- package/dist/templates/zh/rules/03_data_governance.md +0 -133
- package/dist/templates/zh/rules/99_context_glue.md +0 -53
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<protocol_inherit>
|
|
2
2
|
**Trigger**: `/archi.inherit [brief_path]`
|
|
3
3
|
**Phase**: Legacy Adoption
|
|
4
|
-
**Goal**:
|
|
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. **
|
|
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
|
-
|
|
21
|
-
**
|
|
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.
|
|
24
|
+
3. 若文件不存在或为空:跳过 Brief,后续仅以代码为输入源
|
|
25
25
|
|
|
26
|
-
|
|
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**: 内部摘要(不输出给用户),进入
|
|
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
|
-
-
|
|
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,51 +97,51 @@
|
|
|
130
97
|
<step_3_constitution>
|
|
131
98
|
**Role**: 首席架构师
|
|
132
99
|
**Input**: Step 0 Brief 解析(如有)+ Step 1 分析报告 + Step 2 补充(如有)。
|
|
133
|
-
**Action**:
|
|
100
|
+
**Action**: 一次性填充 init 部署的文档骨架。**有 Brief 时**:Brief 优先于代码(vision/roadmap/tech_stack);代码仍用于 map、LEG-xx、目录结构。**无 Brief 时**:仅以代码为输入源(保持原逻辑)。
|
|
134
101
|
|
|
135
102
|
### 信息路由规则
|
|
136
103
|
|
|
137
|
-
> 规则文件(`
|
|
104
|
+
> 规则文件(`tech_stack`、`90_custom_rules` 等)已由 IDE 注入当前上下文,AI 已知其路径,直接写入即可。
|
|
138
105
|
|
|
139
|
-
**有 Brief 时**(Brief
|
|
106
|
+
**有 Brief 时**(Brief → 目标文件):
|
|
140
107
|
| Brief 内容 | 目标文件 |
|
|
141
108
|
|:---|:---|
|
|
142
109
|
| 项目身份、目标用户、成功指标、参考灵感 | `[[__DOCS_DIR__]]/global/vision.md` |
|
|
143
|
-
| 技术栈、部署目标、第三方库/服务 | 规则文件 `
|
|
110
|
+
| 技术栈、部署目标、第三方库/服务 | 规则文件 `tech_stack` |
|
|
144
111
|
| 核心任务列表 | `[[__DOCS_DIR__]]/global/roadmap.json`(phase-1/2,调用 archi-decompose-roadmap) |
|
|
145
|
-
|
|
|
112
|
+
| 补充说明中的规则/约定/偏好 | 规则文件 `90_custom_rules` |
|
|
146
113
|
| 风格调性(仅ui) | `design_tokens.json` aestheticDirection 等 |
|
|
147
114
|
|
|
148
115
|
**代码中的信息**(始终适用):
|
|
149
|
-
|
|
|
116
|
+
| 信息来源 | 目标文件 |
|
|
150
117
|
|:---|:---|
|
|
151
|
-
| README
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
| eslint/prettier
|
|
156
|
-
|
|
|
157
|
-
| (仅ui项目)
|
|
158
|
-
| (仅data项目)
|
|
118
|
+
| README 描述/特性 | vision.md |
|
|
119
|
+
| 依赖/配置/代码模式 | 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 仅作补充
|
|
162
129
|
- **无 Brief**:从 README + 项目配置推导,无法推导的项标注 `(AI 补全 — 建议用户审查)`
|
|
163
130
|
- 禁保留模板占位符
|
|
164
131
|
|
|
165
|
-
### 3.2 Tech Stack (规则文件 `
|
|
166
|
-
- **有 Brief**:Brief
|
|
167
|
-
- **无 Brief**:已有依赖/配置 →
|
|
132
|
+
### 3.2 Tech Stack (规则文件 `tech_stack`)
|
|
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
|
|
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 任务链]]
|
|
177
|
-
**无 Brief
|
|
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,22 @@
|
|
|
239
203
|
- `logicalTopology`: 模块间依赖 → `{ "from", "to", "type" }` (imports / calls / extends)
|
|
240
204
|
- `criticalUserJourneys`: 核心流程 → `{ "name", "steps": ["module → module → ..."] }`
|
|
241
205
|
- `featureRelations`: 扫描代码,识别「聚合型模块」并记录。
|
|
242
|
-
**识别特征**:
|
|
243
|
-
每条记录格式: `{ "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 提取
|
|
213
|
+
- (仅api项目) `api_snapshot.json`: 从现有 API 路由/控制器代码提取端点
|
|
214
|
+
- `env_registry.json`: 从代码中 `process.env` 引用提取环境变量
|
|
215
|
+
- (仅cli项目) `command_api.json`: 从现有 CLI 入口代码提取命令
|
|
216
|
+
- (仅lib项目) `public_api.json`: 从 package.json exports 或入口文件提取导出
|
|
250
217
|
- `error_codes.json`: 从代码中的错误定义提取
|
|
251
218
|
|
|
252
|
-
**
|
|
219
|
+
仅ui项目: **UI 概念设计**: 跳过 — 由 `/archi.ui` 独立完成。仅确保 `design_tokens.json` 已从 CSS 变量/主题提取填充。
|
|
220
|
+
|
|
221
|
+
**Output**: 写入所有文件,运行 `npx archi render`。进入 step_4_verify。
|
|
253
222
|
</step_3_constitution>
|
|
254
223
|
|
|
255
224
|
<step_4_verify>
|
|
@@ -260,13 +229,23 @@
|
|
|
260
229
|
</step_4_verify>
|
|
261
230
|
|
|
262
231
|
<step_5_signoff>
|
|
263
|
-
**Terminal Gate** (
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
232
|
+
**Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
|
|
233
|
+
|
|
234
|
+
**Pre-signoff Checklist** (Gate 通过后、输出前须逐项确认):
|
|
235
|
+
□ vision.md — 已填充(无 Brief 时: 推导内容标注了 `(AI 补全 — 建议用户审查)`)
|
|
236
|
+
□ tech_stack.md — Section 1-8 完整填充
|
|
237
|
+
□ roadmap.json — 每个功能模块对应一条 LEG-xx(status: done, tag: Legacy)
|
|
238
|
+
□ tasks/LEG-xx_<Slug>/spec.md — 每条 LEG 均有对应 Stub spec(含关联文件列表)
|
|
239
|
+
□ map.json — directoryMapping + logicalTopology + criticalUserJourneys + featureRelations 均已填充
|
|
240
|
+
□ dictionary.json + error_codes.json + env_registry.json — 从代码提取完毕
|
|
241
|
+
□ (仅ui项目)design_tokens.json — Adopt 模式已从 CSS 提取
|
|
242
|
+
□ (仅data项目)data_snapshot.json — 初始实体骨架已写入
|
|
243
|
+
□ (仅api项目)api_snapshot.json — 初始 API 端点已注册
|
|
244
|
+
□ (仅cli项目)command_api.json — 初始 CLI 命令已注册
|
|
245
|
+
□ (仅lib项目)public_api.json — 初始库导出已注册
|
|
246
|
+
□ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
|
|
247
|
+
|
|
248
|
+
**Action** (Checklist 全部确认后):
|
|
270
249
|
1. 运行 `npx archi task` 输出任务概览。
|
|
271
250
|
2. 输出总结。
|
|
272
251
|
|
|
@@ -280,6 +259,8 @@
|
|
|
280
259
|
| 优先级 | 动作 | 说明 |
|
|
281
260
|
|:---|:---|:---|
|
|
282
261
|
| 1 | 审查 vision.md | 确认 AI 补全的愿景描述是否准确 |
|
|
262
|
+
| (仅ui项目) 推荐 | `/archi.ui` | 生成 UI 概念设计(`screens/` 多文件结构,Adopt 模式) |
|
|
263
|
+
| (有基建后) | `/archi.script` | 生成 AI 自动化脚本(validate/dev-up/dev-reset) |
|
|
283
264
|
| 2 | `/archi.edit LEG-xx` | 对核心模块补全完整 spec(自动触发 Enrich 流程) |
|
|
284
265
|
| 3 | `/archi.scope [file_path]` | 规划新功能/大模块 |
|
|
285
266
|
| 4 | `/archi.plan <任务ID>` | 对单个任务做深度规划 |
|
|
@@ -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>
|
|
@@ -8,25 +8,24 @@
|
|
|
8
8
|
<principles>
|
|
9
9
|
1. **Scan vs Map**: 以实际文件系统为 Ground Truth,map.json 为旧快照。
|
|
10
10
|
2. **Smart Granularity**: 默认目录级;单文件承载多职责时须细化到文件级。
|
|
11
|
-
3. **Architecture Inference**: 新条目的层级归类须参考现有 map 模式 + `
|
|
11
|
+
3. **Architecture Inference**: 新条目的层级归类须参考现有 map 模式 + `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
|
-
1. **Read Map**: 读取
|
|
20
|
-
2. **Read Tech Stack**: 读取
|
|
19
|
+
1. **Read Map**: 读取 map.json — 当前架构地图。
|
|
20
|
+
2. **Read Tech Stack**: 读取 tech_stack — 目录结构约定、架构模式。
|
|
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
|
|
57
|
-
2. **Tech Stack 约定**: `
|
|
58
|
-
3. **内容推断**: 读取文件内容(import
|
|
59
|
-
4. **无法确定**: 标记为 `[?]
|
|
50
|
+
1. **模式匹配**: 参考 map.json 同层级已有条目的归类。
|
|
51
|
+
2. **Tech Stack 约定**: `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,39 @@
|
|
|
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.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
+
□ featureRelations — 目录变更若影响关联关系,已同步更新
|
|
104
|
+
□ lastUpdated 已更新
|
|
105
|
+
□ Terminal Gate — task --check + render 通过
|
|
106
|
+
|
|
107
|
+
**Output**: 更新摘要 — 移除 N 条 / 新增 N 条(含 M 条文件级)/ 重命名 N 条 / 当前总条目数。
|
|
130
108
|
</step_5_apply>
|
|
131
109
|
|
|
132
110
|
</protocol_map>
|