architext 0.0.3 → 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.
Files changed (103) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/README.md +10 -5
  3. package/README.zh-CN.md +10 -5
  4. package/dist/index.js +42 -38
  5. package/dist/templates/en/docs/global/api_snapshot.json +24 -0
  6. package/dist/templates/en/docs/global/command_api.json +26 -0
  7. package/dist/templates/en/docs/global/env_registry.json +12 -0
  8. package/dist/templates/en/docs/global/map.json +5 -0
  9. package/dist/templates/en/docs/global/public_api.json +12 -0
  10. package/dist/templates/en/docs/prompts/code.md +21 -28
  11. package/dist/templates/en/docs/prompts/edit.md +18 -9
  12. package/dist/templates/en/docs/prompts/inherit.md +42 -23
  13. package/dist/templates/en/docs/prompts/plan.md +141 -47
  14. package/dist/templates/en/docs/prompts/recover.md +63 -0
  15. package/dist/templates/en/docs/prompts/ref.md +258 -0
  16. package/dist/templates/en/docs/prompts/revise.md +1 -1
  17. package/dist/templates/en/docs/prompts/scope.md +3 -3
  18. package/dist/templates/en/docs/prompts/start.md +9 -15
  19. package/dist/templates/en/docs/shared/verify-result-handling.md +6 -0
  20. package/dist/templates/en/docs/templates/design.template.md +77 -0
  21. package/dist/templates/en/docs/templates/spec.template.md +60 -25
  22. package/dist/templates/en/skills/archi-data-sync/SKILL.md +83 -0
  23. package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +178 -132
  24. package/dist/templates/en/skills/archi-design-patterns/SKILL.md +139 -0
  25. package/dist/templates/en/skills/archi-feature-relations/SKILL.md +118 -0
  26. package/dist/templates/en/skills/archi-silent-audit/SKILL.md +118 -0
  27. package/dist/templates/zh/briefs/_base.md +2 -2
  28. package/dist/templates/zh/briefs/_modules.md +2 -2
  29. package/dist/templates/zh/docs/global/api_snapshot.json +24 -0
  30. package/dist/templates/zh/docs/global/command_api.json +26 -0
  31. package/dist/templates/zh/docs/global/data_snapshot.json +0 -1
  32. package/dist/templates/zh/docs/global/design_tokens.json +0 -1
  33. package/dist/templates/zh/docs/global/dictionary.json +1 -1
  34. package/dist/templates/zh/docs/global/env_registry.json +12 -0
  35. package/dist/templates/zh/docs/global/error_codes.json +0 -8
  36. package/dist/templates/zh/docs/global/map.json +28 -3
  37. package/dist/templates/zh/docs/global/public_api.json +12 -0
  38. package/dist/templates/zh/docs/global/vision.md +1 -1
  39. package/dist/templates/zh/docs/prompts/audit.md +8 -8
  40. package/dist/templates/zh/docs/prompts/code.md +33 -40
  41. package/dist/templates/zh/docs/prompts/edit.md +19 -10
  42. package/dist/templates/zh/docs/prompts/fix.md +8 -2
  43. package/dist/templates/zh/docs/prompts/inherit.md +45 -27
  44. package/dist/templates/zh/docs/prompts/map.md +2 -1
  45. package/dist/templates/zh/docs/prompts/plan.md +143 -50
  46. package/dist/templates/zh/docs/prompts/recover.md +63 -0
  47. package/dist/templates/zh/docs/prompts/ref.md +258 -0
  48. package/dist/templates/zh/docs/prompts/remove.md +2 -14
  49. package/dist/templates/zh/docs/prompts/revise.md +12 -4
  50. package/dist/templates/zh/docs/prompts/scope.md +6 -6
  51. package/dist/templates/zh/docs/prompts/start.md +19 -26
  52. package/dist/templates/zh/docs/shared/verify-result-handling.md +6 -0
  53. package/dist/templates/zh/docs/templates/design.template.md +77 -0
  54. package/dist/templates/zh/docs/templates/spec.template.md +60 -25
  55. package/dist/templates/zh/rules/00_system.md +35 -5
  56. package/dist/templates/zh/rules/01_workflow.md +5 -4
  57. package/dist/templates/zh/rules/02_tech_stack.md +7 -6
  58. package/dist/templates/zh/rules/03_data_governance.md +40 -9
  59. package/dist/templates/zh/rules/99_context_glue.md +2 -2
  60. package/dist/templates/zh/skills/archi-data-sync/SKILL.md +83 -0
  61. package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +82 -37
  62. package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +139 -0
  63. package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +118 -0
  64. package/dist/templates/zh/skills/archi-plan-options/SKILL.md +25 -25
  65. package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +118 -0
  66. package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +1 -1
  67. package/package.json +1 -1
  68. package/dist/templates/zh-Hant/briefs/_base.md +0 -115
  69. package/dist/templates/zh-Hant/briefs/_modules.md +0 -173
  70. package/dist/templates/zh-Hant/docs/global/data_snapshot.json +0 -31
  71. package/dist/templates/zh-Hant/docs/global/design_tokens.json +0 -135
  72. package/dist/templates/zh-Hant/docs/global/dictionary.json +0 -35
  73. package/dist/templates/zh-Hant/docs/global/error_codes.json +0 -19
  74. package/dist/templates/zh-Hant/docs/global/map.json +0 -94
  75. package/dist/templates/zh-Hant/docs/global/roadmap.json +0 -39
  76. package/dist/templates/zh-Hant/docs/global/vision.md +0 -82
  77. package/dist/templates/zh-Hant/docs/prompts/audit.md +0 -150
  78. package/dist/templates/zh-Hant/docs/prompts/code.md +0 -160
  79. package/dist/templates/zh-Hant/docs/prompts/edit.md +0 -87
  80. package/dist/templates/zh-Hant/docs/prompts/fix.md +0 -86
  81. package/dist/templates/zh-Hant/docs/prompts/help.md +0 -69
  82. package/dist/templates/zh-Hant/docs/prompts/inherit.md +0 -270
  83. package/dist/templates/zh-Hant/docs/prompts/map.md +0 -131
  84. package/dist/templates/zh-Hant/docs/prompts/plan.md +0 -252
  85. package/dist/templates/zh-Hant/docs/prompts/remove.md +0 -162
  86. package/dist/templates/zh-Hant/docs/prompts/revise.md +0 -160
  87. package/dist/templates/zh-Hant/docs/prompts/scope.md +0 -198
  88. package/dist/templates/zh-Hant/docs/prompts/start.md +0 -258
  89. package/dist/templates/zh-Hant/docs/templates/plan.template.json +0 -88
  90. package/dist/templates/zh-Hant/docs/templates/scope-brief.template.md +0 -58
  91. package/dist/templates/zh-Hant/docs/templates/spec.template.md +0 -51
  92. package/dist/templates/zh-Hant/docs/templates/ui.template.md +0 -51
  93. package/dist/templates/zh-Hant/rules/00_system.md +0 -123
  94. package/dist/templates/zh-Hant/rules/01_workflow.md +0 -93
  95. package/dist/templates/zh-Hant/rules/02_tech_stack.md +0 -192
  96. package/dist/templates/zh-Hant/rules/03_data_governance.md +0 -102
  97. package/dist/templates/zh-Hant/rules/04_cli_tools.md +0 -50
  98. package/dist/templates/zh-Hant/rules/90_custom_rules.md +0 -21
  99. package/dist/templates/zh-Hant/rules/99_context_glue.md +0 -53
  100. package/dist/templates/zh-Hant/skills/archi-decompose-roadmap/SKILL.md +0 -293
  101. package/dist/templates/zh-Hant/skills/archi-interview-protocol/SKILL.md +0 -86
  102. package/dist/templates/zh-Hant/skills/archi-plan-options/SKILL.md +0 -364
  103. package/dist/templates/zh-Hant/skills/archi-ui-wireframe/SKILL.md +0 -337
