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
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## 项目概述
8
8
 
9
- **项目名称**:
9
+ **项目名称**:
10
10
  **一句话描述**: [项目是什么、为谁服务、解决什么问题]
11
11
  **问题陈述**: [目标用户遇到的核心痛点?现有方案哪里不足?]
12
12
 
@@ -20,12 +20,27 @@
20
20
 
21
21
  ## 核心任务
22
22
 
23
- > MVP 必须实现的任务(建议 3-7 个),每项一句话描述预期行为。
23
+ > 必须实现的任务,每项一段话描述预期行为。
24
24
  > 详细 Spec 在 `/archi.plan` 阶段定义,此处只需明确"做什么"。
25
25
 
26
- 1.
27
- 2.
28
- 3.
26
+ 1.
27
+ 2.
28
+ 3.
29
+
30
+ ---
31
+
32
+ ## 业务流程
33
+
34
+ > 如果你的项目有明确的用户旅程或核心工作流,在此描述。
35
+ > 不需要画图——用文字描述步骤即可,AI 会据此理解系统行为。
36
+ > 没有的话留空,AI 会从核心任务中推导。
37
+
38
+ <!-- 写法参考:
39
+ ### [流程名称]
40
+ 1. 用户 [动作] → 系统 [响应]
41
+ 2. 用户 [动作] → 系统 [响应]
42
+ 3. ...
43
+ -->
29
44
 
30
45
  ---
31
46
 
@@ -36,7 +51,7 @@
36
51
  >
37
52
  > 写法参考:
38
53
  > - **[任务/页面名]**: 描述具体行为、流程、约束
39
- > - 可附截图/草图链接
54
+ > - 可附截图/草图(见下方"设计资产")
40
55
 
41
56
  ---
42
57
 
@@ -44,8 +59,8 @@
44
59
 
45
60
  > 已确定的直接填写。不确定的留空或写"推荐",AI 会基于项目特征推荐。
46
61
 
47
- **项目类型**: [[__PROJECT_TYPE__]]
48
- <!-- archi init 自动填入;手动填写时参考 templates/archi-decompose-roadmap SKILL 中的类型表 -->
62
+ **项目特征**: [[__PROJECT_TYPE__]]
63
+ <!-- archi init 自动填入(逗号分隔的特征标签);手动填写时从 ui/data/api/cli/lib/mobile/desktop/miniapp/extension/realtime/ai 中选择 -->
49
64
  **语言/运行时**: [例:TypeScript + Node.js 22]
50
65
  **核心框架**: [例:Next.js 15 / Fastify / Tauri]
51
66
  **包管理器**: [例:pnpm / npm / yarn / cargo]
@@ -62,7 +77,7 @@
62
77
 
63
78
  ## 工程规范
64
79
 
65
- > 团队已有的工程约定。不确定的留空,AI 会基于技术栈推荐合理默认值。
80
+ > 已有的工程约定。不确定的留空,AI 会基于技术栈推荐合理默认值。
66
81
 
67
82
  **仓库形态**: [Monorepo (Turborepo/Nx/pnpm workspaces) / 单体仓库]
68
83
  **架构模式**: [例:MFA / FSD / Clean Architecture / 分层架构 / 无偏好(AI 推荐)]
@@ -78,14 +93,33 @@
78
93
  > AI 需要知道哪些东西已经存在——避免重复造轮子或做出冲突决策。
79
94
 
80
95
  **项目起点**: [全新项目 / 基于已有代码库(简述现状和技术债)]
81
- **设计资产**: [Figma 链接 / 设计稿截图 / 无(AI 自行设计)]
82
- **品牌规范**: [已有 Logo/配色/字体 → 描述或附链接 / 无]
83
96
  **已有 API/后端**: [接口文档链接 / 简述可用端点 / 无(需从零搭建)]
84
97
  **第三方服务**: [已确定使用的服务,例:Auth0, Stripe, AWS S3, Resend...]
85
98
  **现有数据**: [已有数据库/数据源?格式?需要迁移?/ 无]
86
99
 
87
100
  ---
88
101
 
