architext 0.0.2 → 0.0.4
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 +41 -1
- package/README.md +10 -5
- package/README.zh-CN.md +10 -5
- package/dist/index.js +43 -39
- package/dist/templates/en/docs/global/api_snapshot.json +24 -0
- package/dist/templates/en/docs/global/command_api.json +26 -0
- package/dist/templates/en/docs/global/env_registry.json +12 -0
- package/dist/templates/en/docs/global/map.json +5 -0
- package/dist/templates/en/docs/global/public_api.json +12 -0
- package/dist/templates/en/docs/prompts/code.md +21 -28
- package/dist/templates/en/docs/prompts/edit.md +18 -9
- package/dist/templates/en/docs/prompts/inherit.md +42 -23
- package/dist/templates/en/docs/prompts/plan.md +141 -47
- package/dist/templates/en/docs/prompts/recover.md +63 -0
- package/dist/templates/en/docs/prompts/ref.md +258 -0
- package/dist/templates/en/docs/prompts/revise.md +1 -1
- package/dist/templates/en/docs/prompts/scope.md +3 -3
- package/dist/templates/en/docs/prompts/start.md +9 -15
- package/dist/templates/en/docs/shared/verify-result-handling.md +6 -0
- package/dist/templates/en/docs/templates/design.template.md +77 -0
- package/dist/templates/en/docs/templates/spec.template.md +60 -25
- package/dist/templates/en/skills/archi-data-sync/SKILL.md +83 -0
- package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +178 -132
- package/dist/templates/en/skills/archi-design-patterns/SKILL.md +139 -0
- package/dist/templates/en/skills/archi-feature-relations/SKILL.md +118 -0
- package/dist/templates/en/skills/archi-silent-audit/SKILL.md +118 -0
- package/dist/templates/zh/briefs/_base.md +2 -2
- package/dist/templates/zh/briefs/_modules.md +2 -2
- package/dist/templates/zh/docs/global/api_snapshot.json +24 -0
- package/dist/templates/zh/docs/global/command_api.json +26 -0
- package/dist/templates/zh/docs/global/data_snapshot.json +0 -1
- package/dist/templates/zh/docs/global/design_tokens.json +0 -1
- package/dist/templates/zh/docs/global/dictionary.json +1 -1
- package/dist/templates/zh/docs/global/env_registry.json +12 -0
- package/dist/templates/zh/docs/global/error_codes.json +0 -8
- package/dist/templates/zh/docs/global/map.json +28 -3
- package/dist/templates/zh/docs/global/public_api.json +12 -0
- package/dist/templates/zh/docs/global/vision.md +1 -1
- package/dist/templates/zh/docs/prompts/audit.md +8 -8
- package/dist/templates/zh/docs/prompts/code.md +33 -40
- package/dist/templates/zh/docs/prompts/edit.md +19 -10
- package/dist/templates/zh/docs/prompts/fix.md +8 -2
- package/dist/templates/zh/docs/prompts/inherit.md +45 -27
- package/dist/templates/zh/docs/prompts/map.md +2 -1
- package/dist/templates/zh/docs/prompts/plan.md +143 -50
- package/dist/templates/zh/docs/prompts/recover.md +63 -0
- package/dist/templates/zh/docs/prompts/ref.md +258 -0
- package/dist/templates/zh/docs/prompts/remove.md +2 -14
- package/dist/templates/zh/docs/prompts/revise.md +12 -4
- package/dist/templates/zh/docs/prompts/scope.md +6 -6
- package/dist/templates/zh/docs/prompts/start.md +19 -26
- package/dist/templates/zh/docs/shared/verify-result-handling.md +6 -0
- package/dist/templates/zh/docs/templates/design.template.md +77 -0
- package/dist/templates/zh/docs/templates/spec.template.md +60 -25
- package/dist/templates/zh/rules/00_system.md +35 -5
- package/dist/templates/zh/rules/01_workflow.md +5 -4
- package/dist/templates/zh/rules/02_tech_stack.md +7 -6
- package/dist/templates/zh/rules/03_data_governance.md +40 -9
- package/dist/templates/zh/rules/99_context_glue.md +2 -2
- package/dist/templates/zh/skills/archi-data-sync/SKILL.md +83 -0
- package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +82 -37
- package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +139 -0
- package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +118 -0
- package/dist/templates/zh/skills/archi-plan-options/SKILL.md +25 -25
- package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +118 -0
- package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +1 -1
- package/package.json +2 -2
- package/dist/templates/zh-Hant/briefs/_base.md +0 -115
- package/dist/templates/zh-Hant/briefs/_modules.md +0 -173
- package/dist/templates/zh-Hant/docs/global/data_snapshot.json +0 -31
- package/dist/templates/zh-Hant/docs/global/design_tokens.json +0 -135
- package/dist/templates/zh-Hant/docs/global/dictionary.json +0 -35
- package/dist/templates/zh-Hant/docs/global/error_codes.json +0 -19
- package/dist/templates/zh-Hant/docs/global/map.json +0 -94
- package/dist/templates/zh-Hant/docs/global/roadmap.json +0 -39
- package/dist/templates/zh-Hant/docs/global/vision.md +0 -82
- package/dist/templates/zh-Hant/docs/prompts/audit.md +0 -150
- package/dist/templates/zh-Hant/docs/prompts/code.md +0 -160
- package/dist/templates/zh-Hant/docs/prompts/edit.md +0 -87
- package/dist/templates/zh-Hant/docs/prompts/fix.md +0 -86
- package/dist/templates/zh-Hant/docs/prompts/help.md +0 -69
- package/dist/templates/zh-Hant/docs/prompts/inherit.md +0 -270
- package/dist/templates/zh-Hant/docs/prompts/map.md +0 -131
- package/dist/templates/zh-Hant/docs/prompts/plan.md +0 -252
- package/dist/templates/zh-Hant/docs/prompts/remove.md +0 -162
- package/dist/templates/zh-Hant/docs/prompts/revise.md +0 -160
- package/dist/templates/zh-Hant/docs/prompts/scope.md +0 -198
- package/dist/templates/zh-Hant/docs/prompts/start.md +0 -258
- package/dist/templates/zh-Hant/docs/templates/plan.template.json +0 -88
- package/dist/templates/zh-Hant/docs/templates/scope-brief.template.md +0 -58
- package/dist/templates/zh-Hant/docs/templates/spec.template.md +0 -51
- package/dist/templates/zh-Hant/docs/templates/ui.template.md +0 -51
- package/dist/templates/zh-Hant/rules/00_system.md +0 -123
- package/dist/templates/zh-Hant/rules/01_workflow.md +0 -93
- package/dist/templates/zh-Hant/rules/02_tech_stack.md +0 -192
- package/dist/templates/zh-Hant/rules/03_data_governance.md +0 -102
- package/dist/templates/zh-Hant/rules/04_cli_tools.md +0 -50
- package/dist/templates/zh-Hant/rules/90_custom_rules.md +0 -21
- package/dist/templates/zh-Hant/rules/99_context_glue.md +0 -53
- package/dist/templates/zh-Hant/skills/archi-decompose-roadmap/SKILL.md +0 -293
- package/dist/templates/zh-Hant/skills/archi-interview-protocol/SKILL.md +0 -86
- package/dist/templates/zh-Hant/skills/archi-plan-options/SKILL.md +0 -364
- package/dist/templates/zh-Hant/skills/archi-ui-wireframe/SKILL.md +0 -337
|
@@ -28,44 +28,64 @@
|
|
|
28
28
|
2. **Read Vision**: 读取 `[[__DOCS_DIR__]]/global/vision.md` — 仅提取北极星指标和设计哲学段落;其余章节跳过。
|
|
29
29
|
3. **Read Tech Stack**: `02_tech_stack.md` (技术红线 + **Section 9 项目约定**)。
|
|
30
30
|
- 提取 Section 9 中的全局架构约定(Error Handling / Data Flow / Auth & Access),供 step_2 约定继承使用。
|
|
31
|
-
4.
|
|
32
|
-
4.5
|
|
31
|
+
4. (仅ui项目) **Read Design Tokens**: `[[__DOCS_DIR__]]/global/design_tokens.json`。
|
|
32
|
+
4.5 (仅ui项目) **Read UI Context**: `[[__DOCS_DIR__]]/global/ui_context.md`(如存在)。
|
|
33
33
|
- 从屏幕索引中定位本功能对应的屏幕 ID(如 S-03)及其负责的状态。
|
|
34
34
|
- 锁定屏幕范围,供 step_4 生成 `ui.md §1` 时直接填入,禁自行发明新屏幕 ID。
|
|
35
35
|
- 若 `ui_context.md` 不存在 → 跳过,`ui.md` 按完整 ITP 格式填写。
|
|
36
|
-
5.
|
|
36
|
+
5. (仅data项目) **Read Data Model**: `[[__DOCS_DIR__]]/global/data_snapshot.json`。
|
|
37
37
|
6. **Read Dependency Context** (如有依赖任务):
|
|
38
38
|
- 仅读依赖任务 `spec.md` 的 Interface/Type 定义段(`## Interface` 或 `## Types` 章节);不读 Scenarios 等其余内容。
|
|
39
39
|
- 仅当当前 spec/plan 出现 `ref: tasks/<dep_id>/spec.md#X` 引用时执行;无引用时跳过。
|
|
40
40
|
- **Stub 兼容**: 如依赖任务的 Spec-Status 为 Stub,从 stub"关联文件"提取源码,读入口文件提取公共接口/导出类型,作为上游接口参考。
|
|
41
41
|
- 避免重复定义上游接口,确保对接点精确对齐。
|
|
42
|
+
7. **Read Refs** (如有): 读取 `[[__DOCS_DIR__]]/refs/index.json`(如存在)。
|
|
43
|
+
- 根据 tags 与当前任务描述语义匹配相关 ref 条目。
|
|
44
|
+
- 仅读取命中的 ref 文件(`[[__DOCS_DIR__]]/refs/{id}.{ext}`),忽略无关条目。
|
|
45
|
+
- 若 `refs/index.json` 不存在或 refs 为空 → 跳过。
|
|
42
46
|
|
|
43
47
|
**Output**: 向用户输出 **Task Context Brief**:
|
|
44
48
|
```
|
|
45
49
|
### Task Context: [功能名称] ([ID])
|
|
46
50
|
|
|
51
|
+
**任务类型**: [从 ID 前缀推断: Infrastructure / Feature / Quality / Edit]
|
|
47
52
|
**目标**: [roadmap task 的 goal,如含 [用户预设] 须高亮标注]
|
|
48
53
|
**上游依赖**: [已完成的依赖任务及其关键接口/类型,无则写"无"]
|
|
49
54
|
**项目特征**: [已激活的 UI/Data/CLI/Lib/API 标签]
|
|
50
55
|
**技术约束**: [来自 02_tech_stack.md 的关键红线]
|
|
51
56
|
**设计哲学**: [来自 vision.md 的北极星指标和设计原则]
|
|
52
57
|
**项目约定**: [来自 02_tech_stack.md §9 — Error Handling: X | Data Flow: X | Auth: X,无则写"未设置"]
|
|
58
|
+
**外部知识引用**: [命中的 ref id 列表,如 `wechat-pay`, `company-sdk`;无则写"无"]
|
|
53
59
|
```
|
|
54
60
|
内部保留完整上下文素材,进入 step_2。
|
|
55
61
|
</step_1_load>
|
|
56
62
|
|
|
57
63
|
<step_1_5_complexity>
|
|
58
64
|
**Role**: 产品顾问
|
|
59
|
-
**Action**:
|
|
65
|
+
**Action**: 检测任务类型,评估复杂度,决定流程路径。
|
|
60
66
|
|
|
61
|
-
|
|
67
|
+
**⓪ Task Type 检测(最先执行)**:
|
|
62
68
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
|
66
|
-
|
|
69
|
+
从 `<ID>` 前缀推断任务类型,贯穿后续所有 step:
|
|
70
|
+
|
|
71
|
+
| ID 前缀 | Task Type | spec § 2 主维度 | spec § 4 Interface Exports |
|
|
72
|
+
|:---|:---|:---|:---|
|
|
73
|
+
| `INF-` | Infrastructure | Structural(配置契约) | **必填**(下游基础设施) |
|
|
74
|
+
| `FEAT-` | Feature | Behavioral(行为场景) | 有下游 deps 时必填 |
|
|
75
|
+
| `POLISH-` | Quality | Quantitative(量化目标) | 通常省略 |
|
|
76
|
+
| `EDIT-` | Edit | 继承原任务类型 | 继承 |
|
|
67
77
|
|
|
68
|
-
>
|
|
78
|
+
> 混合型任务(如 INF 任务含行为面)可在 § 2 中组合多个维度,用子标题区分。
|
|
79
|
+
|
|
80
|
+
**① 粒度红线检查(按 Task Type 调整上限)**:
|
|
81
|
+
|
|
82
|
+
| Task Type | Acceptance Criteria 条目上限 | plan.json Phase 上限 |
|
|
83
|
+
|:---|:---|:---|
|
|
84
|
+
| Feature | ≤ 6 个 Scenarios | ≤ 4 个 |
|
|
85
|
+
| Infrastructure | ≤ 8 个 Contracts | ≤ 5 个 |
|
|
86
|
+
| Quality | ≤ 4 个 Targets | ≤ 3 个 |
|
|
87
|
+
|
|
88
|
+
> 预估方法:根据 step_1 加载的 roadmap task goal 和依赖上下文,快速列举核心路径数量。超出上限即触发,无需精确计算。
|
|
69
89
|
|
|
70
90
|
**② 复杂度判定(粒度通过后执行)**:
|
|
71
91
|
|
|
@@ -76,9 +96,21 @@
|
|
|
76
96
|
|
|
77
97
|
**Simple 模式**:
|
|
78
98
|
- 跳过 5 维度架构建议和 User Confirm Gate
|
|
79
|
-
- spec 精简为 1-2 个
|
|
99
|
+
- spec 精简为 1-2 个 Acceptance Criteria 条目(按 Task Type 选格式)
|
|
80
100
|
- plan 精简为单 Phase
|
|
81
101
|
- signoff 时确认(替代 step_2 的 Gate)
|
|
102
|
+
|
|
103
|
+
**③ Design 信号检测(Standard 判定后执行)**:
|
|
104
|
+
|
|
105
|
+
Standard 任务中,检测是否需要生成 `design.md`(技术方案设计):
|
|
106
|
+
|
|
107
|
+
| 信号 | 判定 |
|
|
108
|
+
|:---|:---|
|
|
109
|
+
| 架构建议选型的 AI- 含复杂度警告(如"极难正确实现"、"状态管理复杂"、"连接泄漏") | **Standard + Design** |
|
|
110
|
+
| 涉及自定义状态机、非平凡算法、多组件协调协议、重试/恢复策略 | **Standard + Design** |
|
|
111
|
+
| 标准 CRUD / 配置 / 简单集成 | **Standard**(无 design.md) |
|
|
112
|
+
|
|
113
|
+
> Standard + Design 时,step_2 须输出机制预览(Part 1.5),step_4 须额外生成 `design.md`。
|
|
82
114
|
</step_1_5_complexity>
|
|
83
115
|
|
|
84
116
|
<step_2_interview>
|
|
@@ -113,9 +145,22 @@
|
|
|
113
145
|
|
|
114
146
|
#### Part 2: Architecture Recommendations (架构建议)
|
|
115
147
|
|
|
116
|
-
[[SKILL:
|
|
148
|
+
[[SKILL: archi-plan-options|按 skill 的三步选用逻辑(约定继承 → 标签路由 → 推荐 vs 展开),从五个维度的选项库中为本功能生成架构建议。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-plan-options/SKILL.md` 并遵循其三步选用逻辑执行)]]
|
|
149
|
+
|
|
150
|
+
展开 Q-table 时,格式遵循 [[SKILL: archi-interview-protocol|skill 的标准输出格式]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-interview-protocol/SKILL.md` 并遵循其规则执行)]]。
|
|
151
|
+
|
|
152
|
+
#### Part 1.5: Mechanism Preview (机制预览) 仅Complex任务:
|
|
117
153
|
|
|
118
|
-
|
|
154
|
+
仅当 step_1_5 判定为 **Standard + Design** 时输出。列出需要技术方案设计的核心机制及拟用模式:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
### 机制预览 (将生成 design.md)
|
|
158
|
+
| 机制 | 模式 | 简述 |
|
|
159
|
+
|:---|:---|:---|
|
|
160
|
+
| [机制名称] | [State Machine / Pipeline / Decision Matrix / Protocol] | [一句话描述] |
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
> 用户可在此增删机制或修改模式选择。
|
|
119
164
|
|
|
120
165
|
#### Output Format
|
|
121
166
|
|
|
@@ -133,6 +178,12 @@
|
|
|
133
178
|
| 错误处理 | [项目约定值] | 项目约定 | ref: 02_tech_stack.md §9 |
|
|
134
179
|
| ... | ... | ... | ... |
|
|
135
180
|
|
|
181
|
+
[仅 Standard + Design]:
|
|
182
|
+
### 机制预览 (将生成 design.md)
|
|
183
|
+
| 机制 | 模式 | 简述 |
|
|
184
|
+
|:---|:---|:---|
|
|
185
|
+
| ... | ... | ... |
|
|
186
|
+
|
|
136
187
|
[仅对需要用户裁决的维度展开选项表]:
|
|
137
188
|
**[Q<n>] 问题标题**
|
|
138
189
|
> 为什么需要用户决定(一句话)
|
|
@@ -148,6 +199,7 @@
|
|
|
148
199
|
> - 设计修正: "注册不需要邮箱验证步骤"
|
|
149
200
|
> - 维度覆写: "核心结构=C, 错误处理=B D"
|
|
150
201
|
> - 问题回答: "Q1=B"
|
|
202
|
+
> - 机制修改: "去掉 Pipeline,重连不需要那么复杂"
|
|
151
203
|
```
|
|
152
204
|
|
|
153
205
|
**Goal**: 锁定 `spec`, `ui`(如适用), `data_snapshot.json`(如适用)。
|
|
@@ -172,77 +224,118 @@
|
|
|
172
224
|
|
|
173
225
|
**Action Checklist**:
|
|
174
226
|
1. **`map.json`**: 在 `directoryMapping` 注册 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>`;在 `logicalTopology` 定义模块职责与依赖。
|
|
175
|
-
2.
|
|
176
|
-
3. [
|
|
177
|
-
4. **`error_codes.json`**: 根据架构建议中错误处理的选择注册新**业务**错误码。框架脚本错误由 exit code + stderr 处理,禁注册。
|
|
178
|
-
5. **`map.json` featureRelations**: 判断本 Task 是否属于「聚合型 Task」——即其核心职责是**列举、汇总或动态反映**其他一类 Task(如「列出所有命令」「汇总所有页面入口」「注册所有路由」)。若是,在 `featureRelations` 中追加一条记录:
|
|
179
|
-
```json
|
|
180
|
-
{
|
|
181
|
-
"aggregator": "<本 Task ID 或文件路径>",
|
|
182
|
-
"sources": "<一句话描述聚合来源范围,如'所有 CLI 命令类 Task'>",
|
|
183
|
-
"evidence": "<依据,如'spec.md §X 描述本 Task 会动态列出所有 Y 类 Task'>",
|
|
184
|
-
"checkNote": "此类 Task 新增或删除时,检查 <aggregator> 是否需要同步"
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
若非聚合型 Task,跳过此步。
|
|
227
|
+
2. **数据治理同步** (`dictionary.json` / `error_codes.json` / `data_snapshot.json` 等): 按 `03_data_governance.md` 规则,将提案中涉及的新业务术语、错误码、Schema 增量同步至对应全局文件。
|
|
228
|
+
3. **`map.json` featureRelations**: [[SUBAGENT: archi-feature-relations|mode: register, context: 判断本 Task 是否为聚合型,若是则注册 featureRelations 条目]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-feature-relations/SKILL.md`,按 mode: register 的逻辑执行)]]
|
|
188
229
|
|
|
189
230
|
**Output**: 上述文件的变更 Diff (简要)。
|
|
190
231
|
</step_3_global_sync>
|
|
191
232
|
|
|
192
233
|
<step_4_generate>
|
|
193
234
|
**Role**: 文档工程师
|
|
194
|
-
**Input**: 确认的 Unified Proposal(功能设计 + 架构建议)+
|
|
235
|
+
**Input**: 确认的 Unified Proposal(功能设计 + 架构建议)+ 已更新的全局上下文 + step_1_5 检测的 Task Type。
|
|
195
236
|
**Action**: 在 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>/` 下生成标准文档。
|
|
196
237
|
|
|
197
238
|
**1. `spec.md`** (必须):
|
|
198
239
|
- 模板: `templates/spec.template.md`。
|
|
199
|
-
- 基于确认的功能设计和架构建议,转化为 Gherkin Scenarios。
|
|
200
|
-
- 每个 Scenario 须对应功能设计中的具体流程步骤或异常路径,禁凭空编造场景。
|
|
201
|
-
- 若为上游任务,须包含明确的 Interface/Type 定义。
|
|
202
240
|
|
|
203
|
-
**2
|
|
241
|
+
**spec § 2 按 Task Type 选择维度格式**:
|
|
242
|
+
|
|
243
|
+
| Task Type | § 2 主维度 | 格式要求 |
|
|
244
|
+
|:---|:---|:---|
|
|
245
|
+
| Feature | Behavioral | Gherkin (Given/When/Then),每个 Scenario 对应功能设计中的具体流程步骤或异常路径 |
|
|
246
|
+
| Infrastructure | Structural | Configuration Contract,每个配置文件/服务一个 Contract(Path + Key Settings + Constraints + Verify)。Key Settings **须写出具体值**,禁泛化描述(如"配置 X") |
|
|
247
|
+
| Quality | Quantitative | Quality Target,每个优化目标含 Metric + Baseline + Target + Verify |
|
|
248
|
+
| Edit | 继承原任务 | 同原任务类型 |
|
|
249
|
+
|
|
250
|
+
> 混合型任务在 § 2 内用子标题区分维度(如 INF 任务含 Behavioral 子节描述热键行为)。
|
|
251
|
+
|
|
252
|
+
**spec § 4 Interface Exports**:INF 任务**必填**(下游基础设施须声明导出约定),FEAT 任务有下游 deps 时必填。
|
|
253
|
+
**spec § 5 Constraints**:**必填** — 从 vision.md + 02_tech_stack.md 提取与本任务相关的红线。
|
|
254
|
+
|
|
255
|
+
**通用规则**:
|
|
256
|
+
- 禁凭空编造 Acceptance Criteria 条目,须对应功能设计中的具体内容。
|
|
257
|
+
- 若为上游任务,须在 § 4 包含明确的 Interface/Type 定义。
|
|
258
|
+
|
|
259
|
+
**2. `ui.md`** (本任务涉及UI时):
|
|
204
260
|
- 模板 `templates/ui.template.md`。
|
|
205
261
|
- **有 `ui_context.md`(主路径)**:
|
|
206
|
-
1. **UI 偏差检查**(写 `ui.md` 前必须执行):对比 step_2 确认的功能设计与 `ui_context.md`
|
|
262
|
+
1. **UI 偏差检查**(写 `ui.md` 前必须执行):对比 step_2 确认的功能设计与 `ui_context.md` 中的屏幕索引,识别偏差。[[SKILL: archi-ui-wireframe|按 skill 的协议处理 UI 偏差]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]]。判定标准与处理方式:
|
|
207
263
|
|
|
208
264
|
| 偏差类型 | 判定标准 | 处理方式 |
|
|
209
265
|
|:---|:---|:---|
|
|
210
266
|
| 无偏差 | 屏幕索引与设计一致 | 直接写 `ui.md`,引用屏幕 ID |
|
|
211
|
-
| 轻微增量 | 新增状态/弹窗/局部区域,不改整体布局 | 调用
|
|
212
|
-
| 结构性偏差 | 布局重构、新增独立屏幕、流程路径变化 | **暂停**,向用户输出偏差说明,等待 **OK** 后调用
|
|
267
|
+
| 轻微增量 | 新增状态/弹窗/局部区域,不改整体布局 | 调用 skill(Plan 细化模式)更新 `ui_concept.html` + `ui_context.md`,在 `ui.md` 注明 `MODIFIED: S-XX` |
|
|
268
|
+
| 结构性偏差 | 布局重构、新增独立屏幕、流程路径变化 | **暂停**,向用户输出偏差说明,等待 **OK** 后调用 skill 更新 `ui_concept.html` + `ui_context.md`,再写 `ui.md` |
|
|
213
269
|
|
|
214
270
|
2. 完成偏差处理后,按 `ui.template.md` 填写屏幕范围声明和差异组件。
|
|
215
271
|
- **无 `ui_context.md`(降级路径)**: 按完整 ITP v3.0 描述组件树,引用 `design_tokens.json` Token 定义。
|
|
216
272
|
|
|
217
|
-
**3. `
|
|
273
|
+
**3. 仅Complex任务: `design.md`**:
|
|
274
|
+
- 模板: `templates/design.template.md`。
|
|
275
|
+
- 仅在 step_1_5 判定为 **Standard + Design** 时生成。
|
|
276
|
+
- § 2 Core Mechanisms: 按 step_2 确认的机制预览,调用 [[SKILL: archi-design-patterns|skill 的模式选择指南和标准格式生成机制描述并执行自检]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-design-patterns/SKILL.md` 并遵循其模式格式和自检清单执行)]]。
|
|
277
|
+
- § 3 Parameters: 所有机制中的数值须具体化,禁模糊描述。
|
|
278
|
+
- § 4 Invariants: 每条须可测试,须对应 plan.json 的 test 条目。
|
|
279
|
+
- § 5 Failure Modes: 每个故障须有检测方式 + 降级行为。
|
|
280
|
+
- § 6 Trace Verification: 从 spec § 2 每条 AC 追踪设计路径,有 Gap 须回补。
|
|
281
|
+
|
|
282
|
+
**4. `plan.json`** (必须):
|
|
218
283
|
- 模板: `templates/plan.template.json`。
|
|
219
284
|
- 根据项目类型动态调整 Phase;确保每个 Task 上下文自包含。
|
|
220
285
|
- 任务描述中明确 "Additive Only" + "Respect Unknowns"。
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
286
|
+
|
|
287
|
+
**WBS 分解三原则(生成 plan.json 时须遵循)**:
|
|
288
|
+
|
|
289
|
+
**原则 1 — 交付物导向**: 每个 task 的 `title` 描述**产出物**而非活动。
|
|
290
|
+
> ✅ 好: `apps/web/tsconfig.json — strict + path aliases`
|
|
291
|
+
> ❌ 差: `配置 TypeScript`
|
|
292
|
+
|
|
293
|
+
**原则 2 — 100% 覆盖**: 生成后须逐项确认覆盖度:
|
|
294
|
+
| 检查项 | 规则 |
|
|
295
|
+
|:---|:---|
|
|
296
|
+
| spec § 2 每个 Acceptance Criteria 条目 | 须有 ≥1 个 task 覆盖 |
|
|
297
|
+
| spec § 4 每个 Interface Export | 须有 task 负责创建/暴露该接口 |
|
|
298
|
+
| spec § 5 每个 Constraint | 须有 task 的 notes 中引用该约束 |
|
|
299
|
+
遗漏则补充 task 直到 100%。
|
|
300
|
+
|
|
301
|
+
**原则 3 — 粒度与互斥**:
|
|
302
|
+
| 信号 | 判定 |
|
|
303
|
+
|:---|:---|
|
|
304
|
+
| task 涉及 ≥3 个不相关文件 | 太粗 — 须拆分 |
|
|
305
|
+
| task 的 title 无法对应到具体产出文件 | 太抽象 — 须具体化 |
|
|
306
|
+
| 两个 task 修改同一文件同一区域 | 违反互斥 — 合并或重划边界 |
|
|
307
|
+
| task 的 notes 只有一句话且无验证项 | 信息量不足 — 须补充 |
|
|
308
|
+
|
|
309
|
+
**`decisions` 质量标准**:
|
|
310
|
+
- `rationale` **须含实施指导**,不仅说明"为什么选",须说明"选了怎么配"。
|
|
311
|
+
> ✅ 好: `pnpm workspace 管理 apps/ + packages/;Turborepo pipeline: build→lint→type-check 三级缓存;root scripts 统一入口`
|
|
312
|
+
> ❌ 差: `Brief 明确要求` ← 零实施指导
|
|
313
|
+
|
|
314
|
+
**`notes` 质量标准**:
|
|
315
|
+
- 格式: `[产出文件路径或操作对象] · [spec 引用] · [关键约束] · 验证: [可执行命令 + 期望结果]`
|
|
316
|
+
- 供 `/archi.code` step_4 精确定位并执行 e2e,禁留空。
|
|
317
|
+
> ✅ 好: `创建 apps/web/next.config.ts · spec §2.2 · transpilePackages: ['@repo/ui'], output: 'standalone' · 禁 CSS-in-JS · 验证: pnpm --filter web build 成功 (exit 0)`
|
|
318
|
+
> ❌ 差: `配置 Next.js · spec §2.2` ← 无具体内容、无约束、无验证
|
|
319
|
+
> ❌ 差: `创建文件 · spec §2.1 · 验证: 检查文件存在` ← "检查文件存在" 不可执行
|
|
320
|
+
> **Red Flag**: notes 退化为 title 同义重复。每个 notes 须包含 title 中**不存在**的信息量。
|
|
321
|
+
|
|
224
322
|
- 生成后运行 `npx archi render` 生成可读的 `.md` 视图。
|
|
225
323
|
</step_4_generate>
|
|
226
324
|
|
|
227
|
-
<
|
|
228
|
-
**Role**:
|
|
229
|
-
|
|
230
|
-
1. **Design Fidelity**: Spec 中的 Scenarios 是否完整覆盖确认的功能设计(流程步骤和异常路径)?
|
|
231
|
-
2. **Tech Consistency**: 是否用了未声明技术?
|
|
232
|
-
3. **Data Integrity**: Scenario 中的实体和字段是否与确认的核心实体一致?
|
|
233
|
-
4. **Error Handling**: 是否覆盖架构建议中错误处理的选择?
|
|
234
|
-
5. **AX Compliance**: 是否遵守 Anti-Clobbering 和 Interface Stability?
|
|
325
|
+
<step_5_verify>
|
|
326
|
+
**Role**: 独立审查官
|
|
327
|
+
[[SUBAGENT: archi-silent-audit|mode: plan-docs, context: 审查 step_4 生成的文档(spec.md, ui.md, plan.json, design.md)]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: plan-docs 的审查维度表逐项检查)]]
|
|
235
328
|
|
|
236
|
-
|
|
237
|
-
</
|
|
329
|
+
[[INCLUDE: shared/verify-result-handling.md]]
|
|
330
|
+
</step_5_verify>
|
|
238
331
|
|
|
239
332
|
<step_6_signoff>
|
|
240
333
|
**Terminal Gate** (禁止跳过,须在输出总结前全部完成):
|
|
241
334
|
| 步骤 | 命令 | 通过条件 |
|
|
242
335
|
|:---|:---|:---|
|
|
243
336
|
| 1 | `npx archi task --check` | 无 ERROR 级问题 |
|
|
244
|
-
| 2 | `npx archi
|
|
245
|
-
| 3 | `npx archi
|
|
337
|
+
| 2 | `npx archi render` | `.md` 视图生成完成 |
|
|
338
|
+
| 3 | `npx archi task <ID> --status active` | 任务已标记为进行中 |
|
|
246
339
|
|
|
247
340
|
**Action** (Gate 通过后):
|
|
248
341
|
1. 输出总结。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<protocol_recover>
|
|
2
|
+
**Trigger**: `/archi.recover <pack-file>`
|
|
3
|
+
**Goal**: 读取 pack 文件,将其中所有用户数据(文档、任务、自定义规则)写入当前项目对应路径,完成框架升级后的数据还原。
|
|
4
|
+
|
|
5
|
+
<meta>
|
|
6
|
+
<style>Precise, Efficient, Non-interactive</style>
|
|
7
|
+
<language>简体中文</language>
|
|
8
|
+
<principles>
|
|
9
|
+
1. **User Data Only**: pack 文件仅含用户数据(`global/`、`tasks/`、`scripts/`、`refs/`、自定义规则),无框架文件,全部写入,无需过滤。
|
|
10
|
+
2. **Overwrite Always**: 目标路径已存在文件时直接覆盖,无需询问(框架升级场景下旧数据即为空模板,可安全替换)。
|
|
11
|
+
3. **Delta Notation**: 输出须以 `ADDED` / `MODIFIED` 标注每个写入文件。
|
|
12
|
+
4. **No Partial Write**: 若任一文件写入失败,立即停止并报告;已写入文件不回滚(幂等,重跑安全)。
|
|
13
|
+
</principles>
|
|
14
|
+
</meta>
|
|
15
|
+
|
|
16
|
+
<step_1_ingest>
|
|
17
|
+
**Role**: 情报分析官
|
|
18
|
+
**Action**:
|
|
19
|
+
1. 读取 `<pack-file>` 路径的文件内容。
|
|
20
|
+
2. 解析 XML,提取 `<files>` 下每个 `<file>` 元素的 `path` 属性与 CDATA 内容。
|
|
21
|
+
|
|
22
|
+
| 情况 | 处理 |
|
|
23
|
+
|:---|:---|
|
|
24
|
+
| 文件不存在或无法读取 | 停止 — 告知用户检查路径,提示先运行 `archi pack` 生成 |
|
|
25
|
+
| XML 格式错误 | 停止 — 提示文件可能损坏,重新运行 `archi pack` |
|
|
26
|
+
| `<files>` 为空 | 停止 — 告知 pack 为空 |
|
|
27
|
+
|
|
28
|
+
**Output**: 内部文件列表(路径 + 内容),不直接输出给用户。
|
|
29
|
+
</step_1_ingest>
|
|
30
|
+
|
|
31
|
+
<step_2_apply>
|
|
32
|
+
**Role**: 资深工程师
|
|
33
|
+
**Action**:
|
|
34
|
+
1. 对每个 `<file>` 条目:
|
|
35
|
+
- 以 `path` 属性(相对项目根目录)为写入目标。
|
|
36
|
+
- 若目标文件已存在 → 覆盖(标记 `MODIFIED`)。
|
|
37
|
+
- 若目标文件不存在 → 新建(标记 `ADDED`)。
|
|
38
|
+
- 写入 CDATA 中的完整内容,保留原始换行与编码。
|
|
39
|
+
2. 注意:pack 中的路径可能含嵌套子目录(如 `tasks/FEAT-001_auth/spec.md`),须确保父目录存在。
|
|
40
|
+
|
|
41
|
+
**Output**:
|
|
42
|
+
```
|
|
43
|
+
ADDED .architext/global/vision.md
|
|
44
|
+
ADDED .architext/global/roadmap.json
|
|
45
|
+
ADDED .architext/tasks/FEAT-001_auth/spec.md
|
|
46
|
+
MODIFIED .cursor/rules/90_custom_rules.mdc
|
|
47
|
+
...
|
|
48
|
+
```
|
|
49
|
+
</step_2_apply>
|
|
50
|
+
|
|
51
|
+
<step_3_signoff>
|
|
52
|
+
**Action**:
|
|
53
|
+
1. 输出还原摘要:
|
|
54
|
+
- 总计写入文件数(ADDED + MODIFIED 分别统计)
|
|
55
|
+
2. Next Steps:
|
|
56
|
+
|
|
57
|
+
| 步骤 | 说明 |
|
|
58
|
+
|:---|:---|
|
|
59
|
+
| 确认框架状态 | 运行 `/archi.help` 查看项目当前状态与建议下一步 |
|
|
60
|
+
| 清理 pack 文件 | 可删除 `<pack-file>`,已不再需要 |
|
|
61
|
+
</step_3_signoff>
|
|
62
|
+
|
|
63
|
+
</protocol_recover>
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
<protocol_ref>
|
|
2
|
+
**Trigger**: `/archi.ref <sub> [args]`
|
|
3
|
+
**Goal**: 管理外部知识引用(第三方 API、公司内部 SDK、业务规则等),结构化存入 `refs/`,供 `plan`/`code` 按需注入上下文。
|
|
4
|
+
|
|
5
|
+
**子命令**:
|
|
6
|
+
| 子命令 | 格式 | 作用 |
|
|
7
|
+
|:---|:---|:---|
|
|
8
|
+
| `add` | `/archi.ref add [input]` | 摘要并存储外部知识(核心) |
|
|
9
|
+
| `list` | `/archi.ref list` | 列出所有已存引用 |
|
|
10
|
+
| `update` | `/archi.ref update <id>` | 重新摘要指定引用 |
|
|
11
|
+
| `remove` | `/archi.ref remove <id>` | 删除指定引用 |
|
|
12
|
+
|
|
13
|
+
<meta>
|
|
14
|
+
<style>Analytical, Precise, Context-Aware</style>
|
|
15
|
+
<language>简体中文</language>
|
|
16
|
+
<principles>
|
|
17
|
+
1. **Summarize, Not Copy**: 禁全量复制原文;须提炼为 AI 可高效使用的结构化摘要(关键接口 / 约束 / 示例),压缩比不低于 50%。
|
|
18
|
+
2. **Format-Aware**: 根据内容类型自动选择最合适的载体格式(`.md` / `.json` / `.yaml`),保留原始格式的语义优势。
|
|
19
|
+
3. **Tag-Driven**: 每个 ref 须携带 tags,供 `plan`/`code` 按需匹配注入,禁无 tag 引用。
|
|
20
|
+
4. **Index-First**: 所有操作须同步更新 `refs/index.json`,AI 通过索引按需加载,禁全量扫描。
|
|
21
|
+
</principles>
|
|
22
|
+
</meta>
|
|
23
|
+
|
|
24
|
+
<!-- ─── 载体格式选择规则 ─── -->
|
|
25
|
+
<format_selection>
|
|
26
|
+
**Format-Aware 规则**(step_3_store 执行时参照):
|
|
27
|
+
|
|
28
|
+
| 内容类型 | 推荐格式 | 理由 |
|
|
29
|
+
|:---|:---|:---|
|
|
30
|
+
| 网页 / URL / PDF / 纯文本 | `.md` | 结构化摘要,AI 读取效率最高 |
|
|
31
|
+
| OpenAPI / Swagger 规范 | `.yaml` | 保留机器可读结构,禁转为 .md |
|
|
32
|
+
| JSON Schema / 配置文件 | `.json` | 结构化数据原格式最优 |
|
|
33
|
+
| 混合(含大量代码示例)| `.md`(含代码块)| 代码块保留语法,加说明上下文 |
|
|
34
|
+
| 用户直接粘贴(纯 Markdown) | `.md` | 同格式存储,可精炼 |
|
|
35
|
+
</format_selection>
|
|
36
|
+
|
|
37
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
38
|
+
<!-- ADD 子命令 -->
|
|
39
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
40
|
+
|
|
41
|
+
<sub_add>
|
|
42
|
+
|
|
43
|
+
<step_0_ingest>
|
|
44
|
+
**Role**: 情报分析官
|
|
45
|
+
**Trigger**: `/archi.ref add [input]`
|
|
46
|
+
**Action**: 解析 `[input]`,确定输入来源。
|
|
47
|
+
|
|
48
|
+
| input 形式 | 处理 |
|
|
49
|
+
|:---|:---|
|
|
50
|
+
| 本地文件路径(如 `./docs/api.yaml`) | 读取文件内容,记录 `sourceType: local-file` |
|
|
51
|
+
| URL(如 `https://...`) | 抓取页面内容,记录 `sourceType: url` |
|
|
52
|
+
| 未提供(对话模式)| 告知用户粘贴内容或提供路径/URL,等待输入,记录 `sourceType: manual` |
|
|
53
|
+
|
|
54
|
+
检查 `[[__DOCS_DIR__]]/refs/index.json` 是否存在:
|
|
55
|
+
- 存在 → 读取,获取现有 id 列表(防重复命名)
|
|
56
|
+
- 不存在 → 初始化为 `{ "refs": [] }`
|
|
57
|
+
|
|
58
|
+
**Output**: 内部(原始内容 + sourceType + 现有 id 列表),进入 `<step_1_analyze>`。
|
|
59
|
+
</step_0_ingest>
|
|
60
|
+
|
|
61
|
+
<step_1_analyze>
|
|
62
|
+
**Role**: 系统分析师
|
|
63
|
+
**Action**:
|
|
64
|
+
1. **内容类型识别**: 判断原始内容属于哪种类型(参照 `<format_selection>`),确定推荐存储格式。
|
|
65
|
+
2. **关键信息提取**: 从内容中提取:
|
|
66
|
+
- 核心接口/端点/函数签名
|
|
67
|
+
- 参数列表与类型(入参/出参)
|
|
68
|
+
- 重要约束、限制、注意事项
|
|
69
|
+
- 认证/鉴权方式(如有)
|
|
70
|
+
- 典型使用示例(不超过 3 个)
|
|
71
|
+
3. **信息缺口识别**:
|
|
72
|
+
- id 命名(推断一个候选值,如 `wechat-pay`,待用户确认)
|
|
73
|
+
- tags 分类(从以下标准 tag 推断:`api` / `sdk` / `internal` / `payment` / `auth` / `map` / `notification` / `storage` / 自定义)
|
|
74
|
+
- 关注侧重点(若内容庞大,须确认用户最关心哪些接口/功能)
|
|
75
|
+
|
|
76
|
+
**Output**: 内部分析摘要,进入 `<step_2_interview>`(有缺口时)或直接 `<step_3_store>`(信息完整时)。
|
|
77
|
+
</step_1_analyze>
|
|
78
|
+
|
|
79
|
+
<step_2_interview>
|
|
80
|
+
**Role**: 产品顾问
|
|
81
|
+
**Trigger**: 仅当 id / tags / 侧重点任一不确定时执行。
|
|
82
|
+
**Action**: 向用户提问,问题上限 3 题,选项优先。
|
|
83
|
+
|
|
84
|
+
**Output 格式**:
|
|
85
|
+
```
|
|
86
|
+
### 引用信息确认
|
|
87
|
+
|
|
88
|
+
**内容类型**: [识别结果] → 将存储为 [.md / .yaml / .json]
|
|
89
|
+
**内容摘要**: [一句话描述原始内容]
|
|
90
|
+
|
|
91
|
+
**Q1 — 引用 ID**(用于文件命名和引用):
|
|
92
|
+
[A] [AI 推断的候选值](推荐)
|
|
93
|
+
[B] 自定义
|
|
94
|
+
|
|
95
|
+
**Q2 — 分类 Tags**(多选):
|
|
96
|
+
[A] api [B] sdk [C] internal [D] payment [E] auth [F] 其他: ___
|
|
97
|
+
|
|
98
|
+
(内容庞大时)**Q3 — 关注侧重**:
|
|
99
|
+
[A] 完整保留 [B] 仅保留 [具体接口列表] [C] 自定义
|
|
100
|
+
|
|
101
|
+
**INPUT**: Q1答案 | Q2答案 | Q3答案(如有)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Gate**: 等待用户回复后进入 `<step_3_store>`。
|
|
105
|
+
</step_2_interview>
|
|
106
|
+
|
|
107
|
+
<step_3_store>
|
|
108
|
+
**Role**: 资深工程师
|
|
109
|
+
**Action**:
|
|
110
|
+
1. 确定存储参数:
|
|
111
|
+
- `id`: 用户确认的值(或 AI 推断值)
|
|
112
|
+
- `format`: 由 `<format_selection>` 规则确定的文件扩展名
|
|
113
|
+
- `filename`: `{id}.{format}`
|
|
114
|
+
- `tags`: 用户确认的 tags 列表
|
|
115
|
+
|
|
116
|
+
2. **生成引用文件内容**(按格式):
|
|
117
|
+
|
|
118
|
+
**`.md` 格式骨架**:
|
|
119
|
+
```markdown
|
|
120
|
+
---
|
|
121
|
+
id: {id}
|
|
122
|
+
title: {标题}
|
|
123
|
+
tags: [{tags}]
|
|
124
|
+
sourceType: url | local-file | manual
|
|
125
|
+
source: {来源路径或 URL,manual 时填 "manual-input"}
|
|
126
|
+
created: {YYYY-MM-DD}
|
|
127
|
+
updated: {YYYY-MM-DD}
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 核心信息
|
|
131
|
+
<!-- 基础 URL、版本、认证方式等 -->
|
|
132
|
+
|
|
133
|
+
## 关键接口
|
|
134
|
+
| 接口/函数 | 路径/签名 | 说明 |
|
|
135
|
+
|:---|:---|:---|
|
|
136
|
+
|
|
137
|
+
## 重要约束与注意事项
|
|
138
|
+
|
|
139
|
+
## 示例
|
|
140
|
+
<!-- 不超过 3 个最具代表性的示例 -->
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**`.yaml` 格式**: 直接存储原始 OpenAPI/Swagger 内容(精简掉示例响应中冗余的 example 字段,保留 schema 结构)。
|
|
144
|
+
|
|
145
|
+
**`.json` 格式**: 直接存储原始 JSON Schema 或配置内容(移除注释、保留结构)。
|
|
146
|
+
|
|
147
|
+
3. **写入文件**: `[[__DOCS_DIR__]]/refs/{id}.{ext}`
|
|
148
|
+
|
|
149
|
+
4. **更新索引**: 向 `[[__DOCS_DIR__]]/refs/index.json` 的 `refs` 数组追加:
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"id": "{id}",
|
|
153
|
+
"title": "{标题}",
|
|
154
|
+
"tags": ["{tags}"],
|
|
155
|
+
"format": "{ext}",
|
|
156
|
+
"file": "{id}.{ext}",
|
|
157
|
+
"sourceType": "url | local-file | manual",
|
|
158
|
+
"updatedAt": "{YYYY-MM-DD}"
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Output**:
|
|
163
|
+
```
|
|
164
|
+
ADDED [[__DOCS_DIR__]]/refs/{id}.{ext}
|
|
165
|
+
MODIFIED [[__DOCS_DIR__]]/refs/index.json
|
|
166
|
+
```
|
|
167
|
+
</step_3_store>
|
|
168
|
+
|
|
169
|
+
<step_4_signoff_add>
|
|
170
|
+
**Output**: 添加摘要,含:
|
|
171
|
+
- **引用 ID**: `{id}`
|
|
172
|
+
- **存储格式**: `{ext}` — 理由(一句话)
|
|
173
|
+
- **Tags**: `[tags]`
|
|
174
|
+
- **文件路径**: `[[__DOCS_DIR__]]/refs/{id}.{ext}`
|
|
175
|
+
- **如何使用**:
|
|
176
|
+
|
|
177
|
+
| 场景 | 说明 |
|
|
178
|
+
|:---|:---|
|
|
179
|
+
| `/archi.plan <ID>` | 规划时若任务涉及 `[tags]` 相关功能,AI 将自动读取此 ref |
|
|
180
|
+
| `/archi.code <ID>` | 编码时作为补充上下文注入,提供接口签名和约束细节 |
|
|
181
|
+
| 手动引用 | 在对话中直接提到 "参考 `refs/{id}`" 即可 |
|
|
182
|
+
</step_4_signoff_add>
|
|
183
|
+
|
|
184
|
+
</sub_add>
|
|
185
|
+
|
|
186
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
187
|
+
<!-- LIST 子命令 -->
|
|
188
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
189
|
+
|
|
190
|
+
<sub_list>
|
|
191
|
+
|
|
192
|
+
**Role**: 系统分析师
|
|
193
|
+
**Trigger**: `/archi.ref list`
|
|
194
|
+
**Action**: 读取 `[[__DOCS_DIR__]]/refs/index.json`。
|
|
195
|
+
|
|
196
|
+
| 情况 | 处理 |
|
|
197
|
+
|:---|:---|
|
|
198
|
+
| 索引不存在 / refs 为空 | 提示"当前无引用,运行 `/archi.ref add` 添加第一个" |
|
|
199
|
+
| 正常 | 按 tags 分组展示 |
|
|
200
|
+
|
|
201
|
+
**Output**:
|
|
202
|
+
```
|
|
203
|
+
### 外部知识引用库 (共 N 条)
|
|
204
|
+
|
|
205
|
+
#### [tag 分组名]
|
|
206
|
+
| ID | 标题 | 格式 | 更新时间 |
|
|
207
|
+
|:---|:---|:---|:---|
|
|
208
|
+
| wechat-pay | 微信支付 V3 API | .md | 2025-01-15 |
|
|
209
|
+
| openapi-spec | 内部服务 OpenAPI | .yaml | 2025-01-10 |
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
</sub_list>
|
|
213
|
+
|
|
214
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
215
|
+
<!-- UPDATE 子命令 -->
|
|
216
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
217
|
+
|
|
218
|
+
<sub_update>
|
|
219
|
+
|
|
220
|
+
**Role**: 资深工程师
|
|
221
|
+
**Trigger**: `/archi.ref update <id>`
|
|
222
|
+
**Action**:
|
|
223
|
+
1. 从 `index.json` 找到 `<id>` 对应的 `file` 和 `sourceType`。
|
|
224
|
+
2. 若 `sourceType` 为 `url` → 重新抓取原始 URL;`local-file` → 重新读取文件;`manual` → 提示用户粘贴新内容。
|
|
225
|
+
3. 重新执行 `<step_1_analyze>` + `<step_3_store>`(保留原 id/tags/format,仅刷新内容和 `updatedAt`)。
|
|
226
|
+
|
|
227
|
+
| 情况 | 处理 |
|
|
228
|
+
|:---|:---|
|
|
229
|
+
| id 不存在于 index.json | 停止 — 提示检查 id,可运行 `/archi.ref list` 查看 |
|
|
230
|
+
|
|
231
|
+
</sub_update>
|
|
232
|
+
|
|
233
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
234
|
+
<!-- REMOVE 子命令 -->
|
|
235
|
+
<!-- ═══════════════════════════════════════════════ -->
|
|
236
|
+
|
|
237
|
+
<sub_remove>
|
|
238
|
+
|
|
239
|
+
**Role**: 系统管理员
|
|
240
|
+
**Trigger**: `/archi.ref remove <id>`
|
|
241
|
+
**Action**:
|
|
242
|
+
1. 从 `index.json` 中找到并移除 `<id>` 条目。
|
|
243
|
+
2. 删除对应的 `refs/{id}.{ext}` 文件。
|
|
244
|
+
3. 更新 `index.json`。
|
|
245
|
+
|
|
246
|
+
**Output**:
|
|
247
|
+
```
|
|
248
|
+
REMOVED [[__DOCS_DIR__]]/refs/{id}.{ext}
|
|
249
|
+
MODIFIED [[__DOCS_DIR__]]/refs/index.json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
| 情况 | 处理 |
|
|
253
|
+
|:---|:---|
|
|
254
|
+
| id 不存在 | 停止 — 提示检查 id,可运行 `/archi.ref list` 查看 |
|
|
255
|
+
|
|
256
|
+
</sub_remove>
|
|
257
|
+
|
|
258
|
+
</protocol_ref>
|
|
@@ -61,13 +61,7 @@
|
|
|
61
61
|
|
|
62
62
|
### 2.4 聚合联动检查
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
| 情况 | 处理 |
|
|
67
|
-
|:---|:---|
|
|
68
|
-
| 不在任何聚合方的 sources 范围内 | 无需特殊处理 |
|
|
69
|
-
| 在聚合方 sources 范围内 | 在影响报告中列出,提示删除后须检查聚合方内容是否需要同步移除 |
|
|
70
|
-
| 被删 Task 本身是 aggregator | 同时移除 `featureRelations` 中该条记录 |
|
|
64
|
+
[[SUBAGENT: archi-feature-relations|mode: cleanup, context: 检查被删 Task 在 featureRelations 中的引用(作为 aggregator 或属于某 sources 范围),输出影响报告]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-feature-relations/SKILL.md`,按 mode: cleanup 的逻辑执行)]]
|
|
71
65
|
|
|
72
66
|
### 2.5 跨 Task 引用
|
|
73
67
|
|
|
@@ -139,13 +133,7 @@
|
|
|
139
133
|
|:---|:---|:---|
|
|
140
134
|
| 1 | `npx archi task --check` | 无 ERROR 级问题,无悬空依赖 |
|
|
141
135
|
| 2 | `npx archi render` | `.md` 视图生成完成 |
|
|
142
|
-
| 3 | 运行项目构建命令 |
|
|
143
|
-
|
|
144
|
-
| 检查项 | 通过标准 |
|
|
145
|
-
|:---|:---|
|
|
146
|
-
| Roadmap 一致性 | `--check` 通过,无悬空依赖 |
|
|
147
|
-
| 构建 | 零编译错误 |
|
|
148
|
-
| 残留引用 | 代码中无对已删模块的 import/require |
|
|
136
|
+
| 3 | 运行项目构建命令 | 零编译错误;代码中无对已删模块的 import/require |
|
|
149
137
|
|
|
150
138
|
构建失败或发现残留引用 → 定位并修复后重检。
|
|
151
139
|
</step_4_verify>
|