@@ -36,7 +36,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
36
36
 
37
37
  ### Step 2 · 项目标签路由
38
38
 
39
- 根据 step_1_load 已激活的项目标签(`[?UI]` / `[?Data]` / `[?CLI]` / `[?Lib]` / `[?API]` / `[?Mobile]` / `[?MiniApp]` / `[?Extension]` / `[?Desktop]` / `[?AI]`)选择适用维度,跳过不适用的维度。路由规则见各维度标题。
39
+ 根据 step_1_load 已激活的项目 features(`ui` / `data` / `cli` / `lib` / `api` / `mobile` / `miniapp` / `extension` / `desktop` / `ai`)选择适用维度,跳过不适用的维度。路由规则见各维度标题。
40
40
 
41
41
  ### Step 3 · 推荐 vs 展开
42
42
 
@@ -53,7 +53,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
53
53
 
54
54
  根据项目标签路由到对应选项库:
55
55
 
56
- ### [?Data] 数据模型与关系策略
56
+ ### 仅data项目: 数据模型与关系策略
57
57
 
58
58
  > 决定此功能的数据如何存储和组织。
59
59
 
@@ -67,7 +67,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
67
67
  | F | Virtual / Computed | 数据不直接存储,从其他字段实时计算,适合衍生数据、统计聚合、格式化展示 | 无需数据迁移,数据始终与源保持一致 | 计算逻辑分散在查询层,AI 易写出 N+1 查询或低效聚合语句 |
68
68
  | Z | 自定义 | (请描述你的数据结构方案) | - | - |
69
69
 
70
- ### [?CLI] 输入/输出与配置设计
70
+ ### 仅cli项目: 输入/输出与配置设计
71
71
 
72
72
  > 决定此功能如何接收输入、以什么形式输出结果。
73
73
 
@@ -80,7 +80,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
80
80
  | E | Stdin / Pipe | 从标准输入或管道接收数据。适合数据处理管道、与 Unix 命令组合使用 | 输入格式可定义清晰的 Parser 契约 | 流式读取和编码处理易出错,须处理空输入和超大文件 |
81
81
  | Z | 自定义 | (请描述你的输入/输出方案) | - | - |
82
82
 
83
- ### [?Lib] 公共 API 与类型设计
83
+ ### 仅lib项目: 公共 API 与类型设计
84
84
 
85
85
  > 决定此功能暴露给消费者的接口形态。
86
86
 
@@ -93,7 +93,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
93
93
  | E | Plugin / Middleware | 核心精简,功能通过插件/中间件扩展。适合需要高度可扩展的框架级库 | 核心代码简单,AI 可独立生成每个插件 | 插件间交互、执行顺序和类型安全难以保证,AI 易生成相互冲突的插件 |
94
94
  | Z | 自定义 | (请描述你的 API 设计方案) | - | - |
95
95
 
96
- ### [?API] 接口契约与路由设计
96
+ ### 仅api项目: 接口契约与路由设计
97
97
 
98
98
  > 决定此功能的 API 端点结构和调用方式。
99
99
 
@@ -105,7 +105,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
105
105
  | D | Nested Sub-resource | 嵌套路由表达从属关系,如 `GET /users/:id/posts`。适合资源间有明确父子关系的场景 | 路由结构反映数据关系,AI 可从路由推断查询逻辑 | 嵌套超 2 层路由冗长,权限检查须逐级验证父资源所有权 |
106
106
  | Z | 自定义 | (请描述你的 API 设计方案) | - | - |
107
107
 
108
- ### [?Mobile] 导航架构策略
108
+ ### 仅mobile项目: 导航架构策略
109
109
 
110
110
  > 决定此功能在移动端导航体系中的位置与流转方式。
111
111
 
@@ -117,7 +117,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
117
117
  | D | Modal / Bottom Sheet | 模态页面或底部弹出面板,不脱离当前上下文。适合快速操作、筛选、确认等次级流程 | 上下文局部化,不跳转根页面,AI 生成条件渲染逻辑准确 | Focus Trap、手势关闭、键盘弹起适配 AI 常处理不完整;iOS/Android 行为差异多 |
118
118
  | Z | 自定义 | (请描述你的移动端导航方案) | - | - |
119
119
 
120
- ### [?MiniApp] 页面架构与请求策略
120
+ ### 仅miniapp项目: 页面架构与请求策略
121
121
 