102
+ ## 设计资产
103
+
104
+ > 为 AI 提供视觉/设计输入,直接影响项目的 UI 和架构决策质量。
105
+ > 两种方式提供文件:
106
+ > 1. **本地文件**: 将文件放入 `brief-assets/` 目录,按下方格式引用
107
+ > 2. **外部链接**: 直接填写 URL
108
+ >
109
+ > 引用格式: `- [语义标签] ./brief-assets/文件名`
110
+ >
111
+ > 写法参考:
112
+ > - [竞品参考-首页] ./brief-assets/linear-dashboard.png
113
+ > - [我的草图] ./brief-assets/sketch-v1.png
114
+ > - [品牌色板] ./brief-assets/brand-colors.pdf
115
+ > - [API 文档] ./brief-assets/api-spec.yaml
116
+ > - [数据库 Schema] ./brief-assets/schema.sql
117
+
118
+ **设计稿/截图**: [按上方格式引用本地文件 / Figma 链接 / 无(AI 自行设计)]
119
+ **品牌规范**: [已有 Logo/配色/字体 → 引用文件或描述 / 无]
120
+
121
+ ---
122
+
89
123
  <!-- @slot:style -->
90
124
 
91
125
  ## 边界与约束
@@ -94,7 +128,6 @@
94
128
  - [例:本期不做国际化 / 不做移动端适配 / 不做付费功能]
95
129
 
96
130
  **硬性约束**:
97
- - **时间**: [例:4 周 MVP / 无硬性 deadline]
98
131
  - **兼容性**: [例:Chrome 90+ / Node 18+ / iOS 15+]
99
132
  - **性能**: [例:首屏 < 2s / API P99 < 500ms / 无特殊要求]
100
133
  - **合规/无障碍**: [例:WCAG 2.1 AA / GDPR / 无]
@@ -112,5 +145,4 @@
112
145
 
113
146
  ## 补充说明
114
147
 
115
- > 任何上述未涵盖的信息:背景故事、特殊需求、已有决策的原因、团队技术偏好等。
116
-
148
+ > 任何上述未涵盖的信息:背景故事、特殊需求、已有决策的原因等。
@@ -5,10 +5,37 @@
5
5
  <!-- @tech:data -->
6
6
  **数据库**: [例:PostgreSQL / MongoDB / SQLite]
7
7
  **ORM / Query Builder**: [例:Prisma / Drizzle / TypeORM]
8
+
9
+ ### 数据模型草案
10
+
11
+ > 如果你已经知道核心数据实体和关系,在此描述。不需要写完整 Schema——列出实体名和关键字段即可。
12
+ > AI 会在 `/archi.plan` 阶段据此生成详细的数据模型,此处只需明确"有什么数据"。
13
+ > 没有的话留空,AI 会从核心任务中推导。
14
+
15
+ <!-- 写法参考:
16
+ - **用户 (User)**: email, name, role (admin/user), avatar
17
+ - **文章 (Post)**: title, content, status (draft/published), author → User
18
+ - **评论 (Comment)**: body, author → User, post → Post
19
+ - User 1:N Post, Post 1:N Comment
20
+ -->
21
+
8
22
  <!-- @end -->
9
23
 
10
24
  <!-- @tech:api -->
11
25
  **API 风格**: [例:RESTful / GraphQL / gRPC / tRPC]
26
+
27
+ ### 已有 API 端点
28
+
29
+ > 如果已有后端 API(自建或第三方),在此列出核心端点。也可将完整文档放入 `brief-assets/`。
30
+ > 没有的话留空。
31
+
32
+ <!-- 写法参考:
33
+ - `POST /auth/login` → 返回 JWT token
34
+ - `GET /users/:id` → 用户详情
35
+ - `POST /posts` → 创建文章(需认证)
36
+ - 完整文档: [API 文档] ./brief-assets/api-spec.yaml
37
+ -->
38
+
12
39
  <!-- @end -->
13
40
 
14
41
  <!-- @tech:cli -->
@@ -116,7 +143,7 @@
116
143
  **实时传输方案**: [例:Socket.io / 原生 WebSocket / SSE / WebRTC]
