architext 0.0.2
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 +63 -0
- package/LICENSE +21 -0
- package/README.md +326 -0
- package/README.zh-CN.md +326 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +46 -0
- package/dist/templates/en/briefs/_base.md +115 -0
- package/dist/templates/en/briefs/_modules.md +173 -0
- package/dist/templates/en/docs/global/data_snapshot.json +31 -0
- package/dist/templates/en/docs/global/design_tokens.json +150 -0
- package/dist/templates/en/docs/global/dictionary.json +35 -0
- package/dist/templates/en/docs/global/error_codes.json +19 -0
- package/dist/templates/en/docs/global/map.json +94 -0
- package/dist/templates/en/docs/global/roadmap.json +39 -0
- package/dist/templates/en/docs/global/vision.md +82 -0
- package/dist/templates/en/docs/prompts/audit.md +150 -0
- package/dist/templates/en/docs/prompts/code.md +160 -0
- package/dist/templates/en/docs/prompts/edit.md +87 -0
- package/dist/templates/en/docs/prompts/fix.md +86 -0
- package/dist/templates/en/docs/prompts/help.md +69 -0
- package/dist/templates/en/docs/prompts/inherit.md +270 -0
- package/dist/templates/en/docs/prompts/map.md +131 -0
- package/dist/templates/en/docs/prompts/plan.md +252 -0
- package/dist/templates/en/docs/prompts/remove.md +162 -0
- package/dist/templates/en/docs/prompts/revise.md +160 -0
- package/dist/templates/en/docs/prompts/scope.md +198 -0
- package/dist/templates/en/docs/prompts/start.md +258 -0
- package/dist/templates/en/docs/templates/plan.template.json +113 -0
- package/dist/templates/en/docs/templates/scope-brief.template.md +58 -0
- package/dist/templates/en/docs/templates/spec.template.md +51 -0
- package/dist/templates/en/docs/templates/ui.template.md +51 -0
- package/dist/templates/en/rules/00_system.md +123 -0
- package/dist/templates/en/rules/01_workflow.md +93 -0
- package/dist/templates/en/rules/02_tech_stack.md +197 -0
- package/dist/templates/en/rules/03_data_governance.md +102 -0
- package/dist/templates/en/rules/04_cli_tools.md +50 -0
- package/dist/templates/en/rules/90_custom_rules.md +22 -0
- package/dist/templates/en/rules/99_context_glue.md +53 -0
- package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +292 -0
- package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +86 -0
- package/dist/templates/en/skills/archi-plan-options/SKILL.md +364 -0
- package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +342 -0
- package/dist/templates/zh/briefs/_base.md +116 -0
- package/dist/templates/zh/briefs/_modules.md +173 -0
- package/dist/templates/zh/docs/global/data_snapshot.json +31 -0
- package/dist/templates/zh/docs/global/design_tokens.json +135 -0
- package/dist/templates/zh/docs/global/dictionary.json +35 -0
- package/dist/templates/zh/docs/global/error_codes.json +19 -0
- package/dist/templates/zh/docs/global/map.json +94 -0
- package/dist/templates/zh/docs/global/roadmap.json +39 -0
- package/dist/templates/zh/docs/global/vision.md +82 -0
- package/dist/templates/zh/docs/prompts/audit.md +150 -0
- package/dist/templates/zh/docs/prompts/code.md +160 -0
- package/dist/templates/zh/docs/prompts/edit.md +87 -0
- package/dist/templates/zh/docs/prompts/fix.md +86 -0
- package/dist/templates/zh/docs/prompts/help.md +69 -0
- package/dist/templates/zh/docs/prompts/inherit.md +270 -0
- package/dist/templates/zh/docs/prompts/map.md +131 -0
- package/dist/templates/zh/docs/prompts/plan.md +253 -0
- package/dist/templates/zh/docs/prompts/remove.md +162 -0
- package/dist/templates/zh/docs/prompts/revise.md +160 -0
- package/dist/templates/zh/docs/prompts/scope.md +198 -0
- package/dist/templates/zh/docs/prompts/start.md +258 -0
- package/dist/templates/zh/docs/templates/plan.template.json +88 -0
- package/dist/templates/zh/docs/templates/scope-brief.template.md +58 -0
- package/dist/templates/zh/docs/templates/spec.template.md +51 -0
- package/dist/templates/zh/docs/templates/ui.template.md +51 -0
- package/dist/templates/zh/rules/00_system.md +123 -0
- package/dist/templates/zh/rules/01_workflow.md +93 -0
- package/dist/templates/zh/rules/02_tech_stack.md +192 -0
- package/dist/templates/zh/rules/03_data_governance.md +102 -0
- package/dist/templates/zh/rules/04_cli_tools.md +50 -0
- package/dist/templates/zh/rules/90_custom_rules.md +21 -0
- package/dist/templates/zh/rules/99_context_glue.md +53 -0
- package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +293 -0
- package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +86 -0
- package/dist/templates/zh/skills/archi-plan-options/SKILL.md +364 -0
- package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +339 -0
- package/dist/templates/zh-Hant/briefs/_base.md +115 -0
- package/dist/templates/zh-Hant/briefs/_modules.md +173 -0
- package/dist/templates/zh-Hant/docs/global/data_snapshot.json +31 -0
- package/dist/templates/zh-Hant/docs/global/design_tokens.json +135 -0
- package/dist/templates/zh-Hant/docs/global/dictionary.json +35 -0
- package/dist/templates/zh-Hant/docs/global/error_codes.json +19 -0
- package/dist/templates/zh-Hant/docs/global/map.json +94 -0
- package/dist/templates/zh-Hant/docs/global/roadmap.json +39 -0
- package/dist/templates/zh-Hant/docs/global/vision.md +82 -0
- package/dist/templates/zh-Hant/docs/prompts/audit.md +150 -0
- package/dist/templates/zh-Hant/docs/prompts/code.md +160 -0
- package/dist/templates/zh-Hant/docs/prompts/edit.md +87 -0
- package/dist/templates/zh-Hant/docs/prompts/fix.md +86 -0
- package/dist/templates/zh-Hant/docs/prompts/help.md +69 -0
- package/dist/templates/zh-Hant/docs/prompts/inherit.md +270 -0
- package/dist/templates/zh-Hant/docs/prompts/map.md +131 -0
- package/dist/templates/zh-Hant/docs/prompts/plan.md +252 -0
- package/dist/templates/zh-Hant/docs/prompts/remove.md +162 -0
- package/dist/templates/zh-Hant/docs/prompts/revise.md +160 -0
- package/dist/templates/zh-Hant/docs/prompts/scope.md +198 -0
- package/dist/templates/zh-Hant/docs/prompts/start.md +258 -0
- package/dist/templates/zh-Hant/docs/templates/plan.template.json +88 -0
- package/dist/templates/zh-Hant/docs/templates/scope-brief.template.md +58 -0
- package/dist/templates/zh-Hant/docs/templates/spec.template.md +51 -0
- package/dist/templates/zh-Hant/docs/templates/ui.template.md +51 -0
- package/dist/templates/zh-Hant/rules/00_system.md +123 -0
- package/dist/templates/zh-Hant/rules/01_workflow.md +93 -0
- package/dist/templates/zh-Hant/rules/02_tech_stack.md +192 -0
- package/dist/templates/zh-Hant/rules/03_data_governance.md +102 -0
- package/dist/templates/zh-Hant/rules/04_cli_tools.md +50 -0
- package/dist/templates/zh-Hant/rules/90_custom_rules.md +21 -0
- package/dist/templates/zh-Hant/rules/99_context_glue.md +53 -0
- package/dist/templates/zh-Hant/skills/archi-decompose-roadmap/SKILL.md +293 -0
- package/dist/templates/zh-Hant/skills/archi-interview-protocol/SKILL.md +86 -0
- package/dist/templates/zh-Hant/skills/archi-plan-options/SKILL.md +364 -0
- package/dist/templates/zh-Hant/skills/archi-ui-wireframe/SKILL.md +337 -0
- package/package.json +85 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
<protocol_revise>
|
|
2
|
+
**Trigger**: `/archi.revise [context]`
|
|
3
|
+
**Goal**: 执行项目级全局变更(技术栈、架构、愿景等),分析影响范围,经用户确认后修改全局资产并级联更新受影响的 Task 文档。
|
|
4
|
+
|
|
5
|
+
<constraints_cursor>
|
|
6
|
+
**Mode Lock**: 本协议须在 **Agent Mode (Normal Mode)** 下执行。禁切换到 Plan Mode 或其他只读模式。
|
|
7
|
+
</constraints_cursor>
|
|
8
|
+
|
|
9
|
+
<meta>
|
|
10
|
+
<style>Strategic, Analytical, Cautious, Traceable</style>
|
|
11
|
+
<language>简体中文</language>
|
|
12
|
+
<principles>
|
|
13
|
+
1. **User Gate**: 全局变更须经用户逐项确认后才执行。禁擅自修改。
|
|
14
|
+
2. **Impact First**: 先输出完整影响分析,后执行修改。
|
|
15
|
+
3. **Doc Cascade**: 全局资产变更后,须按 edit 标准同步更新受影响的 Task 文档。
|
|
16
|
+
4. **Traceability**: 每项变更须可追溯 — 说明变更理由和影响范围。
|
|
17
|
+
</principles>
|
|
18
|
+
</meta>
|
|
19
|
+
|
|
20
|
+
<step_1_load>
|
|
21
|
+
**Role**: 系统分析师
|
|
22
|
+
**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]`,初步定位受影响的全局资产类别。
|
|
34
|
+
|
|
35
|
+
**Output**: 变更意图摘要 — 列出初步判断涉及的全局文件,进入 step_2。
|
|
36
|
+
</step_1_load>
|
|
37
|
+
|
|
38
|
+
<step_2_interview>
|
|
39
|
+
**Role**: 首席架构师
|
|
40
|
+
**Action**:
|
|
41
|
+
根据用户描述和已加载上下文,澄清变更边界:
|
|
42
|
+
|
|
43
|
+
| 澄清维度 | 说明 |
|
|
44
|
+
|:---|:---|
|
|
45
|
+
| 变更范围 | 精确定位哪些全局文件、哪些规则受影响 |
|
|
46
|
+
| 变更动机 | 为什么要做此变更,期望达到什么结果 |
|
|
47
|
+
| 排除清单 | 是否有不应被影响的 Task |
|
|
48
|
+
|
|
49
|
+
- 上下文足够清晰时 → 合并到 step_3 直接输出影响分析。
|
|
50
|
+
- 存在歧义或多种可行方向时 → 向用户提问确认(A/B/C/D 选项)。
|
|
51
|
+
</step_2_interview>
|
|
52
|
+
|
|
53
|
+
<step_3_impact>
|
|
54
|
+
**Role**: 影响分析师
|
|
55
|
+
**Constraint**: **纯输出,禁修改任何文件**。此步骤为「变更影响评估书」。
|
|
56
|
+
|
|
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
|
+
```
|
|
85
|
+
|
|
86
|
+
**Gate**: 等待用户确认。未确认禁进入 step_4。
|
|
87
|
+
</step_3_impact>
|
|
88
|
+
|
|
89
|
+
<step_3_5_refinement>
|
|
90
|
+
**Role**: 咨询顾问
|
|
91
|
+
**Trigger**: 用户回复非 OK,含修正、否决或追加意见。
|
|
92
|
+
**Action**: 不执行修改。融入用户反馈,刷新影响评估书重新输出,等待再次确认。
|
|
93
|
+
</step_3_5_refinement>
|
|
94
|
+
|
|
95
|
+
<step_4_execute>
|
|
96
|
+
**Role**: 执行工程师
|
|
97
|
+
**Action**:
|
|
98
|
+
|
|
99
|
+
**Safety Checkpoint** (执行前须完成):
|
|
100
|
+
1. 检查 Git 工作区状态(建议执行 `git status`)。
|
|
101
|
+
2. 如有未提交变更 → 提示用户先 commit 或 stash,再继续执行。
|
|
102
|
+
3. 工作区干净后,告知用户:如需回滚,可执行 `git checkout -- .` 恢复到变更前状态。
|
|
103
|
+
|
|
104
|
+
**Phase 1 — 修改全局资产**:
|
|
105
|
+
按用户确认的清单修改全局文件。每个文件修改后输出变更摘要。
|
|
106
|
+
|
|
107
|
+
**[?UI] Phase 1.5 — 设计系统变更检查**:
|
|
108
|
+
若 `design_tokens.json` 有以下变更,须在 Phase 2 完成后执行对应操作:
|
|
109
|
+
|
|
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 |
|
|
117
|
+
|
|
118
|
+
> 如上述字段未变动(如仅改 `mode.default`),无需重跑 Phase 2。
|
|
119
|
+
|
|
120
|
+
**Phase 2 — 级联更新 Task 文档**:
|
|
121
|
+
对每个受影响的 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>)`,列出落地任务。
|
|
125
|
+
|
|
126
|
+
**Output**: 每个文件的变更摘要(全局 + Task)。
|
|
127
|
+
</step_4_execute>
|
|
128
|
+
|
|
129
|
+
<step_5_summary>
|
|
130
|
+
**Role**: 审计官
|
|
131
|
+
**Checklist**:
|
|
132
|
+
1. 全局资产间一致性(vision ↔ tech_stack ↔ roadmap ↔ map)。
|
|
133
|
+
2. Task 文档与更新后的全局资产对齐。
|
|
134
|
+
3. 无孤立引用(dictionary/map 中旧术语/路径是否已清理)。
|
|
135
|
+
|
|
136
|
+
**Terminal Gate** (禁止跳过,须在输出总结前全部完成):
|
|
137
|
+
| 步骤 | 命令 | 通过条件 |
|
|
138
|
+
|:---|:---|:---|
|
|
139
|
+
| 1 | `npx archi task --check` | 无 ERROR 级问题 |
|
|
140
|
+
| 2 | `npx archi render` | `.md` 视图生成完成 |
|
|
141
|
+
|
|
142
|
+
**Action** (Gate 通过后):
|
|
143
|
+
1. 输出变更总结。
|
|
144
|
+
|
|
145
|
+
**Output**:
|
|
146
|
+
```
|
|
147
|
+
## Global Revision Summary: [变更主题]
|
|
148
|
+
|
|
149
|
+
**全局资产变更**: [已修改文件列表]
|
|
150
|
+
**Task 更新**: [已更新 Task 列表 + 各自影响摘要]
|
|
151
|
+
**审计结果**: [通过/有风险项]
|
|
152
|
+
|
|
153
|
+
### Next Steps
|
|
154
|
+
| 优先级 | 动作 | 说明 |
|
|
155
|
+
|:---|:---|:---|
|
|
156
|
+
| ... | ... | ... |
|
|
157
|
+
```
|
|
158
|
+
</step_5_summary>
|
|
159
|
+
|
|
160
|
+
</protocol_revise>
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
<protocol_scope>
|
|
2
|
+
**Trigger**: `/archi.scope [file_path]`
|
|
3
|
+
**Phase**: Requirement Decomposition
|
|
4
|
+
**Goal**: 读取 Scope Brief,将大需求分解为多个 Roadmap 任务并建立依赖关系。
|
|
5
|
+
|
|
6
|
+
<meta>
|
|
7
|
+
<style>Strategic, Analytical, Structured</style>
|
|
8
|
+
<language>简体中文</language>
|
|
9
|
+
<principles>
|
|
10
|
+
1. **Brief-Driven**: 以用户提供的 Scope Brief 为核心输入源,禁凭空脑暴任务。
|
|
11
|
+
2. **Incremental**: 在已有 Roadmap 上追加,禁重写已有任务。
|
|
12
|
+
3. **User Agency First**: Brief 中用户已填写的选择须直接采纳,禁质疑或替换。
|
|
13
|
+
4. **Minimal Questions**: 仅针对信息缺口提问,Brief 充分时可跳过提问直接分解。
|
|
14
|
+
5. **Option Z Everywhere**: 补充提问须包含 `[Z] 自定义`。
|
|
15
|
+
</principles>
|
|
16
|
+
</meta>
|
|
17
|
+
|
|
18
|
+
<step_0_ingest>
|
|
19
|
+
**Role**: 情报分析官
|
|
20
|
+
**Action**:
|
|
21
|
+
1. 解析触发命令中的 `[file_path]`:
|
|
22
|
+
- 如提供了路径 → 读取该文件
|
|
23
|
+
- 如未提供路径 → 依次查找 `scope-brief.md`(项目根)、`[[__DOCS_DIR__]]/scope-brief.md`
|
|
24
|
+
- 如均不存在或为空 → 跳转 `<fallback_interview>`
|
|
25
|
+
|
|
26
|
+
2. 解析 Brief 各 Section,提取:
|
|
27
|
+
- 需求名称和描述
|
|
28
|
+
- 任务清单
|
|
29
|
+
- 已有设计决策
|
|
30
|
+
- 边界与约束(不做的事、时间、依赖、技术限制)
|
|
31
|
+
- 受影响的已有任务
|
|
32
|
+
- 参考资料
|
|
33
|
+
|
|
34
|
+
> Brief 是一次性输入文件,处理完成后用户可自行删除。
|
|
35
|
+
|
|
36
|
+
**Output**: 内部摘要(不输出给用户),进入 `<step_1_load>`。
|
|
37
|
+
</step_0_ingest>
|
|
38
|
+
|
|
39
|
+
<step_1_load>
|
|
40
|
+
**Role**: 系统分析师
|
|
41
|
+
**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 概要(标题 + 关键流程,无需全文)。
|
|
47
|
+
|
|
48
|
+
**Output**: 内部上下文摘要,进入 `<step_2_analysis>`。
|
|
49
|
+
</step_1_load>
|
|
50
|
+
|
|
51
|
+
<step_2_analysis>
|
|
52
|
+
**Role**: 首席产品战略官 (CPO)
|
|
53
|
+
**Input**: Step 0 Brief 解析结果 + Step 1 项目上下文。
|
|
54
|
+
|
|
55
|
+
**Action**:
|
|
56
|
+
|
|
57
|
+
1. **Vision 对齐检查**: Brief 需求是否与 vision.md 的北极星指标一致?如有偏离 → 在输出中标注 `[Vision 偏离警告]`。
|
|
58
|
+
2. **任务清单完整性**: Brief 任务清单是否足以支撑需求目标?
|
|
59
|
+
3. **影响评估**: Brief 中"受影响的已有任务" → 对照 roadmap/tasks 验证是否存在、状态如何。
|
|
60
|
+
4. **缺口识别**: 检查 Brief 是否有关键信息缺失。
|
|
61
|
+
5. **联动检查**: 读取 `map.json.featureRelations`,将新任务的描述与各条 `sources` 字段做语义对比,判断新任务是否属于某聚合方的覆盖范围。命中时在摘要中输出联动提示。
|
|
62
|
+
|
|
63
|
+
**缺口分级**:
|
|
64
|
+
- **必须**: 缺失则无法合理分解(如任务清单为空)
|
|
65
|
+
- **可补**: AI 可推导但建议确认(如依赖关系不明确)
|
|
66
|
+
- **建议**: AI 可自行决定(如任务分组方式)
|
|
67
|
+
|
|
68
|
+
**Decision**:
|
|
69
|
+
- 无"必须"级缺口 + 无"可补"级缺口 → 跳过 Step 2.5,直接进入 Step 3
|
|
70
|
+
- 有缺口 → 进入 Step 2.5
|
|
71
|
+
|
|
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
|
+
```
|
|
98
|
+
</step_2_analysis>
|
|
99
|
+
|
|
100
|
+
<step_2_5_supplementary>
|
|
101
|
+
**Role**: 产品顾问
|
|
102
|
+
**Trigger**: 仅当 Step 2 发现"必须"或"可补"级缺口时执行。
|
|
103
|
+
**Input**: Step 2 的缺口列表。问题数上限 3 题。
|
|
104
|
+
|
|
105
|
+
[[SKILL: 按 `archi-interview-protocol` Skill 的核心规则和标准输出格式提问。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-interview-protocol/SKILL.md` 并遵循其规则)]]
|
|
106
|
+
</step_2_5_supplementary>
|
|
107
|
+
|
|
108
|
+
<step_3_decompose>
|
|
109
|
+
**Role**: 首席架构师
|
|
110
|
+
**Input**: Brief 全文 + 项目上下文 + 补充回答(如有)。
|
|
111
|
+
|
|
112
|
+
**Action**: [[SKILL: 按 `archi-decompose-roadmap` Skill 的协议,基于 Scope Brief 任务清单生成增量任务数据]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-decompose-roadmap/SKILL.md` 并遵循其协议执行)]]
|
|
113
|
+
|
|
114
|
+
**展示格式**(将 Skill 产出的任务数据转换为以下格式,向用户呈现后等待确认):
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
#### Phase 1: Infrastructure
|
|
118
|
+
| ID | 标题 | 描述摘要 | 标签 |
|
|
119
|
+
|
|
120
|
+
#### Phase 2: Core Features
|
|
121
|
+
| ID | 标题 | 描述摘要 | 依赖 | 标签 |
|
|
122
|
+
|
|
123
|
+
#### Execution Batches(并行执行批次)
|
|
124
|
+
(从 deps 拓扑排序推导,列出每批可同时开工的任务)
|
|
125
|
+
Batch 1(立即可开工): ...
|
|
126
|
+
Batch 2(等 Batch 1 全完): ...
|
|
127
|
+
|
|
128
|
+
#### NFR 横切关注点(已归并,不入 Roadmap)
|
|
129
|
+
(来自 Skill 的 NFR 归并清单)
|
|
130
|
+
- [NFR 名称] → 注入 [任务 ID] | 影响:[其他任务 ID]
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Gate**: 用户回复 **OK** 后进入 step_4;未确认禁写入 Roadmap。用户可在确认前修正方案(合并/拆分/调整依赖)。
|
|
134
|
+
</step_3_decompose>
|
|
135
|
+
|
|
136
|
+
<step_3_5_refinement>
|
|
137
|
+
**Role**: 咨询顾问
|
|
138
|
+
**Trigger**: 用户回复非 OK,含合并/拆分/增删/依赖调整等修正。
|
|
139
|
+
**Action**: 融入用户反馈,刷新分解方案重新输出,等待再次确认。
|
|
140
|
+
</step_3_5_refinement>
|
|
141
|
+
|
|
142
|
+
<step_4_roadmap_update>
|
|
143
|
+
**Role**: 系统管理员
|
|
144
|
+
**Input**: 用户确认的分解方案。
|
|
145
|
+
|
|
146
|
+
**Action**:
|
|
147
|
+
1. 将新任务追加到 `[[__DOCS_DIR__]]/global/roadmap.json` 对应 Phase 的 `tasks` 数组中。
|
|
148
|
+
2. 如需新增 Phase → 追加到 `phases` 数组。
|
|
149
|
+
3. 更新 `lastUpdated` 字段。
|
|
150
|
+
4. [?新模块] 更新 `[[__DOCS_DIR__]]/global/map.json` 的 `directoryMapping`:为新增任务预注册推断的模块路径(基于 tech_stack 架构模式和任务描述推断,仅目录级别;详细内容在 `/archi.plan` 时完善)。
|
|
151
|
+
|
|
152
|
+
**Terminal Gate** (禁止跳过,须在输出总结前全部完成):
|
|
153
|
+
| 步骤 | 命令 | 通过条件 |
|
|
154
|
+
|:---|:---|:---|
|
|
155
|
+
| 1 | `npx archi task --check` | 无 ERROR 级问题 |
|
|
156
|
+
| 2 | `npx archi render` | `.md` 视图生成完成 |
|
|
157
|
+
|
|
158
|
+
**Output**: 写入确认。
|
|
159
|
+
</step_4_roadmap_update>
|
|
160
|
+
|
|
161
|
+
<step_5_signoff>
|
|
162
|
+
**Action** (Gate 须在 step_4 完成):
|
|
163
|
+
1. 运行 `npx archi task` 输出任务进度概览。
|
|
164
|
+
2. 输出总结。
|
|
165
|
+
|
|
166
|
+
**Output**: 需求分解摘要,含:
|
|
167
|
+
- **Brief 来源确认**: 需求名称和核心目标
|
|
168
|
+
- **新增任务**: 数量和 Phase 分布
|
|
169
|
+
- **对已有任务的影响**: 影响列表(如有)
|
|
170
|
+
- **Next Steps**:
|
|
171
|
+
|
|
172
|
+
| 优先级 | 动作 | 说明 |
|
|
173
|
+
|:---|:---|:---|
|
|
174
|
+
| [?UI] 推荐 | 运行 `archi-ui-wireframe` Skill(追加模式) | 为新增任务追加屏幕到 `ui_concept.html`,同步更新 `ui_context.md` |
|
|
175
|
+
| 1 | `/archi.plan <第一个 pending 任务 ID>` | 对首个可执行任务做深度规划 |
|
|
176
|
+
| 2 | 审查 roadmap | 确认依赖关系和优先级 |
|
|
177
|
+
</step_5_signoff>
|
|
178
|
+
|
|
179
|
+
<fallback_interview>
|
|
180
|
+
**Trigger**: Brief 文件不存在或为空。
|
|
181
|
+
**Role**: 产品顾问
|
|
182
|
+
|
|
183
|
+
**Action**:
|
|
184
|
+
1. 告知用户 `scope-brief.md` 未找到。建议:
|
|
185
|
+
- 运行 `npx archi template scope-brief` 获取模板到项目根目录
|
|
186
|
+
- 填写后重新运行 `/archi.scope scope-brief.md`
|
|
187
|
+
- 或继续对话,通过访谈方式提供信息
|
|
188
|
+
2. 如用户选择继续对话,按以下顺序引导:
|
|
189
|
+
a. 这次要做什么?(需求名称、一句话描述、动机)
|
|
190
|
+
b. 包含哪些任务?(具体任务列表)
|
|
191
|
+
c. 有什么约束?(不做的事、依赖、技术限制)
|
|
192
|
+
d. 会影响哪些已有任务?
|
|
193
|
+
3. 收集完毕后,将信息写入 `scope-brief.md`(项目根目录),然后跳转 `<step_1_load>`。
|
|
194
|
+
|
|
195
|
+
> 此模式为向后兼容,核心流程仍以 Brief 为准。
|
|
196
|
+
</fallback_interview>
|
|
197
|
+
|
|
198
|
+
</protocol_scope>
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
<protocol_kickoff>
|
|
2
|
+
**Trigger**: `/archi.start [file_path]`
|
|
3
|
+
**Phase**: Strategic Initialization
|
|
4
|
+
**Goal**: 基于 Project Brief 建立项目宪法 (Vision/Tech/Roadmap)。
|
|
5
|
+
|
|
6
|
+
<meta>
|
|
7
|
+
<style>Strict, Professional, CLI-Like</style>
|
|
8
|
+
<language>简体中文</language>
|
|
9
|
+
<principles>
|
|
10
|
+
1. **Brief-Driven**: 以用户提供的 Brief 文件为核心输入源,禁凭空脑暴任务。
|
|
11
|
+
2. **AI-Native Perspective**: 所有推荐/补全从 AI Agent 视角撰写。关注:Context Locality、Type Safety、Hallucination Risk、Self-Correction。
|
|
12
|
+
3. **User Agency First**: Brief 中用户已填写的选择须直接采纳,禁质疑或替换。
|
|
13
|
+
4. **Minimal Questions**: 仅针对信息缺口提问,Brief 充分时可跳过提问直接生成。
|
|
14
|
+
5. **Option Z Everywhere**: 补充提问须包含 `[Z] 自定义`。
|
|
15
|
+
</principles>
|
|
16
|
+
</meta>
|
|
17
|
+
|
|
18
|
+
<step_0_ingest>
|
|
19
|
+
**Role**: 情报分析官
|
|
20
|
+
**Action**:
|
|
21
|
+
1. 解析触发命令中的 `[file_path]`:
|
|
22
|
+
- 如提供了路径 → 读取该文件
|
|
23
|
+
- 如未提供路径 → 依次查找 `project-brief.md`(项目根)、`[[__DOCS_DIR__]]/project-brief.md`
|
|
24
|
+
- 如均不存在或为空 → 跳转 `<fallback_interview>`
|
|
25
|
+
|
|
26
|
+
2. **资源可达性检查**(须在解析前完成):
|
|
27
|
+
扫描 Brief 全文,识别所有外部引用(URL、文件路径、图片)。逐一尝试访问,将结果分为三类:
|
|
28
|
+
|
|
29
|
+
| 状态 | 处理 |
|
|
30
|
+
|:---|:---|
|
|
31
|
+
| 可访问 | 读取内容,纳入后续分析 |
|
|
32
|
+
| 不可访问(需认证/404/私有链接) | 标记为 `[不可读]`,后续向用户报告 |
|
|
33
|
+
| 非链接的描述性引用(如"参考 Linear 的交互") | 正常处理,无需访问 |
|
|
34
|
+
|
|
35
|
+
> 此步骤的目的:避免 AI 假装已读取实际未能访问的资源,导致后续产出与用户预期脱节。
|
|
36
|
+
|
|
37
|
+
3. 解析 Brief 各 Section,提取:
|
|
38
|
+
- 项目特征标签 (UI/Data/CLI/Lib/API — 由 Brief 中存在的技术偏好字段和段落推断)
|
|
39
|
+
- 核心任务列表
|
|
40
|
+
- 已有设计决策(用户对特定任务/页面/流程的预定设计)
|
|
41
|
+
- 技术偏好(区分"已确定"与"留空/推荐")
|
|
42
|
+
- 已有资源与上下文
|
|
43
|
+
- 边界与约束
|
|
44
|
+
- 参考项目
|
|
45
|
+
- 补充说明(规则/术语/背景信息)
|
|
46
|
+
|
|
47
|
+
> Brief 是一次性输入文件,处理完成后用户可自行删除。
|
|
48
|
+
|
|
49
|
+
**Output**:
|
|
50
|
+
- 如有不可访问的资源 → **立即向用户输出资源可达性报告**,列出无法读取的链接,请用户提供替代方式(如截图、粘贴内容、文字描述)。等待用户回复后再继续。
|
|
51
|
+
- 如所有资源可达或无外部引用 → 内部摘要(不输出给用户),进入 `<step_1_gap_analysis>`。
|
|
52
|
+
</step_0_ingest>
|
|
53
|
+
|
|
54
|
+
<step_1_gap_analysis>
|
|
55
|
+
**Role**: 首席产品战略官 (CPO)
|
|
56
|
+
**Input**: Step 0 解析结果。
|
|
57
|
+
|
|
58
|
+
**Action**: 逐项检查 Brief 完整性,识别信息缺口。
|
|
59
|
+
|
|
60
|
+
**检查清单**:
|
|
61
|
+
|
|
62
|
+
| 检查项 | 判定标准 | 缺口级别 |
|
|
63
|
+
|:---|:---|:---|
|
|
64
|
+
| 项目身份 | 名称 + 一句话描述 + 问题陈述均已填写 | 必须 |
|
|
65
|
+
| 目标用户 | 至少描述了核心用户角色 | 必须 |
|
|
66
|
+
| 核心任务 | 至少列出 2 个具体任务且每项有描述 | 必须 |
|
|
67
|
+
| 技术栈-核心 | 语言/运行时 + 核心框架已填写(非留空) | 必须 |
|
|
68
|
+
| 技术栈-选填 | 数据库/ORM/CSS方案/部署等留空项 | 可补 |
|
|
69
|
+
| 项目起点 | 全新 or 已有代码(影响架构决策) | 必须 |
|
|
70
|
+
| 已有资源 | 设计稿/品牌/已有API/第三方服务是否明确 | 可补 |
|
|
71
|
+
| 风格调性 | [?UI] 视觉关键词 / [?CLI] 输出风格 / [?API] 文档方案 | 可补 |
|
|
72
|
+
| 边界 | 至少声明了 1 个反目标或硬性约束 | 建议 |
|
|
73
|
+
| 成功指标 | 已填写具体可量化指标 | 建议 |
|
|
74
|
+
| 参考项目 | 至少列出 1 个参照 | 建议 |
|
|
75
|
+
|
|
76
|
+
**缺口分级**:
|
|
77
|
+
- **必须**: 缺失则无法生成产物,须在 Step 2 提问
|
|
78
|
+
- **可补**: AI 可基于上下文推荐,但最好确认
|
|
79
|
+
- **建议**: AI 可自行推导,不阻塞流程
|
|
80
|
+
|
|
81
|
+
**Decision**:
|
|
82
|
+
- 无"必须"级缺口 + 无"可补"级缺口 → 跳过 Step 2,直接进入 Step 3
|
|
83
|
+
- 有缺口 → 进入 Step 2
|
|
84
|
+
|
|
85
|
+
**Output**: 向用户输出 Brief 分析摘要:
|
|
86
|
+
```
|
|
87
|
+
### BRIEF 分析报告
|
|
88
|
+
> **项目**: [名称] | **特征**: [UI/Data/CLI/Lib/API 中已激活的标签]
|
|
89
|
+
|
|
90
|
+
**已确认信息**:
|
|
91
|
+
- [已填写的关键信息列表]
|
|
92
|
+
|
|
93
|
+
**信息缺口** (须补充):
|
|
94
|
+
- [缺口 1]
|
|
95
|
+
- [缺口 2]
|
|
96
|
+
|
|
97
|
+
**AI 将自动补全** (无需操作):
|
|
98
|
+
- [AI 可自行推导的项]
|
|
99
|
+
```
|
|
100
|
+
</step_1_gap_analysis>
|
|
101
|
+
|
|
102
|
+
<step_2_supplementary>
|
|
103
|
+
**Role**: 产品顾问
|
|
104
|
+
**Trigger**: 仅当 Step 1 发现"必须"或"可补"级缺口时执行。
|
|
105
|
+
**Input**: Step 1 的缺口列表。问题数上限 3-6 题。
|
|
106
|
+
|
|
107
|
+
[[SKILL: 按 `archi-interview-protocol` Skill 的核心规则和标准输出格式提问。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-interview-protocol/SKILL.md` 并遵循其规则)]]
|
|
108
|
+
</step_2_supplementary>
|
|
109
|
+
|
|
110
|
+
<step_3_constitution>
|
|
111
|
+
**Role**: 首席架构师
|
|
112
|
+
**Input**: Brief 全文 + Step 2 补充回答(如有)。
|
|
113
|
+
|
|
114
|
+
**Action**: 一次性生成项目宪法文件。Brief 中的所有信息须被消化并路由到对应文件,禁遗漏。
|
|
115
|
+
|
|
116
|
+
### 信息路由规则
|
|
117
|
+
|
|
118
|
+
> 规则文件(`02_tech_stack`、`90_custom_rules` 等)已由 IDE 注入当前上下文,AI 已知其路径,直接写入即可。
|
|
119
|
+
|
|
120
|
+
| Brief 内容 | 目标文件 |
|
|
121
|
+
|:---|:---|
|
|
122
|
+
| 项目身份、目标用户、成功指标、参考灵感 | `[[__DOCS_DIR__]]/global/vision.md` |
|
|
123
|
+
| 技术栈、部署目标、第三方库/服务 | 规则文件 `02_tech_stack` |
|
|
124
|
+
| 风格调性(UI/CLI/API)— 审美方向/信息密度/动效偏好 | 规则文件 `02_tech_stack` (UI Protocol) + `design_tokens.json` aestheticDirection + motion.preference + illustration |
|
|
125
|
+
| [?UI] **审美方向** (saas-dark/saas-light/dashboard/marketing/mobile-app/editorial/brutalist/custom) | `design_tokens.json` `aestheticDirection.preset` + `aestheticDirection.customDescription` |
|
|
126
|
+
| [?UI] **视觉参考**(品牌色板/字体/图标库/竞品截图/禁用风格) | `design_tokens.json` primitivePalette.brand + illustration + motion; 截图/URL 存入 `vision.md` Visual Reference |
|
|
127
|
+
| 核心任务列表 | `[[__DOCS_DIR__]]/global/roadmap.json` |
|
|
128
|
+
| **已有设计决策** | Roadmap 对应任务的 `goal` 字段中注入,并在 `/archi.plan` 时作为硬约束 |
|
|
129
|
+
| 边界与反目标 | `[[__DOCS_DIR__]]/global/vision.md` Boundaries |
|
|
130
|
+
| 已有资源(设计稿/品牌/已有API) | `[[__DOCS_DIR__]]/global/vision.md` + 规则文件 `02_tech_stack` 按内容归属 |
|
|
131
|
+
| 补充说明中的**规则/约定/偏好** | 规则文件 `90_custom_rules` |
|
|
132
|
+
| 补充说明中的**领域术语** | `[[__DOCS_DIR__]]/global/dictionary.json` |
|
|
133
|
+
| 补充说明中的**其他背景信息** | `[[__DOCS_DIR__]]/global/vision.md` Context |
|
|
134
|
+
|
|
135
|
+
> 关键: 用户在"补充说明"中写的任何规则性内容(如"代码注释用英文"、"禁止使用 any")须写入规则文件 `90_custom_rules`,而非丢弃。
|
|
136
|
+
|
|
137
|
+
### 3.1 Vision (`[[__DOCS_DIR__]]/global/vision.md`)
|
|
138
|
+
- 从 Brief 项目概述填充 Core Vision 和 Target Audience
|
|
139
|
+
- 从 Brief 边界与约束填充 Boundaries
|
|
140
|
+
- 从 Brief 风格调性(如有)填充 Design & Experience
|
|
141
|
+
- 从 Brief 参考与灵感推导 Product Principles
|
|
142
|
+
- 从 Brief 已有资源、补充说明提取背景上下文
|
|
143
|
+
- 须填满所有 `[ ]` 占位符,禁保留模板示例文字
|
|
144
|
+
|
|
145
|
+
### 3.2 Tech Stack (规则文件 `02_tech_stack`)
|
|
146
|
+
- Brief 中已确定的技术选择 → 直接写入
|
|
147
|
+
- Brief 中留空/写"推荐"的 → AI 基于项目特征推荐,须在输出中标注 `(AI 推荐)` 并简述理由
|
|
148
|
+
- Brief 中已有的第三方服务/API → 写入对应 Section
|
|
149
|
+
- **AX Optimization**: 推荐时优先 AI 友好型技术 (Static Typing, Popular Frameworks, Convention-over-Configuration)
|
|
150
|
+
- 须填充完整的 Section 1-9(Global Mandates、Technology Selection、Coding Standards、UI Protocol[?UI]、Testing、Deployment、Architecture、Anti-Patterns、**Project Conventions**)
|
|
151
|
+
- `Section 5 Testing` 中的 Environment Scripts 定义须完整
|
|
152
|
+
- **Section 9 Project Conventions**: 基于 Brief 和项目特征确立全局架构约定,`/archi.plan` 将自动继承这些约定而非逐任务重复提问:
|
|
153
|
+
- **Error Handling**: 根据项目类型推断 — [?UI] Fail Fast + Form Validation; [?CLI] Fail Fast (stderr); [?API] Schema Validation + Fail Fast; 多选时空格分隔
|
|
154
|
+
- [?UI] **Data Flow**: 根据实时性需求 — 无实时需求 → Standard Request (+ SWR/React Query if applicable); Brief 提及实时/协作 → Realtime
|
|
155
|
+
- [?Web/API] **Auth & Access**: 根据 Brief 用户角色 — 单角色 → Authenticated; 多角色 → RBAC; 无权限描述 → 留空待 Plan 阶段逐任务确认
|
|
156
|
+
- 每项须填写 Strategy/Default + Rationale(理由须结合此项目的具体场景)
|
|
157
|
+
|
|
158
|
+
### 3.3 Custom Rules (规则文件 `90_custom_rules`)
|
|
159
|
+
- 从 Brief 补充说明中提取规则性内容写入
|
|
160
|
+
- 从 Brief 技术红线转化为具体禁止规则
|
|
161
|
+
- 如用户未提供任何自定义规则,保持模板默认内容
|
|
162
|
+
|
|
163
|
+
### 3.4 Roadmap (`[[__DOCS_DIR__]]/global/roadmap.json`)
|
|
164
|
+
[[SKILL: 按 `archi-decompose-roadmap` Skill 的协议,基于 Brief 任务列表生成任务链,写入 roadmap.json]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-decompose-roadmap/SKILL.md` 并遵循其协议执行)]],生成后直接进入下一步,无需用户确认。
|
|
165
|
+
|
|
166
|
+
### 3.5 其他全局文档 (按需)
|
|
167
|
+
- `dictionary.json`: 从 Brief 提取领域术语
|
|
168
|
+
- [?Data] `data_snapshot.json`: 基于 Brief 中的数据描述,初始化核心实体骨架(实体名 + 主键字段);无数据描述时写入空模板
|
|
169
|
+
- [?UI] `design_tokens.json`: 基于 Brief「风格与调性」和「视觉参考」填充:
|
|
170
|
+
- `aestheticDirection.preset`: 从 Brief 审美方向字段填入;Brief 未填时基于项目特征推断(Web SaaS 默认 saas-light,Dashboard 默认 dashboard 等)
|
|
171
|
+
- `aestheticDirection.customDescription`: 仅 custom 时填入用户描述
|
|
172
|
+
- `primitivePalette.brand`: 从品牌色板提取 Hex 值;无则留空
|
|
173
|
+
- `mode`: 从审美方向推断 default + support 数组(saas-dark → default:"dark",saas-light → default:"light" 等)
|
|
174
|
+
- `motion.preference` / `motion.patterns`: 从动效偏好填写 (subtle / rich / none);rich 时扩充 patterns
|
|
175
|
+
- `illustration.style` / `illustration.iconLibrary`: 从图示风格和图标库填写
|
|
176
|
+
- `semanticTokens.colors`: 如有品牌色则以 Brand-600/Brand-500 等 key 填充 Primary
|
|
177
|
+
- `error_codes.json`: 基于任务列表预定义核心错误码
|
|
178
|
+
|
|
179
|
+
### 3.6 Map (`[[__DOCS_DIR__]]/global/map.json`)
|
|
180
|
+
- `directoryMapping`: 基于 tech_stack 中声明的架构模式,预注册核心目录骨架
|
|
181
|
+
(如 `src/commands/`, `src/core/`, `src/utils/` 等);各目录附一句话用途说明
|
|
182
|
+
- `logicalTopology`: 暂为空数组,待 `/archi.plan` 时按需补充
|
|
183
|
+
- `criticalUserJourneys`: 暂为空数组
|
|
184
|
+
- `featureRelations`: 暂为空数组
|
|
185
|
+
|
|
186
|
+
**Output**: 写入所有文件,然后运行 `npx archi render` 生成可视化 `.md`。
|
|
187
|
+
</step_3_constitution>
|
|
188
|
+
|
|
189
|
+
<step_4_audit>
|
|
190
|
+
**Role**: 首席审计官
|
|
191
|
+
**Checklist**:
|
|
192
|
+
1. **Vision 完整性**: `vision.md` 含北极星指标和设计哲学?
|
|
193
|
+
2. **Tech Stack 一致性**: 规则文件 `02_tech_stack` 与 Brief 技术偏好一致?含完整技术栈声明?
|
|
194
|
+
3. **Custom Rules**: Brief 补充说明/技术红线中的规则是否已写入规则文件 `90_custom_rules`?
|
|
195
|
+
4. **Roadmap 合规**: 运行 `npx archi task --check` 验证一致性。
|
|
196
|
+
5. [?UI] **Design Tokens**: `design_tokens.json` 含基础颜色/字体/间距定义?
|
|
197
|
+
6. **Brief 对齐**: 所有 Brief 中声明的核心任务均已映射到 Roadmap 任务?
|
|
198
|
+
7. **信息零遗漏**: Brief 中所有用户填写的内容均已路由到对应文件?
|
|
199
|
+
|
|
200
|
+
如有问题则静默修正;严重问题标记 `Risk Warning`。
|
|
201
|
+
</step_4_audit>
|
|
202
|
+
|
|
203
|
+
<step_4_5_ui_wireframe>
|
|
204
|
+
**Trigger**: 仅当项目特征含 [?UI] 时执行。
|
|
205
|
+
**Action**: 自动调用 `archi-ui-wireframe` Skill(Phase 1 线框图)。
|
|
206
|
+
- 无需用户确认即开始生成
|
|
207
|
+
- 读取刚写入的 vision.md + roadmap.json + design_tokens.json + 02_tech_stack
|
|
208
|
+
- 写入 `ui_concept.html` + `ui_context.md`
|
|
209
|
+
- 输出 Phase 1 线框图摘要,等待用户确认后再进入 Phase 2 着色
|
|
210
|
+
|
|
211
|
+
> 此步骤将 UI 线框图生成从"建议的下一步"变为"start 自动完成",减少用户手动操作。
|
|
212
|
+
</step_4_5_ui_wireframe>
|
|
213
|
+
|
|
214
|
+
<step_5_signoff>
|
|
215
|
+
**Terminal Gate** (禁止跳过,须在输出总结前全部完成):
|
|
216
|
+
| 步骤 | 命令 | 通过条件 |
|
|
217
|
+
|:---|:---|:---|
|
|
218
|
+
| 1 | `npx archi task --check` | 无 ERROR 级问题 |
|
|
219
|
+
| 2 | `npx archi render` | `.md` 视图生成完成 |
|
|
220
|
+
|
|
221
|
+
**Action** (Gate 通过后):
|
|
222
|
+
1. 运行 `npx archi task` 输出任务进度概览。
|
|
223
|
+
2. 输出总结。
|
|
224
|
+
|
|
225
|
+
**Output**: 项目初始化摘要,含:
|
|
226
|
+
- **Brief 来源确认**: 列出从 Brief 中采纳的关键决策
|
|
227
|
+
- **AI 补全项**: 列出 AI 自动推荐的技术/决策及理由
|
|
228
|
+
- **Roadmap 概览**: 任务数量和阶段分布
|
|
229
|
+
- **Next Steps 表格**:
|
|
230
|
+
|
|
231
|
+
| 优先级 | 行动 | 说明 |
|
|
232
|
+
|:---|:---|:---|
|
|
233
|
+
| [?UI] 推荐 | 回复 **OK** 进入 Phase 2 着色 | Phase 1 线框图已自动生成;确认布局后着色 |
|
|
234
|
+
| 推荐 | `/archi.plan INF-01` | 规划第一个基础设施任务 |
|
|
235
|
+
| 可选 | `/archi.scope <scope-brief.md>` | 如有更多需求待分解,追加到 Roadmap |
|
|
236
|
+
</step_5_signoff>
|
|
237
|
+
|
|
238
|
+
<fallback_interview>
|
|
239
|
+
**Trigger**: Brief 文件不存在或为空。
|
|
240
|
+
**Role**: 产品顾问
|
|
241
|
+
|
|
242
|
+
**Action**:
|
|
243
|
+
1. 告知用户 `project-brief.md` 未找到。建议:
|
|
244
|
+
- 检查项目根目录是否有该文件(`npx archi init` 时应已生成)
|
|
245
|
+
- 如文件丢失,可重新运行 `npx archi init` 覆盖生成
|
|
246
|
+
- 或继续对话,通过访谈方式提供信息
|
|
247
|
+
2. 如用户选择继续对话,按以下顺序引导:
|
|
248
|
+
a. 项目是什么?(名称、一句话描述、解决什么问题)
|
|
249
|
+
b. 给谁用?(目标用户)
|
|
250
|
+
c. 核心任务有哪些?(至少 2-3 个)
|
|
251
|
+
d. 用什么技术?(语言/框架,已确定的部分)
|
|
252
|
+
e. 有什么约束?(不做的事、时间、兼容性要求)
|
|
253
|
+
3. 收集完毕后,将信息写入 `project-brief.md`(项目根目录),然后跳转 `<step_1_gap_analysis>`。
|
|
254
|
+
|
|
255
|
+
> 此模式为向后兼容,核心流程仍以 Brief 为准。
|
|
256
|
+
</fallback_interview>
|
|
257
|
+
|
|
258
|
+
</protocol_kickoff>
|