122
122
  > 决定此功能在小程序页面体系中的组织形式和网络请求封装方式。
123
123
 
@@ -129,7 +129,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
129
129
  | D | WebView Hybrid | 部分功能通过 WebView 内嵌 H5 页面实现,适合复杂富文本编辑或已有 Web 资产复用 | 可复用 Web 技术栈,功能完整性高 | WebView 与原生通信通过 bridge,AI 生成消息协议易有兼容性问题;受平台沙箱限制 |
130
130
  | Z | 自定义 | (请描述你的小程序页面方案) | - | - |
131
131
 
132
- ### [?Extension] 架构层分配策略
132
+ ### 仅extension项目: 架构层分配策略
133
133
 
134
134
  > 决定此功能的核心逻辑部署在 Background Service Worker、Content Script 还是 Popup 层。
135
135
 
@@ -141,7 +141,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
141
141
  | D | Full Architecture | Background + Content + Popup 各承担特定职责,通过消息总线协调。适合功能复杂的综合型扩展 | 职责分层明确,各层可独立开发和测试 | 三层消息协议复杂,AI 容易遗漏消息路由或混淆发送方/接收方 |
142
142
  | Z | 自定义 | (请描述你的扩展架构方案) | - | - |
143
143
 
144
- ### [?Desktop] 进程模型与 IPC 策略
144
+ ### 仅desktop项目: 进程模型与 IPC 策略
145
145
 
146
146
  > 决定此功能的业务逻辑如何在主进程(Main)与渲染进程(Renderer)之间分配。
147
147
 
@@ -152,7 +152,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
152
152
  | C | Worker Thread | 计算密集型逻辑迁移至 Worker Thread,避免阻塞 UI 线程。适合文件处理、数据转换等重型任务 | 将重型任务与 UI 解耦,响应性好 | Worker Thread 无法直接访问 DOM 和 IPC,须通过 MessageChannel 通信,AI 容易遗漏序列化约束 |
153
153
  | Z | 自定义 | (请描述你的桌面端进程分配方案) | - | - |
154
154
 
155
- ### [?AI] LLM 集成与 Agent 架构策略
155
+ ### 仅ai项目: LLM 集成与 Agent 架构策略
156
156
 
157
157
  > 决定此功能如何集成 LLM 能力、组织 Prompt 和管理 Agent 执行流程。
158
158
 
@@ -168,7 +168,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
168
168
 
169
169
  ## 维度 2 · Interaction Pattern(必用)
170
170
 
171
- ### [?UI] 展示与交互模式
171
+ ### 仅ui项目: 展示与交互模式
172
172
 
173
173
  > 决定用户看到什么界面、如何操作。
174
174
 
@@ -182,7 +182,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
182
182
  | F | Editor / Canvas | 富文本编辑区或画布式自由操作区域。适合内容创作/可视化编辑 | 功能上限高,用户自由度大 | Canvas 是指令式 API,比声明式 DOM 难生成得多;Selection API 极为复杂 |
183
183
  | Z | 自定义 | (请描述你的交互方案) | - | - |
184
184
 
185
- ### [?CLI] 用户交互模式
185
+ ### 仅cli项目: 用户交互模式
186
186
 
187
187
  > 决定用户如何与此 CLI 功能互动、看到什么反馈。
188
188
 
@@ -195,7 +195,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
195
195
  | E | Watch / Daemon | 持续运行并监听变化,自动触发操作。适合开发工具、文件同步、自动构建 | 事件驱动模型清晰,每次触发独立处理 | 跨平台文件监听兼容性、防抖逻辑、优雅退出处理难点多 |
196
196
  | Z | 自定义 | (请描述你的交互方案) | - | - |
197
197
 
198
- ### [?API] 客户端集成模式
198
+ ### 仅api项目: 客户端集成模式
199
199
 
200
200
  > 决定调用方如何接入和使用此 API。
201
201
 
@@ -207,7 +207,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
207
207
  | D | Webhook / Event | API 通过 Webhook 回调主动通知客户端。适合异步事件驱动场景 | 解耦,异步通知无需轮询 | Webhook 的签名验证、重试幂等、超时处理 AI 容易遗漏 |
208
208
  | Z | 自定义 | (请描述你的集成方案) | - | - |
209
209
 
210
- ### [?Lib] 消费者使用模式
210
+ ### 仅lib项目: 消费者使用模式
211
211
 
212
212
  > 决定消费者如何使用此库的功能。
213
213
 
@@ -218,7 +218,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
218
218
  | C | Decorator / Annotation | 通过装饰器声明行为。适合框架级库,声明式配置减少样板代码 | 声明式代码简洁,意图清晰 | TS 装饰器提案仍在演进,AI 可能混淆旧版和新版语法 |
219
219
  | Z | 自定义 | (请描述消费者的使用方式) | - | - |
220
220
 
221
- ### [?Mobile] 移动端交互模式
221
+ ### 仅mobile项目: 移动端交互模式
222
222
 
223
223
  > 决定用户在移动设备上如何操作此功能、看到何种反馈。
224
224
 
@@ -230,7 +230,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
230
230
  | D | Bottom Sheet / Action Sheet | 点击触发底部滑出面板或操作菜单。适合次级操作、筛选、快速选择 | 无需路由跳转,上下文局部化 | 手势关闭、键盘配合、嵌套滚动须精细处理;iOS/Android 行为差异 AI 常忽略 |
231
231
  | Z | 自定义 | (请描述你的移动端交互方案) | - | - |
232
232
 
233
- ### [?MiniApp] 小程序交互模式
233
+ ### 仅miniapp项目: 小程序交互模式
234
234
 
235
235
  > 决定用户在小程序内如何与此功能交互。
236
236
 
@@ -241,7 +241,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
241
241
  | C | Half-Screen / Full-Screen Popup | 半屏弹窗或全屏覆盖层。适合详情查看、确认操作、筛选面板 | 弹窗结构明确,AI 生成条件渲染逻辑准确 | z-index 层级管理和动画过渡须注意微信小程序的渲染层特殊性 |
242
242
  | Z | 自定义 | (请描述你的小程序交互方案) | - | - |