117
144
  **实时框架/托管**: [例:Ably / Pusher / Liveblocks / 自建]
118
145
  **房间/频道模型**: [例:按用户 ID 订阅 / 按文档 ID 房间 / 广播]
119
- **[?CRDT] 协作冲突解决**: [例:Yjs / Automerge / 不需要(仅广播)]
146
+ **(仅CRDT项目) 协作冲突解决**: [例:Yjs / Automerge / 不需要(仅广播)]
120
147
  **离线支持**: [例:离线队列 + 重连同步 / 不需要]
121
148
  <!-- @end -->
122
149
 
@@ -125,7 +152,7 @@
125
152
  **AI 框架**: [例:Vercel AI SDK / LangChain / LlamaIndex / 无框架直调 API]
126
153
  **Tool/Function Calling**: [例:需要(列出工具名称)/ 不需要]
127
154
  **Memory 方案**: [例:向量数据库(pgvector/Pinecone)/ 滑动窗口历史 / 无]
128
- **[?MCP] MCP 协议**: [例:@modelcontextprotocol/sdk / 不需要]
155
+ **(仅MCP项目) MCP 协议**: [例:@modelcontextprotocol/sdk / 不需要]
129
156
  **流式输出**: [例:SSE 流式 / 批量返回]
130
157
  <!-- @end -->
131
158
 