243
243
 
244
- ### [?Extension] 扩展交互入口模式
244
+ ### 仅extension项目: 扩展交互入口模式
245
245
 
246
246
  > 决定用户通过何种入口与扩展功能交互。
247
247
 
@@ -253,7 +253,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
253
253
  | D | Side Panel | 浏览器侧边栏(Chrome sidePanel API),常驻于浏览器右侧。适合持续使用的工具面板 | 有完整页面空间,与浏览器原生集成,UX 自然 | sidePanel API 较新,跨浏览器兼容性有限;须用户主动开启 |
254
254
  | Z | 自定义 | (请描述你的扩展交互方案) | - | - |
255
255
 
256
- ### [?Desktop] 桌面端交互模式
256
+ ### 仅desktop项目: 桌面端交互模式
257
257
 
258
258
  > 决定用户如何与此桌面应用功能交互,以及使用哪种系统级 UI 范式。
259
259
 
@@ -265,7 +265,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
265
265
  | D | Native Dialogs | 使用系统原生文件选择器、对话框、通知。适合文件操作、系统级提醒场景 | 原生对话框零样式维护成本,用户熟悉 | 原生对话框 API 在 Electron/Tauri 中调用方式不同,须查文档确认 |
266
266
  | Z | 自定义 | (请描述你的桌面端交互方案) | - | - |
267
267
 
268
- ### [?AI] Agent 交互输出模式
268
+ ### 仅ai项目: Agent 交互输出模式
269
269
 
270
270
  > 决定用户如何触发 AI 能力,以及如何接收 AI 的输出结果。
271
271
 
@@ -281,10 +281,10 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
281
281
 
282
282
  ## 维度 3 · Data Flow
283
283
 
284
- **适用条件**: 项目含 `[?UI+Data]``[?UI+API]` 标签时适用;纯 `[?CLI]`/`[?Lib]` 跳过。
284
+ **适用条件**: 项目含 `(仅ui且data项目)``(仅ui且api项目)` 标签时适用;纯 `(仅cli项目)`/`(仅lib项目)` 跳过。
285
285
  **约定继承**: `02_tech_stack.md` §9 Data Flow 有值 → 自动继承,不展开选项表。仅当此功能需偏离项目默认时才展开。
286
286
 
287
- ### [?UI] 状态同步与数据流
287
+ ### 仅ui项目: 状态同步与数据流
288
288
 
289
289
  > 数据如何在前端界面和后端之间流转和同步。
290
290
 
@@ -319,10 +319,10 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
319
319
 
320
320
  ## 维度 5 · Access & Scope
321
321
 
322
- **适用条件**: 项目含 `[?Web/API]` 标签时提问权限控制;含 `[?MiniApp]` 标签时提问小程序授权模式;含 `[?Lib]` 标签时提问封装策略;纯 `[?CLI]` 通常跳过。
322
+ **适用条件**: 项目含 `仅ui或api项目:` 标签时提问权限控制;含 `仅miniapp项目:` 标签时提问小程序授权模式;含 `仅lib项目:` 标签时提问封装策略;纯 `仅cli项目:` 通常跳过。
323
323
  **约定继承**: `02_tech_stack.md` §9 Auth & Access 有值 → 认证**机制**继承(如 JWT/RBAC),但**权限级别**仍为功能级决策(如某功能 Public vs Owner Only)。
324
324
 
325
- ### [?Web/API] 权限控制
325
+ ### 仅ui或api项目: 权限控制
326
326
 
327
327
  > 谁能执行此功能的操作、看到什么数据。认证机制继承项目约定,此处仅决定此功能的权限级别。
328
328
 
@@ -336,7 +336,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
336
336
  | F | Tier / Subscription | 按付费等级限制功能。适合 SaaS 产品的分级功能 | 规则可配置化,与业务逻辑解耦 | Mock 支付状态和计费逻辑困难,测试需要大量 fixture 数据 |
337
337
  | Z | 自定义 | (请描述你的权限方案) | - | - |
338
338
 
339
- ### [?MiniApp] 小程序授权模式
339
+ ### 仅miniapp项目: 小程序授权模式
340
340
 
341
341
  > 决定此功能需要哪种平台授权级别。
342
342
 
@@ -348,7 +348,7 @@ description: Architext 架构决策选项库。定义五个核心维度(Core S
348
348
  | D | Full Profile Auth | 请求完整用户资料授权(昵称/头像)。适合社交类功能或需要展示用户信息的场景 | 一次授权获取完整用户信息 | 微信已于 2022 年收紧此授权,须用新版 getUserProfile API,旧版 getUserInfo 已废弃,AI 训练数据中旧版代码较多易混淆 |
349
349
  | Z | 自定义 | (请描述你的小程序授权方案) | - | - |
350
350
 
351
- ### [?Lib] 封装与可见性
351
+ ### 仅lib项目: 封装与可见性
352
352
 
353
353
  > 此功能的代码如何组织封装,对消费者暴露什么。
354
354
 
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: archi-silent-audit
3
+ type: reviewer
4
+ description: 嵌入式轻量审查。在独立上下文中审查主 Agent 产出,按模式筛选审查维度,返回发现列表。禁生成报告文件。与 audit.md 共享维度定义但职责不同:audit.md 是用户主动触发的独立深度审查,本 Skill 是协议自动触发的轻量检查。
5
+ ---
6
+
7
+ # 嵌入式轻量审查
8
+
9
+ ## 系统流程定位
10
+
11
+ ```
12
+ /archi.* step_N → Verify 阶段
13
+
14
+ [本 Skill] 接收模式参数 → 独立审查 → 返回发现列表
15
+
16
+ 主 Agent Signoff(须回应发现)
17
+ ```
18
+
19
+ > **Skill 的职责边界**:
20
+ > - 负责:在独立上下文中审查主 Agent 产出,输出分级发现列表
21
+ > - 不负责:修复问题(交还主 Agent)、生成报告文件(那是 audit.md 的职责)、执行 Terminal Gate 命令
22
+
23
+ > **与 `audit.md` 的关系**:
24
+ > - `audit.md` = 独立深度审查协议,生成报告文件,仅用户主动触发 `/archi.audit`
25
+ > - 本 Skill = 嵌入式轻量检查,inline 返回发现列表,协议自动触发
26
+ > - 两者共享审查维度定义(见 `audit.md` step_2_task),本 Skill 按模式筛选执行
27
+
28
+ ---
29
+
30
+ ## 模式与审查维度
31
+
32
+ ### 模式 `init` (调用方: start, inherit)
33
+
34
+ 审查新建项目/继承项目的全局文件质量。
35
+
36
+ | # | 维度 | 审查要点 |
37
+ |:---|:---|:---|
38
+ | 1 | **Vision-Roadmap 对齐** | roadmap 任务方向与 vision.md 北极星指标是否一致 |
39
+ | 2 | **Tech Stack 一致性** | `02_tech_stack.md` 与实际依赖/配置是否一致 |
40
+ | 3 | **全局文件完整性** | 须存在的全局文件是否齐全(vision, roadmap, map, dictionary, tech_stack, custom_rules) |
41
+ | 4 | **信息零遗漏** | Brief/代码中的所有信息是否已路由到对应文件 |
42
+ | 5 | 仅ui项目: **Design Tokens** | `design_tokens.json` 含基础颜色/字体/间距定义 |
43
+
44
+ ### 模式 `plan-docs` (调用方: plan)
45
+
46
+ 审查规划文档(spec/ui/plan)的质量。
47
+
48
+ | # | 维度 | 审查要点 |
49
+ |:---|:---|:---|
50
+ | 1 | **Design Fidelity** | spec § 2 是否完整覆盖确认的功能设计 |
51
+ | 2 | **Dimension Match** | spec § 2 维度格式是否与 Task Type 匹配 |
52
+ | 3 | **Tech Consistency** | 是否用了 `02_tech_stack.md` 未声明的技术 |
53
+ | 4 | **WBS Coverage** | plan.json 是否 100% 覆盖 spec 的每个 AC 条目 |
54
+ | 5 | **Notes Quality** | plan.json 每个 task 的 notes 是否含产出物+约束+可执行验证 |
55
+ | 6 | **Interface Exports** | INF 任务 § 4 是否填写;有下游 deps 时是否声明接口 |
56
+ | 7 | **Constraints** | § 5 是否含 vision.md + tech_stack 相关红线 |
57
+ | 8 | 本任务涉及data时: **Data Integrity** | 实体和字段与确认的核心实体是否一致 |
58
+ | 9 | 仅Complex任务: **Design Trace** | design.md § 6 是否所有 AC 均可追踪 |
59
+ | 10 | 仅Complex任务: **Parameter Specificity** | design.md § 3 参数是否具体化(无模糊词) |
60
+ | 11 | 仅Complex任务: **Self-Check Pass** | design.md § 2 机制自检清单是否通过 |
61
+
62
+ ### 模式 `code-impl` (调用方: code)
63
+
64
+ 审查代码实现的质量。
65
+
66
+ | # | 维度 | 审查要点 |
67
+ |:---|:---|:---|
68
+ | 1 | **Tech Consistency** | 与 `02_tech_stack.md` 一致(库/模式/API 风格) |
69
+ | 2 | **SOTA** | 拒绝过时模式;采用 tech_stack 最佳实践 |
70
+ | 3 | **Security** | 无敏感信息泄露;输入有校验 |
71
+ | 4 | **Performance** | 避免不必要大依赖/全量导入/无用计算/内存泄漏 |
72
+ | 5 | 本任务涉及ui时: **Design Compliance** | 样式仅用 Token/Preset 视觉模式;无硬编码魔法值 |
73
+ | 6 | 本任务涉及ui时: **Accessibility** | 含必要无障碍属性 |
74
+ | 7 | 本任务涉及data时: **Data Integrity** | 符合 `data_snapshot.json`;字段名/类型一致 |
75
+ | 8 | 仅i18n项目: **I18n** | 无硬编码字符串;须用 Key/字典引用 |
76
+ | 9 | 仅Complex任务: **Design Compliance** | 状态转移/流程/协议与 design.md § 2 一致 |
77
+ | 10 | 仅Complex任务: **Invariant Enforcement** | design.md § 4 不变量在代码中有 assert/运行时检查 |
78
+ | 11 | 仅Complex任务: **Parameter Alignment** | 代码数值与 design.md § 3 参数表一致 |
79
+
80
+ ---
81
+
82
+ ## 执行协议
83
+
84
+ 1. **读取上下文**: 按调用方传入的文件路径加载所需文档和代码
85
+ 2. **按模式筛选维度**: 仅执行当前模式对应的审查维度表
86
+ 3. **逐项审查**: 每个维度输出 PASS 或发现(含级别+位置+描述)
87
+ 4. **输出发现列表**: 按级别排序返回
88
+
89
+ ### 发现级别
90
+
91
+ | 级别 | 含义 | 主 Agent 须 |
92
+ |:---|:---|:---|
93
+ | `CRITICAL` | 阻塞性问题 | **须修复**后再签收,禁跳过 |
94
+ | `WARNING` | 有风险 | **须在签收报告中说明**处理方式 |
95
+ | `INFO` | 建议优化 | 可自行决定是否处理 |
96
+
97
+ ### 输出格式
98
+
99
+ ```
100
+ ### Silent Audit Results (mode: <mode>)
101
+
102
+ **CRITICAL** (须修复):
103
+ - [维度名] 位置: 描述
104
+
105
+ **WARNING** (须说明):
106
+ - [维度名] 位置: 描述
107
+
108
+ **INFO** (建议):
109
+ - [维度名] 位置: 描述
110
+
111
+ **Summary**: X CRITICAL / Y WARNING / Z INFO
112
+ ```
113
+
114
+ 无发现时输出: `### Silent Audit Results (mode: <mode>) — ALL PASS`
115
+
116
+ ---
117
+
118
+ > **中间产物**:此 Skill 为审查型子程序,产出发现列表后控制权交还调用方,由主 Agent 在 Signoff 中回应发现。
@@ -54,7 +54,7 @@ description: UI 概念设计专家。两阶段生成 ui_concept.html:第一阶
54
54
 
55
55
  1. **读取上下文**:
56
56
  - `[[__DOCS_DIR__]]/global/vision.md` → 提取:目标平台、用户角色、北极星指标
57
- - `[[__DOCS_DIR__]]/global/roadmap.json` → 提取:所有 [?UI] 任务,映射为屏幕/状态列表
57
+ - `[[__DOCS_DIR__]]/global/roadmap.json` → 提取:所有含 UI 的任务,映射为屏幕/状态列表
58
58
  - `[[__DOCS_DIR__]]/global/design_tokens.json` → 提取:`mode.default`、`illustration.iconLibrary`
59
59
  - 规则文件 `02_tech_stack` → 提取:目标平台(Web/Mobile/Desktop)、导航框架
60
60
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "architext",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "The DDAD (Document-Driven AI Development) protocol and prompt scaffolder for AI-native engineering.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,115 +0,0 @@
1
- # Project Brief: [專案名稱]
2
-
3
- > 盡量填寫,不確定的留空即可。完成後執行 `/archi.start project-brief.md`,AI 會透過選擇題補全缺失資訊。
4
-
5
- ---
6
-
7
- ## 專案概述
8
-
9
- **專案名稱**:
10
- **一句話描述**: [專案是什麼、為誰服務、解決什麼問題]
11
- **問題陳述**: [目標用戶遇到的核心痛點?現有方案哪裡不足?]
12
-
13
- **目標用戶**:
14
- - **核心用戶**: [角色/群體]
15
- - **關鍵特徵**: [技術水平、使用場景、行為習慣]
16
-
17
- **成功指標**: [怎樣算做成了?例:DAU 1000 / 被 100+ 專案採用 / P99 < 200ms]
18
-
19
- ---
20
-
21
- ## 核心任務
22
-
23
- > MVP 必須實現的任務(建議 3-7 個),每項一句話描述預期行為。
24
- > 詳細 Spec 在 `/archi.plan` 階段定義,此處只需明確「做什麼」。
25
-
26
- 1.
27
- 2.
28
- 3.
29
-
30
- ---
31
-
32
- ## 已有設計決策
33
-
34
- > 如果你對某些任務/頁面/流程已有明確想法,在此描述。AI 在後續 plan 階段會以此為準,不會推翻。
35
- > 沒有的話留空即可。
36
- >
37
- > 寫法參考:
38
- > - **[任務/頁面名]**: 描述具體行為、流程、約束
39
- > - 可附截圖/草圖連結
40
-
41
- ---
42
-
43
- ## 技術棧
44
-
45
- > 已確定的直接填寫。不確定的留空或寫「推薦」,AI 會基於專案特徵推薦。
46
-
47
- **專案類型**: [[__PROJECT_TYPE__]]
48
- <!-- archi init 自動填入;手動填寫時參考 templates/archi-decompose-roadmap SKILL 中的型別表 -->
49
- **語言/執行時**: [例:TypeScript + Node.js 22]
50
- **核心框架**: [例:Next.js 15 / Fastify / Tauri]
51
- **套件管理器**: [例:pnpm / npm / yarn / cargo]
52
- **建置工具**: [例:Vite / tsup / Webpack / esbuild / cargo / go build]
53
- **Linter / Formatter**: [例:ESLint + Prettier / Biome / ruff / clippy + rustfmt]
54
- <!-- @slot:tech -->
55
- **部署目標**: [例:Vercel / Docker / npm publish / 二進位分發]
56
- **關鍵第三方函式庫**: [例:Zod, TanStack Query, Lucia Auth]
57
-
58
- **技術紅線** (禁用的技術/方案):
59
- - [例:不用 jQuery;不用 CSS-in-JS]
60
-
61
- ---
62
-
63
- ## 工程規範
64
-
65
- > 團隊已有的工程約定。不確定的留空,AI 會基於技術棧推薦合理預設值。
66
-
67
- **倉庫形態**: [Monorepo (Turborepo/Nx/pnpm workspaces) / 單體倉庫]
68
- **架構模式**: [例:MFA / FSD / Clean Architecture / 分層架構 / 無偏好(AI 推薦)]
69
- **目錄結構**: [已有明確結構 → 簡述關鍵目錄 / 無(AI 基於架構模式生成)]
70
- **分支策略**: [例:Trunk-based / Git Flow / GitHub Flow]
71
- **Commit 規範**: [例:Conventional Commits (feat/fix/chore) / 自訂 → 簡述]
72
- **測試偏好**: [例:Vitest / Jest / pytest / 無特殊要求]
73
-
74
- ---
75
-
76
- ## 已有資源與上下文
77
-
78
- > AI 需要知道哪些東西已經存在——避免重複造輪子或做出衝突決策。
79
-
80
- **專案起點**: [全新專案 / 基於已有程式碼庫(簡述現狀和技術債)]
81
- **設計資產**: [Figma 連結 / 設計稿截圖 / 無(AI 自行設計)]
82
- **品牌規範**: [已有 Logo/配色/字體 → 描述或附連結 / 無]
83
- **已有 API/後端**: [介面文檔連結 / 簡述可用端點 / 無(需從零搭建)]
84
- **第三方服務**: [已確定使用的服務,例:Auth0, Stripe, AWS S3, Resend...]
85
- **現有資料**: [已有資料庫/資料源?格式?需要遷移?/ 無]
86
-
87
- ---
88
-
89
- <!-- @slot:style -->
90
-
91
- ## 邊界與約束
92
-
93
- **明確不做的事** (反目標):
94
- - [例:本期不做國際化 / 不做行動端適配 / 不做付費功能]
95
-
96
- **硬性約束**:
97
- - **時間**: [例:4 周 MVP / 無硬性 deadline]
98
- - **相容性**: [例:Chrome 90+ / Node 18+ / iOS 15+]
99
- - **效能**: [例:首屏 < 2s / API P99 < 500ms / 無特殊要求]
100
- - **合規/無障礙**: [例:WCAG 2.1 AA / GDPR / 無]
101
-
102
- ---
103
-
104
- ## 參考與靈感
105
-
106
- | 參考專案 | 參考維度 |
107
- |:---|:---|
108
- | [例:Linear] | [互動體驗、任務管理邏輯] |
109
- | | |
110
-
111
- ---
112
-
113
- ## 補充說明
114
-
115
- > 任何上述未涵蓋的資訊:背景故事、特殊需求、已有決策的原因、團隊技術偏好等。
@@ -1,173 +0,0 @@
1
- <!-- @tech:ui -->
2
- **CSS/UI 方案**: [例:TailwindCSS + Shadcn/UI / Ant Design / 原生 CSS]
3
- <!-- @end -->
4
-
5
- <!-- @tech:data -->
6
- **資料庫**: [例:PostgreSQL / MongoDB / SQLite]
7
- **ORM / Query Builder**: [例:Prisma / Drizzle / TypeORM]
8
- <!-- @end -->
9
-
10
- <!-- @tech:api -->
11
- **API 風格**: [例:RESTful / GraphQL / gRPC / tRPC]
12
- <!-- @end -->
13
-
14
- <!-- @tech:cli -->
15
- **CLI 框架**: [例:cac / commander / clap (Rust) / cobra (Go)]
16
- **分發方式**: [例:npm publish / GitHub Releases / 二進位]
17
- <!-- @end -->
18
-
19
- <!-- @tech:lib -->
20
- **模組格式**: [例:ESM / CJS + ESM 雙出]
21
- **目標平台**: [例:瀏覽器 + Node.js / 僅 Node.js]
22
- **分發渠道**: [例:npm / PyPI / crates.io]
23
- <!-- @end -->
24
-
25
- <!-- @style:ui -->
26
- ## 風格與調性
27
-
28
- **審美方向** (選一個最接近的,不確定就留空讓 AI 推薦):
29
- <!-- 選一個填入,或寫 custom 並在下方描述 -->
30
- <!-- saas-dark — 類似 Linear/Vercel/Raycast:深色背景、高對比、極簡、銳利邊緣 -->
31
- <!-- saas-light — 類似 Notion/Stripe/GitHub:白底、細邊框、系統字體、呼吸感 -->
32
- <!-- dashboard — 類似 Grafana/Datadog:資訊密集、卡片網格、資料優先 -->
33
- <!-- marketing — 類似 Loom/Framer:大標題、漸層、視覺衝擊、敘事感 -->
34
- <!-- mobile-app — 類似 Telegram/Bear:圓角大、間距寬、觸控友善 -->
35
- <!-- editorial — 類似 Medium/Substack:排版優先、襯線字體、閱讀沉浸 -->
36
- <!-- brutalist — 類似 Craigslist/HN:功能極簡、無裝飾、原始感 -->
37
- <!-- custom — 在「自訂描述」中寫你想要的風格 -->
38
-
39
- **審美方向**: [例:saas-dark / saas-light / dashboard / marketing / mobile-app / editorial / brutalist / custom]
40
- **自訂描述**: [僅 custom 時填寫,例:「類似 Spotify 的深色 + 綠色強調 + 卡片式布局」]
41
-
42
- **資訊密度**: [大留白/沉浸式 / 資訊密集/儀表板風格]
43
- **動效偏好**: [輕微微互動 / 豐富動畫 / 無動畫]
44
-
45
- ### 視覺參考 (Visual Reference)
46
-
47
- > 為 AI 提供審美輸入,直接影響 `ui_concept.html` 的視覺品質。
48
- > 以下任填一項即有效,填得越多 AI 越能還原你的期望風格。
49
-
50
- **競品/靈感截圖**: [可貼上圖片 / Figma 連結 / URL]
51
- **品牌色板**: [主色 Hex / 漸層描述 / 無(AI 基於審美方向生成)]
52
- **字體偏好**: [例:JetBrains Mono + Space Grotesk / Playfair Display / 無偏好(AI 基於審美方向選擇)]
53
- **圖示庫**: [例:Lucide / Heroicons / Tabler / 無偏好]
54
- **禁用風格**: [例:禁漸層背景 / 禁卡通插畫 / 無限制]
55
- <!-- @end -->
56
-
57
- <!-- @style:cli -->
58
- ## 風格與調性
59
-
60
- **輸出風格**: [簡潔單行 / 結構化彩色 / JSON 機器可讀]
61
- **互動模式**: [純參數驅動 / 互動式提示 / 混合]
62
- **錯誤展示**: [簡潔提示 / 詳細堆疊 / 分級(--verbose)]
63
- <!-- @end -->
64
-
65
- <!-- @style:api -->
66
- ## 風格與調性
67
-
68
- **文檔方案**: [OpenAPI/Swagger / GraphQL Schema / 手寫文檔]
69
- **錯誤回應格式**: [RFC 7807 / 自訂 JSON / GraphQL errors]
70
- **版本策略**: [URL 路徑 /v1 / Header / 無版本控制]
71
- <!-- @end -->
72
-
73
- <!-- @tech:mobile -->
74
- **行動端執行時**: [例:React Native 0.76 / Flutter 3 / Expo SDK 52]
75
- **UI 元件庫**: [例:RN Paper / NativeWind / NativeBase / 原生元件]
76
- **導航方案**: [例:React Navigation 7 / Expo Router / Go Router]
77
- **原生能力**: [例:相機、推播通知、生物辨識——列出需要的]
78
- **發佈渠道**: [例:App Store + Play Store / Expo Go / TestFlight]
79
- **OTA 熱更新**: [例:Expo Updates / CodePush / 不需要]
80
- <!-- @end -->
81
-
82
- <!-- @tech:miniapp -->
83
- **小程式平台**: [例:微信 / 支付寶 / 抖音 / uni-app(多端)]
84
- **基礎庫版本**: [例:微信基礎庫 3.x / uni-app Vue3]
85
- **UI 元件庫**: [例:Vant Weapp / TDesign MiniProgram / 原生元件]
86
- **雲端開發**: [例:微信雲端開發 / 不使用]
87
- **發佈**: [例:微信公眾平台發佈 / 審核週期約定]
88
- <!-- @end -->
89
-
90
- <!-- @style:miniapp -->
91
- ## 風格與調性
92
-
93
- **視覺規範**: [遵循平台設計規範(微信 Weui / 支付寶 / 抖音)/ 自訂品牌風]
94
- **色調傾向**: [品牌主色 / 跟隨平台預設 / 深色模式(需平台支援)]
95
- **元件風格**: [原生元件為主 / 自訂元件 / 混合]
96
- **動效偏好**: [系統預設頁面切換 / 自訂過渡 / 無特殊要求]
97
- <!-- @end -->
98
-
99
- <!-- @tech:desktop -->
100
- **桌面執行時**: [例:Tauri 2 / Electron 33]
101
- **IPC 通訊**: [例:Tauri invoke/command / Electron ipcMain+ipcRenderer]
102
- **系統級能力**: [例:系統匣、全域快速鍵、檔案關聯、剪貼簿——列出需要的]
103
- **打包發佈**: [例:tauri-bundler (.dmg/.msi/.deb) / electron-builder / GitHub Releases]
104
- **自動更新**: [例:tauri-updater / electron-updater / 不需要]
105
- <!-- @end -->
106
-
107
- <!-- @tech:extension -->
108
- **目標瀏覽器**: [例:Chrome + Edge / Firefox / 全平台]
109
- **Manifest 版本**: [V3(推薦)/ V2(Firefox 需相容)]
110
- **擴充功能結構**: [例:僅 Popup / Popup + Content Script / Background + Content Script + Popup]
111
- **權限宣告**: [例:storage、tabs、activeTab——列出需要的]
112
- **發佈渠道**: [例:Chrome Web Store / Firefox Add-ons / 私有分發]
113
- <!-- @end -->
114
-
115
- <!-- @tech:realtime -->
116
- **即時傳輸方案**: [例:Socket.io / 原生 WebSocket / SSE / WebRTC]
117
- **即時框架/託管**: [例:Ably / Pusher / Liveblocks / 自建]
118
- **房間/頻道模型**: [例:按使用者 ID 訂閱 / 按文件 ID 房間 / 廣播]
119
- **[?CRDT] 協作衝突解決**: [例:Yjs / Automerge / 不需要(僅廣播)]
120
- **離線支援**: [例:離線佇列 + 重連同步 / 不需要]
121
- <!-- @end -->
122
-
123
- <!-- @tech:ai -->
124
- **LLM 提供商**: [例:OpenAI GPT-4o / Anthropic Claude / Gemini / 本地 Ollama]
125
- **AI 框架**: [例:Vercel AI SDK / LangChain / LlamaIndex / 無框架直調 API]
126
- **Tool/Function Calling**: [例:需要(列出工具名稱)/ 不需要]
127
- **Memory 方案**: [例:向量資料庫(pgvector/Pinecone)/ 滑動視窗歷史 / 無]
128
- **[?MCP] MCP 協定**: [例:@modelcontextprotocol/sdk / 不需要]
129
- **串流輸出**: [例:SSE 串流 / 批量回傳]
130
- <!-- @end -->
131
-
132
- <!-- @style:mobile -->
133
- ## 風格與調性
134
-
135
- **視覺關鍵字**: [例:原生感、輕量、沉浸式]
136
- **適配方案**: [例:響應式 dp/sp / 固定設計稿 375pt]
137
- **深色模式**: [跟隨系統 / 僅淺色 / 僅深色]
138
- **動效偏好**: [系統原生動效 / 自訂過渡 / 無特殊要求]
139
- **無障礙**: [例:VoiceOver / TalkBack 支援 / 無特殊要求]
140
- <!-- @end -->
141
-
142
- <!-- @style:desktop -->
143
- ## 風格與調性
144
-
145
- **視覺風格**: [例:原生系統風(Fluent/HIG)/ 自訂品牌風]
146
- **視窗管理**: [例:單主視窗 + 系統匣 / 多視窗 / 全螢幕優先]
147
- **深色模式**: [跟隨系統 / 固定深色 / 固定淺色]
148
- **選單列/系統匣**: [例:選單列圖示 + 快速操作 / 僅系統匣圖示 / 不需要]
149
- <!-- @end -->
150
-
151
- <!-- @style:extension -->
152
- ## 風格與調性
153
-
154
- **Popup 尺寸約定**: [例:320×480px / 400×600px / 自適應]
155
- **視覺風格**: [例:極簡卡片 / 與目標網站融合 / 獨立品牌]
156
- **Content Script 注入樣式**: [例:懸浮按鈕 / 側邊欄 / 高亮遮罩]
157
- <!-- @end -->
158
-
159
- <!-- @style:realtime -->
160
- ## 風格與調性
161
-
162
- **協作感知 UI**: [例:即時游標、使用者頭像列表、輸入指示器——列出需要的]
163
- **衝突/同步狀態展示**: [例:樂觀更新 + 靜默同步 / 明確顯示「正在同步」]
164
- **離線提示**: [例:頂部 Banner 提示 / 靜默重連]
165
- <!-- @end -->
166
-
167
- <!-- @style:ai -->
168
- ## 風格與調性
169
-
170
- **互動模式**: [對話型(聊天 UI)/ 工具型(命令+結果)/ 混合]
171
- **串流輸出展示**: [例:逐字打印效果 / 分段載入 / 批量回傳]
172
- **錯誤/降級提示**: [例:顯示 fallback 模型 / 重試按鈕 / 靜默降級]
173
- <!-- @end -->
@@ -1,31 +0,0 @@
1
- {
2
- "scope": "[?Data]",
3
- "models": [
4
- {
5
- "name": "[ModelName]",
6
- "description": "[一句話說明]",
7
- "fields": [
8
- {
9
- "name": "id",
10
- "type": "string",
11
- "modifiers": "PK",
12
- "description": "唯一識別碼"
13
- },
14
- {
15
- "name": "[fieldName]",
16
- "type": "[type]",
17
- "modifiers": "[nullable | unique | index | ...]",
18
- "description": "[欄位說明]"
19
- }
20
- ]
21
- }
22
- ],
23
- "relationships": [
24
- {
25
- "from": "[ModelA]",
26
- "to": "[ModelB]",
27
- "type": "[1:1 | 1:N | M:N | self-ref]",
28
- "description": "[關係說明]"
29
- }
30
- ]
31
- }