@@ -0,0 +1,24 @@
1
+ {
2
+ "endpoints": [
3
+ {
4
+ "method": "[GET | POST | PUT | DELETE | PATCH]",
5
+ "path": "[/resource/:id]",
6
+ "description": "[一句话描述端点职责]",
7
+ "auth": "[required | public | optional]",
8
+ "requestBody": "[schema 描述或 N/A]",
9
+ "responses": {
10
+ "200": "[成功响应结构描述]",
11
+ "[4xx]": "[ref: error_codes.json#ERR_CODE]"
12
+ },
13
+ "owner": "[FEAT-xxx | INF-xxx]"
14
+ }
15
+ ],
16
+ "protocolMapping": [
17
+ {
18
+ "statusCode": "[400 | 401 | 403 | 404 | 500 | ...]",
19
+ "code": "[ERR_CODE]",
20
+ "meaning": "[含义]",
21
+ "action": "[调用方行为: Toast / Redirect / Retry / ...]"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "commands": [
3
+ {
4
+ "name": "[command-name]",
5
+ "aliases": ["[alias]"],
6
+ "description": "[一句话描述命令职责]",
7
+ "args": [
8
+ {
9
+ "name": "[arg-name]",
10
+ "required": true,
11
+ "description": "[参数说明]"
12
+ }
13
+ ],
14
+ "flags": [
15
+ {
16
+ "name": "--[flag-name]",
17
+ "short": "-[f]",
18
+ "type": "[string | boolean | number]",
19
+ "default": "[默认值或 null]",
20
+ "description": "[标志说明]"
21
+ }
22
+ ],
23
+ "owner": "[FEAT-xxx | INF-xxx]"
24
+ }
25
+ ]
26
+ }
@@ -1,5 +1,4 @@
1
1
  {
2
- "scope": "[?Data]",
3
2
  "models": [
4
3
  {
5
4
  "name": "[ModelName]",
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "_comment": "由 /archi.start 基于 Brief「风格与调性」和「视觉参考」生成。所有值须从 Brief 推导,禁直接复用任何模板默认值。",
3
- "scope": "[?UI]",
4
3
  "status": "drafting",
5
4
 
6
5
  "aestheticDirection": {
@@ -25,7 +25,7 @@
25
25
  "replaces": "[替代的原始 API, 如 console.log]"
26
26
  }
27
27
  ],
28
- "components [?UI]": [
28
+ "components(仅ui项目)": [
29
29
  {
30
30
  "name": "[组件名]",
31
31
  "path": "[文件路径]",
@@ -0,0 +1,12 @@
1
+ {
2
+ "variables": [
3
+ {
4
+ "name": "[ENV_VAR_NAME]",
5
+ "required": true,
6
+ "default": null,
7
+ "description": "[用途说明]",
8
+ "example": "[示例值]",
9
+ "owner": "[FEAT-xxx | INF-xxx]"
10
+ }
11
+ ]
12
+ }
@@ -1,12 +1,4 @@
1
1
  {
2
- "protocolMapping [?API]": [
3
- {
4
- "statusCode": "[400 | EXIT_1 | ...]",
5
- "code": "[ERR_VALIDATION]",
6
- "meaning": "[含义]",
7
- "action": "[调用方行为: Toast / Exit / Retry / ...]"
8
- }
9
- ],
10
2
  "businessErrors": [
11
3
  {
12
4
  "module": "[MODULE]",
@@ -55,18 +55,38 @@
55
55
  },
56
56
  {
57
57
  "file": "design_tokens.json",
58
- "role": "Visuals [?UI]",
58
+ "role": "Visuals (仅ui项目)",
59
59
  "content": "颜色、字体、间距变量"
60
60
  },
61
61
  {
62
62
  "file": "data_snapshot.json",
63
- "role": "Data [?Data]",
63
+ "role": "Data (仅data项目)",
64
64
  "content": "数据库 Schema 镜像"
65
65
  },
66
66
  {
67
67
  "file": "error_codes.json",
68
68
  "role": "Errors",
69
- "content": "错误码与协议契约"
69
+ "content": "业务错误码注册表"
70
+ },
71
+ {
72
+ "file": "api_snapshot.json",
73
+ "role": "API (仅api项目)",
74
+ "content": "HTTP 端点注册表与协议映射"
75
+ },
76
+ {
77
+ "file": "env_registry.json",
78
+ "role": "Env (仅api项目)",
79
+ "content": "运行时环境变量清单"
80
+ },
81
+ {
82
+ "file": "command_api.json",
83
+ "role": "Commands (仅cli项目)",
84
+ "content": "CLI 命令签名注册表"
85
+ },
86
+ {
87
+ "file": "public_api.json",
88
+ "role": "Exports (仅lib项目)",
89
+ "content": "库 / SDK 公共导出 API 注册表"
70
90
  }
71
91
  ]
72
92
  },
@@ -81,6 +101,11 @@
81
101
  "category": "UI/UX",
82
102
  "purpose": "任务级 UI 范围声明 — 引用 ui_context.md 中的屏幕 ID,指定本任务涵盖的屏幕/组件范围"
83
103
  },
104
+ {
105
+ "file": "design.md",
106
+ "category": "Technical Design",
107
+ "purpose": "仅Complex任务: 技术方案设计 — 核心机制的状态机/流水线/协议定义、参数表与不变量"
108
+ },
84
109
  {
85
110
  "file": "plan.json",
86
111
  "category": "Plan",
@@ -0,0 +1,12 @@
1
+ {
2
+ "exports": [
3
+ {
4
+ "name": "[exportName]",
5
+ "type": "[function | class | type | constant | enum]",
6
+ "signature": "[TypeScript 签名]",
7
+ "description": "[一句话描述导出项职责]",
8
+ "stability": "[stable | experimental | deprecated]",
9
+ "owner": "[FEAT-xxx | INF-xxx]"
10
+ }
11
+ ]
12
+ }
@@ -40,7 +40,7 @@ description: Project Constitution: Vision, Personas, Principles & Boundaries.
40
40
 
41
41
  ---
42
42
 
43
- ## 4. Design & Experience (设计与体验语言) [?UI]
43
+ ## 4. Design & Experience (设计与体验语言) (仅ui项目)
44
44
 
45
45
  > **Note:** 本节仅适用于有 UI 的项目。具体色值和圆角定义请严格参阅 `[[__DOCS_DIR__]]/global/design_tokens.json`。
46
46
 
@@ -1,5 +1,5 @@
1
1
  <protocol_audit>
2
- **Trigger**: `/archi.audit [id]`
2
+ **Trigger**: `/archi.audit [id]` | 自然语言触发时由 Workflow Dispatch 自动加载
3
3
  **Goal**: 独立深度代码审查。带 `<id>` 审查该任务的代码实现;无 `<id>` 执行项目级体检。不修改代码,仅输出审查报告与修复工单。
4
4
 
5
5
  <meta>
@@ -10,52 +10,40 @@
10
10
  2. **Evidence-Based**: 每个发现须附文件路径、行号、代码片段。
11
11
  3. **Actionable Output**: 每个问题须附推荐修复命令(`/archi.fix`, `/archi.edit` 等)。
12
12
  4. **Vision Anchored**: 始终以 `vision.md` 为方向基准,检测偏离。
13
- 5. **Report Persistence**: 审查结果须写入文件 — 任务级 → `tasks/<id>_*/audit.md`(覆盖),项目级 → `audits/YYYY-MM-DD.md`(按日期存档,同日覆盖)。
13
+ 5. **Report Persistence**: 审查结果须写入文件 — 任务级 → `tasks/<id>_*/audit.md`(覆盖),项目级 → `audits/YYYY-MM-DD.md`(按日期存档)。
14
+ 6. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
14
15
  </principles>
15
16
  </meta>
16
17
 
17
18
  <step_1_resolve>
18
- **Role**: 系统分析师
19
19
  **Mode Gate**:
20
20
 
21
21
  | 输入 | 模式 | 后续步骤 |
22
22
  |:---|:---|:---|
23
- | `/archi.audit <id>` | 任务级深度审查 | step_2_task → step_3_report |
24
- | `/archi.audit` | 项目级体检 | step_2_project → step_3_report |
23
+ | `/archi.audit <id>` | 任务级深度审查 | step_2a_task → step_3_report |
24
+ | `/archi.audit` | 项目级体检 | step_2b_project → step_3_report |
25
25
 
26
26
  **任务级 — Resolve ID**:
27
- 1. 从 `[[__DOCS_DIR__]]/global/roadmap.json` 解析 `<id>` → Task Name、Slug、状态。
27
+ 1. 从 roadmap.json 解析 `<id>` → Task Name、Slug、状态。
28
28
  2. **Status Gate** — 仅 `active` 或 `done` 可审查:
29
29
 
30
30
  | 状态 | 处理 |
31
31
  |:---|:---|
32
32
  | `active` / `done` | 通过 |
33
- | `pending` | 拒绝 — 无代码可审查,先运行 `/archi.plan` + `/archi.code` |
33
+ | `pending` | 拒绝 — 无代码可审查 |
34
34
  | `blocked` | 拒绝 — 前置依赖未完成 |
35
35
 
36
- 3. **Load Context**:
37
- - `[[__DOCS_DIR__]]/global/vision.md` — 项目方向基准
38
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/spec.md` — 功能逻辑
39
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/plan.json` — 任务清单
40
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/ui.md` — 任务 UI 范围声明(如存在)
41
- - [?UI] `[[__DOCS_DIR__]]/global/ui_context.md` — AI 屏幕索引(定位对应屏幕 ID)
42
- - [?UI] `[[__DOCS_DIR__]]/global/ui_concept.html` — 只读视觉参考(#10 合规对比的视觉标准源)
43
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/audit.md` — 上次审计报告(如存在,用于对比)
44
- - `02_tech_stack.md` — 技术红线
45
- - [?UI] `[[__DOCS_DIR__]]/global/design_tokens.json`
46
- - [?Data] `[[__DOCS_DIR__]]/global/data_snapshot.json`
47
- 4. 读取该任务对应的所有代码文件。
36
+ 3. **Load**: vision.md(方向基准)+ task docs (spec/plan/ui) + 前次 audit.md(对比用)+ project context (tech_stack/design_tokens/data_snapshot/ui_context/ui_concept)。读取该任务对应的所有代码文件。
48
37
 
49
38
  **项目级 — Load Overview**:
50
- 1. 读取 `[[__DOCS_DIR__]]/global/vision.md`、`roadmap.json`、`map.json`。
51
- 2. 读取 `02_tech_stack.md`。
52
- 3. 扫描 `[[__DOCS_DIR__]]/tasks/` 目录结构。
53
- 4. 读取项目代码入口文件与关键模块。
39
+ 1. 读取 vision.mdroadmap.jsonmap.json、02_tech_stack.md。
40
+ 2. 扫描 tasks/ 目录结构。
41
+ 3. 读取项目代码入口文件与关键模块。
54
42
 
55
- **Output**: 审查范围与上下文清单。
43
+ **Output**: 审查范围与上下文清单。进入 step_2a_task 或 step_2b_project。
56
44
  </step_1_resolve>
57
45
 
58
- <step_2_task>
46
+ <step_2a_task>
59
47
  **Role**: 首席审计官
60
48
  **Scope**: 任务级深度代码审查(仅 `/archi.audit <id>` 时执行)。
61
49
 
@@ -72,17 +60,17 @@
72
60
  | 7 | **Tech Stack 合规** | 对照 `02_tech_stack.md`:违禁模式、过时 API、硬编码 |
73
61
  | 8 | **安全性** | 敏感信息泄露、输入未校验、注入风险、权限检查 |
74
62
  | 9 | **性能** | 不必要全量导入/大循环/无用计算/内存泄漏/N+1 查询 |
75
- | 10 | [?UI] **Design 合规** | 样式是否用 Token 定义的视觉模式;无硬编码魔法值;实现与 `ui_concept.html` 对应屏幕视觉一致 |
76
- | 11 | [?Data] **数据一致性** | 字段名/类型与 `data_snapshot.json` 是否一致 |
77
- | 12 | [?I18n] **I18n 合规** | 无硬编码字符串;须用 Key/字典引用 |
63
+ | 10 | (本任务涉及ui时) **Design 合规** | Token 使用;无硬编码魔法值;与 `ui_concept.html` 视觉一致 |
64
+ | 11 | (本任务涉及data时) **数据一致性** | 字段名/类型与 `data_snapshot.json` 一致 |
65
+ | 12 | (仅i18n项目) **I18n 合规** | 无硬编码字符串;须用 Key/字典引用 |
78
66
  | 13 | **Orphan .gitkeep** | 目录已有其他文件时仍存在 `.gitkeep` — 须删除 |
79
- | 14 | **Spec-Code 漂移** | 代码中的接口/类型/行为是否与 `spec.md` 一致;手动变更是否已同步到文档 |
80
- | 15 | [?UI] **UI 引用完整性** | `ui.md` 中的 `ref: ui_concept.html#S-XX` 指针是否仍然有效;被引用的屏幕/组件是否因 edit/revise 后已改名或删除 |
67
+ | 14 | **Spec-Code 漂移** | 接口/类型/行为与 `spec.md` 一致;手动变更已同步文档 |
68
+ | 15 | (本任务涉及ui时) **UI 引用完整性** | `ui.md` `ref: ui_concept.html#S-XX` 指针是否仍有效 |
81
69
 
82
- **Output**: 按维度分组的发现列表,每项含级别、位置、描述。
83
- </step_2_task>
70
+ **Output**: 按维度分组的发现列表,每项含级别、位置、描述。进入 step_3_report。
71
+ </step_2a_task>
84
72
 
85
- <step_2_project>
73
+ <step_2b_project>
86
74
  **Role**: 首席审计官
87
75
  **Scope**: 项目级健康体检(仅 `/archi.audit` 无参数时执行)。
88
76
 
@@ -90,22 +78,18 @@
90
78
  |:---|:---|:---|
91
79
  | 1 | **Vision 漂移** | `roadmap.json` 任务方向与 `vision.md` 是否一致 |
92
80
  | 2 | **架构一致性** | `map.json` vs 实际目录结构,有无漂移或未注册模块 |
93
- | 3 | **Roadmap 健康度** | 一致性 + 进度统计 + 长期 blocked 任务 + 依赖环检测 |
81
+ | 3 | **Roadmap 健康度** | 一致性 + 进度统计 + 长期 blocked + 依赖环检测 |
94
82
  | 4 | **文档完整度** | 各 Task 是否有 spec.md + plan.json;有无孤儿目录 |
95
- | 5 | **Tech Stack 全局合规** | 抽查关键入口与模块,检测全局性违规 |
83
+ | 5 | **Tech Stack 全局合规** | 抽查关键入口与模块 |
96
84
  | 6 | **跨 Task 一致性** | 重复逻辑、命名冲突、接口不一致 |
97
- | 7 | **Orphan .gitkeep** | 目录已有其他文件时仍存在 `.gitkeep` — 须删除 |
85
+ | 7 | **Orphan .gitkeep** | 目录已有其他文件时仍存在 `.gitkeep` |
98
86
 
99
- 扫描后标注优先级,推荐需深度审查的 Task
100
- - `done` 但 plan 未全部完成的
101
- - 代码量大但无测试的
102
- - 长期 `active` 未推进的
87
+ 扫描后推荐需深度审查的 Task(`done` 但 plan 未全完成 / 代码量大无测试 / 长期 `active`)。
103
88
 
104
- **Output**: 项目健康概览 + 深度审查推荐列表。
105
- </step_2_project>
89
+ **Output**: 项目健康概览 + 深度审查推荐列表。进入 step_3_report。
90
+ </step_2b_project>
106
91
 
107
92
  <step_3_report>
108
- **Role**: 报告撰写员
109
93
  **Action**:
110
94
 
111
95
  **Issue Classification**:
@@ -123,26 +107,28 @@
123
107
  -> 推荐修复:/archi.fix <ID> <描述> 或 /archi.edit <ID> <描述>
124
108
  ```
125
109
 
126
- **Action Routing** (根据问题类型推荐命令):
110
+ **Action Routing**:
127
111
 
128
112
  | 问题类型 | 推荐命令 |
129
113
  |:---|:---|
130
- | Bug(逻辑错误、边界遗漏) | `/archi.fix <ID> <描述>` |
131
- | Spec 缺漏(功能未完整实现) | `/archi.edit <ID> <补充描述>` |
132
- | 架构级问题(全局违规) | `/archi.revise <描述>` |
133
- | 功能未完成(plan 虚标 done) | `/archi.code <ID>` |
134
- | 小问题(命名、注释、简化) | 下次 `/archi.code` 时一并处理 |
135
-
136
- **Report Structure**:
137
- 1. 审查概要(模式、范围、日期)
138
- 2. 发现列表(按级别排序:CRITICAL WARNING → INFO)
139
- 3. 统计摘要(各级别数量)
140
- 4. 修复工单汇总(可直接执行的命令列表)
141
- 5. Next Steps 表格
114
+ | Bug | `/archi.fix <ID> <描述>` |
115
+ | Spec 缺漏 | `/archi.edit <ID> <补充描述>` |
116
+ | 架构级问题 | `/archi.revise <描述>` |
117
+ | 功能未完成 | `/archi.code <ID>` |
118
+ | 小问题 | 下次 `/archi.code` 时一并处理 |
119
+
120
+ **Pre-signoff Checklist** (写入文件前须逐项确认):
121
+ □ (任务级)15 个审查维度全部覆盖,不适用项标注 N/A(非静默跳过)
122
+ (项目级)7 个检查项全部评估
123
+ □ 每个 CRITICAL/WARNING 发现已附 `文件:行号` + 代码片段
124
+ □ 每个发现已附推荐修复命令(/archi.fix / /archi.edit 等)
125
+ □ 报告已写入对应文件(任务级: tasks/<id>/audit.md;项目级: audits/YYYY-MM-DD.md)
126
+
127
+ **Report Structure**: 审查概要 → 发现列表(CRITICAL → WARNING → INFO)→ 统计摘要 → 修复工单汇总 → Next Steps。
142
128
 
143
129
  **Write Report File**:
144
130
  - 任务级 → `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/audit.md`(覆盖式)
145
- - 项目级 → `[[__DOCS_DIR__]]/audits/YYYY-MM-DD.md`(按日期存档,同日覆盖)
131
+ - 项目级 → `[[__DOCS_DIR__]]/audits/YYYY-MM-DD.md`(按日期存档)
146
132
 
147
133
  **Output**: 完整审查报告(同时输出到对话和写入文件)。
148
134
  </step_3_report>