@captain_z/zsk-skills 0.1.0

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 (55) hide show
  1. package/README.md +263 -0
  2. package/bundles.yaml +104 -0
  3. package/design-handoff/.gitkeep +0 -0
  4. package/design-handoff/figma-to-code/SKILL.md +265 -0
  5. package/design-handoff/ue-mcp/SKILL.md +184 -0
  6. package/frontend/.gitkeep +0 -0
  7. package/frontend/a11y-web/SKILL.md +169 -0
  8. package/frontend/api-contract-ts/SKILL.md +275 -0
  9. package/frontend/css-bem/SKILL.md +268 -0
  10. package/frontend/design-frontend/SKILL.md +163 -0
  11. package/frontend/dor-dod-frontend/SKILL.md +114 -0
  12. package/frontend/feature-tasks-frontend/SKILL.md +246 -0
  13. package/frontend/i18n/SKILL.md +296 -0
  14. package/frontend/nfr-web/SKILL.md +258 -0
  15. package/frontend/performance-web/SKILL.md +299 -0
  16. package/frontend/react-components/SKILL.md +211 -0
  17. package/frontend/react-naming/SKILL.md +224 -0
  18. package/frontend/review-frontend/SKILL.md +126 -0
  19. package/frontend/security-web/SKILL.md +286 -0
  20. package/frontend/spec-frontend/SKILL.md +141 -0
  21. package/frontend/testing-web/SKILL.md +252 -0
  22. package/frontend/typescript/SKILL.md +219 -0
  23. package/meta/.gitkeep +0 -0
  24. package/meta/philosophy/SKILL.md +221 -0
  25. package/package.json +24 -0
  26. package/quality/.gitkeep +0 -0
  27. package/quality/a11y-principles/SKILL.md +155 -0
  28. package/quality/code-hygiene/SKILL.md +126 -0
  29. package/quality/release/SKILL.md +209 -0
  30. package/quality/security-owasp/SKILL.md +157 -0
  31. package/quality/testing-pyramid/SKILL.md +173 -0
  32. package/sdlc/.gitkeep +0 -0
  33. package/sdlc/archive/SKILL.md +267 -0
  34. package/sdlc/bugfix/SKILL.md +181 -0
  35. package/sdlc/bugfix-tasks/SKILL.md +232 -0
  36. package/sdlc/coding/SKILL.md +177 -0
  37. package/sdlc/design/SKILL.md +299 -0
  38. package/sdlc/dor-dod/SKILL.md +120 -0
  39. package/sdlc/feature/SKILL.md +162 -0
  40. package/sdlc/proposal/SKILL.md +271 -0
  41. package/sdlc/refactor/SKILL.md +220 -0
  42. package/sdlc/refactor-tasks/SKILL.md +265 -0
  43. package/sdlc/reviewing/SKILL.md +197 -0
  44. package/sdlc/spec/SKILL.md +235 -0
  45. package/sdlc/task/SKILL.md +116 -0
  46. package/sdlc/task-evidence/SKILL.md +178 -0
  47. package/sdlc/task-structure/SKILL.md +153 -0
  48. package/sdlc/task-tracking/SKILL.md +192 -0
  49. package/sdlc/verify/SKILL.md +181 -0
  50. package/system/.gitkeep +0 -0
  51. package/system/adr/SKILL.md +169 -0
  52. package/system/architecture/SKILL.md +182 -0
  53. package/system/glossary/SKILL.md +141 -0
  54. package/system/nfr-baseline/SKILL.md +156 -0
  55. package/system/project-constraints-template/SKILL.md +241 -0
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: zsk:verify
3
+ description: Hard merge-to-main gate ("evidence before assertion") — DoD fully
4
+ green, FR coverage matrix complete, AC checklist ticked with links, validation
5
+ records with reproducible evidence. Stage 6 of the 7-stage SDLC. This is the
6
+ contract-view; the code-view is zsk:reviewing.
7
+ category: stage
8
+ domain: sdlc
9
+ tier: core
10
+ stage: 6
11
+ variants:
12
+ - feature
13
+ - bugfix
14
+ - refactor
15
+ related:
16
+ - ../reviewing/SKILL.md
17
+ - ../archive/SKILL.md
18
+ - ../dor-dod/SKILL.md
19
+ - ../task-evidence/SKILL.md
20
+ - ../../frontend/nfr-web/SKILL.md
21
+ triggers:
22
+ - acceptance verification
23
+ - definition of done
24
+ - FR coverage matrix
25
+ - evidence before assertion
26
+ - AC checklist
27
+ - before merging
28
+ ---
29
+
30
+ # Stage 6: Verify
31
+
32
+ > **阶段定位**:验收 - Acceptance Verification
33
+ > **回答的问题**:**做了对的东西吗**?是否满足 `spec.md` 的 AC / FR / NFR?证据是否足以支持"通过"?
34
+ > **与 Reviewing 的边界**:Reviewing 看"代码写对了吗"(diff 视角),Verify 看"是否满足契约"(契约视角)。**证据来源不同**:Reviewing 的证据是 diff + comment;Verify 的证据是**可追溯的命令输出 / 截图 / 报告**。
35
+ > **参考规范**:Scrum DoD、Acceptance Testing、FR 覆盖矩阵
36
+ > **吸收硬原则**:
37
+ > - **证据先于断言**(Superpowers `verification-before-completion`)— **最严格**的一条:未跑过的命令不得声称"通过"
38
+ > - 所有"通过 / 完成 / 修复"的声明都必须附带**可追溯证据链接**
39
+
40
+ ## Skill 映射
41
+
42
+ | 场景 | Primary Skill |
43
+ | --- | --- |
44
+ | 完成前自验 | `superpowers:verification-before-completion` |
45
+ | 自审 | `self-review` / `check` |
46
+ | 系统 QA | `qa` / `qa-only` |
47
+ | 视觉 QA(前端) | `design-review` |
48
+ | 性能 QA(前端) | `benchmark` |
49
+ | 独立二审 | `codex review`(pass/fail 门禁模式) |
50
+
51
+ ## 变更类型差异
52
+
53
+ | 类型 | Verify 侧重 |
54
+ | --- | --- |
55
+ | **Feature** | DoD 全绿 + FR 覆盖矩阵完整 + NFR 基线达标 |
56
+ | **Bugfix** | 原复现步骤走通 + 回归套件全绿 + 邻近场景未回归 |
57
+ | **Refactor** | 行为不变证据链 + 性能量化对照 + 包体积差 ≤ ±2% |
58
+
59
+ ## 证据先于断言(Iron Law)
60
+
61
+ 这是本阶段最硬的一条规则:
62
+
63
+ - **所有"通过 / 完成 / 修复"声明都必须附带命令输出 / 报告链接 / 截图**
64
+ - **未跑过**的命令**不得**声称"通过"
65
+ - **从未跑过**的测试**不得**声称"绿"
66
+ - **从未看过**的报告**不得**声称"达标"
67
+
68
+ 违反 = 门禁失败 = 禁止合并主干。
69
+
70
+ ## 1. Definition of Done(验收清单)
71
+
72
+ > DoR 在 `zsk:coding`(进入 coding 阶段前的门禁);DoD 在这里(合并主干前的门禁)。通用 + 变更类型专用清单见 [`zsk:dor-dod`](../dor-dod/SKILL.md)。
73
+
74
+ ### 通用 DoD
75
+ - [ ] 代码通过 `zsk:reviewing` 流程并 Approve
76
+ - [ ] 单元测试通过且覆盖关键分支
77
+ - [ ] 集成 / E2E 测试通过(如适用)
78
+ - [ ] `lint` / `type-check` / `build` 零 error
79
+ - [ ] 相关文档已更新(`docs/{module}/tasks.md` 勾选到位)
80
+ - [ ] **FR 覆盖矩阵**所有 P0 FR 都有"覆盖任务 + 验收证据"(见 [`zsk:task-evidence`](../task-evidence/SKILL.md))
81
+ - [ ] **校验记录**每行有证据链接
82
+
83
+ > 前端项目补:视觉回归 / i18n / a11y / CWV 见 [`frontend/nfr-web`](../../frontend/nfr-web/SKILL.md)。
84
+
85
+ ### Bugfix 专用
86
+ - [ ] 原复现步骤按 `proposal.md` 的步骤执行 → 不再复现(截图 / 录屏)
87
+ - [ ] 新增回归测试在主干绿
88
+ - [ ] 相邻场景无回归(无"按下葫芦浮起瓢")
89
+ - [ ] Changelog 更新 `Fixed` 章节
90
+ - [ ] P0 / P1 → 进入 `zsk:archive` 的 Postmortem
91
+
92
+ ### Refactor 专用
93
+ - [ ] 所有现有测试全绿(含 Characterization)
94
+ - [ ] 视觉 / 性能 / 包体积对照无回退
95
+ - [ ] 对外契约零变化
96
+ - [ ] Changelog 仅写 `Changed` / `Removed`,**不能**写 `Added` / `Fixed`
97
+
98
+ ## 2. FR 覆盖矩阵(交叉引用闭环)
99
+
100
+ > 模板与规则见 [`zsk:task-evidence`](../task-evidence/SKILL.md)。本阶段的核心产出,`spec.md` 的 FR / NFR 列表完整复制过来,每条必须有"覆盖任务 + 验收证据"。
101
+
102
+ **规则**:
103
+ - 每条 Spec 的 FR / NFR 都必须有至少一条覆盖任务 + 一条验收证据
104
+ - 废弃的 FR 保留编号并标注 `(废弃)`,不可删除
105
+ - 未覆盖的 FR = DoD 未达 = 不可合并
106
+
107
+ ## 3. AC 勾选(BDD 场景验证)
108
+
109
+ `spec.md` 的 Acceptance Criteria 清单,在本阶段**逐条勾选 + 附证据**:
110
+
111
+ ```md
112
+ ## Acceptance Verification
113
+
114
+ | AC 编号 | 场景 | 状态 | 证据 |
115
+ | --- | --- | --- | --- |
116
+ | AC-1 | Happy path:... | ✅ | {测试报告 / 录屏链接} |
117
+ | AC-2 | Edge case:... | ✅ | {截图链接} |
118
+ | AC-3 | Error:... | ✅ | {截图链接} |
119
+ ```
120
+
121
+ 每条 AC 对应至少一条可执行测试或手工回归证据。证据链接必须**可点开重现**。
122
+
123
+ ## 4. 校验记录(门禁证据)
124
+
125
+ 每个门禁一行,**每行必须有证据链接**:
126
+
127
+ | 门禁 | 结果 | 证据链接 |
128
+ | --- | --- | --- |
129
+ | lint | ✅ | {CI 链接} |
130
+ | type-check | ✅ | {CI 链接} |
131
+ | 单元测试 | ✅ | {覆盖率报告} |
132
+ | 集成测试 | ✅ | {链接} |
133
+ | E2E 测试 | ✅ | {报告链接} |
134
+ | 安全(依赖扫描) | ✅ | {audit 报告} |
135
+
136
+ > 前端额外:视觉回归 / a11y / i18n / 性能 / 包体积对照 → 见 [`frontend/nfr-web`](../../frontend/nfr-web/SKILL.md)
137
+
138
+ ## 5. 变更类型专项验证
139
+
140
+ ### Feature — 端到端回路
141
+
142
+ 1. 按 `spec.md` 的 BDD 场景手动或 E2E 跑一遍
143
+ 2. NFR 基线逐项找证据
144
+ 3. FR 覆盖矩阵补完
145
+
146
+ ### Bugfix — 复现清零
147
+
148
+ 1. `git checkout` 到修复前 → 原复现步骤触发 bug(录屏)
149
+ 2. `git checkout` 到修复后 → 同样步骤不再触发(录屏)
150
+ 3. 回归套件 + 相邻场景全绿
151
+ 4. P0 / P1 → Postmortem 入 `zsk:archive`
152
+
153
+ ### Refactor — 行为不变证据链
154
+
155
+ | 对照项 | 重构前 | 重构后 | 差 |
156
+ | --- | --- | --- | --- |
157
+ | 所有测试 | ✅ | ✅ | 0 |
158
+ | 视觉快照 | {截图} | {截图} | 0 |
159
+ | 性能评分 | {分数} | {分数} | ≥ 0 |
160
+ | 包体积 | {KB} | {KB} | ≤ ±2% |
161
+ | 对外契约 | 列 | 列 | 无新增 / 删除 |
162
+
163
+ ## 6. 工具组合建议(按栈)
164
+
165
+ | 场景 | 通用 | 前端示例 |
166
+ | --- | --- | --- |
167
+ | 自动化 QA | `qa` / `qa-only` skill | 同 |
168
+ | 视觉一致性 | — | `design-review` skill |
169
+ | 性能基线对照 | — | `benchmark` skill(Lighthouse)|
170
+ | 独立 AI 二审 | `codex review` | 同 |
171
+ | 真实环境验证 | 按栈选运行环境工具 | `browse` / `gstack` / `connect-chrome` |
172
+
173
+ ## 质量门禁(进入 `zsk:archive` 前)
174
+
175
+ - [ ] DoD 全绿
176
+ - [ ] FR 覆盖矩阵完整(Spec 每条 P0 FR 都有任务 + 证据)
177
+ - [ ] AC 逐条勾选,每条有证据
178
+ - [ ] 校验记录全绿,每行有证据链接
179
+ - [ ] 所有声明均满足"证据先于断言"
180
+ - [ ] 变更类型专项验证通过
181
+ - [ ] 前端项目:`frontend/nfr-web` 的专项证据齐全
File without changes
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: zsk:adr
3
+ description: Cross-module long-lived architectural decision record — context,
4
+ decision, rationale, alternatives considered, and consequences. Produces
5
+ docs/system/adrs/ADR-NNNN-{slug}.md. Not for single-module implementation
6
+ choices.
7
+ category: resource
8
+ domain: system
9
+ tier: optional
10
+ related:
11
+ - ../architecture/SKILL.md
12
+ - ../../sdlc/design/SKILL.md
13
+ - ../../sdlc/archive/SKILL.md
14
+ triggers:
15
+ - architecture decision record
16
+ - ADR template
17
+ - MADR
18
+ - cross-module decision
19
+ - tech selection
20
+ - deprecated superseded
21
+ ---
22
+
23
+ # System: ADR(架构决策记录模板)
24
+
25
+ > **定位**:跨模块、长生命周期、可追溯的系统级决策
26
+ > **参考规范**:Michael Nygard《Documenting Architecture Decisions》、MADR(Markdown Any Decision Records)
27
+ > **填充位置**:`docs/system/adrs/ADR-NNNN-{kebab-slug}.md`(NNNN 从 0001 递增,不复用不跳号)
28
+
29
+ ## 什么算 ADR
30
+
31
+ **适合 ADR 的决策**:
32
+
33
+ - 跨模块的技术选型(状态管理 / UI 库 / 构建工具)
34
+ - 系统架构变更(拆分模块 / 替换依赖 / 升级主版本)
35
+ - 工程约定的系统级变化(状态管理库选型 / 统一 commit 规范 / API 契约来源)
36
+ - 有替代方案、需要权衡、具有"宪法"性质的选择
37
+
38
+ **不适合 ADR 的**(放 `design.md` 或 `../standards/code-standards.md`):
39
+
40
+ - 单模块内部实现选择
41
+ - 代码风格细节(命名 / 格式)
42
+ - 临时方案 / 实验性改动
43
+
44
+ ## ADR 生命周期
45
+
46
+ ```text
47
+ Proposed → Accepted → (optional) Deprecated / Superseded by ADR-N
48
+ ```
49
+
50
+ | 状态 | 含义 |
51
+ | --- | --- |
52
+ | `Proposed` | 已起草,待评审 |
53
+ | `Accepted` | 已批准并生效 |
54
+ | `Deprecated` | 不再推荐,但未被替代 |
55
+ | `Superseded by ADR-N` | 被新 ADR 取代 |
56
+ | `Rejected` | 评审后放弃(保留记录) |
57
+
58
+ **ADR 不可修改**(除状态字段和"后续说明")。决策需要变化时写新 ADR 并标注 Superseded。
59
+
60
+ ## 模板
61
+
62
+ ```md
63
+ # ADR-{NNNN}:{决策名}
64
+
65
+ > 状态:Proposed / Accepted / Deprecated / Superseded by ADR-{N} / Rejected
66
+ > 日期:{YYYY-MM-DD}
67
+ > 提案人:{姓名}
68
+ > 评审人:{列表}
69
+ > 影响范围:全项目 / {模块列表}
70
+
71
+ ## 上下文(Context)
72
+
73
+ {什么问题、什么触发、为什么现在需要决策}
74
+
75
+ ## 决策(Decision)
76
+
77
+ {选择的方案,单行能讲清更好}
78
+
79
+ ## 理由(Rationale)
80
+
81
+ {为什么选这个,关键权衡依据}
82
+
83
+ ## 替代方案(Alternatives Considered)
84
+
85
+ ### A. {方案名}(选定 / 放弃)
86
+
87
+ - **做法**:
88
+ - **优势**:
89
+ - **劣势**:
90
+ - **为什么{选 / 放弃}**:
91
+
92
+ ### B. {方案名}(放弃)
93
+
94
+ ### C. {方案名}(放弃)
95
+
96
+ ## 后果(Consequences)
97
+
98
+ ### 正面
99
+ - ...
100
+
101
+ ### 负面 / 成本
102
+ - ...
103
+
104
+ ### 需要后续跟进
105
+ - [ ] {项}:负责人 {姓名},期限 {日期}
106
+
107
+ ## 合规约束(约束哪些文件 / 规范)
108
+
109
+ - `standards/{x}.md`:{新增 / 修改的约束}
110
+ - `SYSTEM-SPEC.md`:{索引更新}
111
+ - 模块 `design.md` 的 ADR:{约束模块级决策需引用本 ADR}
112
+
113
+ ## 后续说明(Updates)
114
+
115
+ > 本节可追加。原决策主体不修改。
116
+
117
+ - {YYYY-MM-DD}:{补充说明}
118
+ ```
119
+
120
+ ## 编号规则
121
+
122
+ - 从 `ADR-0001` 开始
123
+ - 4 位数字,左补零
124
+ - 被 Rejected / Deprecated 的 ADR **也占用编号**(不复用)
125
+ - 文件名:`ADR-NNNN-{kebab-slug}.md`(slug 与标题一致)
126
+
127
+ ## 索引维护
128
+
129
+ `docs/system/adrs/README.md` 必须维护:
130
+
131
+ ```md
132
+ # ADR Index
133
+
134
+ | 编号 | 标题 | 状态 | 日期 |
135
+ | --- | --- | --- | --- |
136
+ | ADR-0001 | 状态管理选型 | Accepted | YYYY-MM-DD |
137
+ | ADR-0002 | UI 组件库选型 | Accepted | YYYY-MM-DD |
138
+ | ADR-0003 | 路由库与版本锁定 | Accepted | YYYY-MM-DD |
139
+ | ADR-0004 | i18n 入口与多语同步 | Accepted | YYYY-MM-DD |
140
+ | ADR-0005 | API 契约来源 | Accepted | YYYY-MM-DD |
141
+ ```
142
+
143
+ ## 示例 ADR(建议首批起草)
144
+
145
+ 新项目建议首批登记以下五类决策(具体选型由项目决定):
146
+
147
+ 1. **ADR-0001**:状态管理选型(异步状态 / 共享状态 / 禁用清单)
148
+ 2. **ADR-0002**:UI 组件库选型(引用路径、Design Token 来源)
149
+ 3. **ADR-0003**:路由库与版本锁定(何时升级)
150
+ 4. **ADR-0004**:i18n 入口与多语同步规则(key 命名空间、fallback、ICU)
151
+ 5. **ADR-0005**:API 契约来源(后端事实源 / 前端自写类型等)
152
+
153
+ ## 与其他文件的关系
154
+
155
+ | 文件 | 关系 |
156
+ | --- | --- |
157
+ | `SYSTEM-SPEC.md` | 摘要索引 ADR 关键决策 |
158
+ | `system/architecture.md` | 引用 ADR 解释架构选择 |
159
+ | `standards/*.md` | 操作规范实现 ADR 的决策 |
160
+ | 模块 `design.md` | 模块 ADR 遵守系统 ADR 约束 |
161
+
162
+ ## 质量门禁
163
+
164
+ - [ ] 编号连续不跳号
165
+ - [ ] 包含 Context / Decision / Rationale / Alternatives / Consequences 五段
166
+ - [ ] 至少列出 2 个替代方案及放弃原因
167
+ - [ ] 影响范围明确
168
+ - [ ] 索引已更新
169
+ - [ ] 状态生命周期遵守(不修改已 Accepted 的主体)
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: zsk:architecture
3
+ description: Project system architecture documentation — C4 context diagram,
4
+ tech stack baseline, module boundaries, routing, auth flow, data flow
5
+ (request/state/contract), deployment topology, related ADRs. Frontend
6
+ micro-frontend topology is an optional add-on section.
7
+ category: resource
8
+ domain: system
9
+ tier: optional
10
+ related:
11
+ - ../adr/SKILL.md
12
+ - ../../sdlc/design/SKILL.md
13
+ triggers:
14
+ - system architecture
15
+ - C4 model
16
+ - tech stack baseline
17
+ - module boundaries
18
+ - module federation
19
+ - auth flow
20
+ - data flow
21
+ ---
22
+
23
+ # System: Architecture(系统架构)
24
+
25
+ > **定位**:**本项目**总体架构事实源的**模板** — 模块边界、路由、鉴权流、数据流;(可选)模块联邦拓扑
26
+ > **填充位置**:本文件是**模板**;实际架构填到 `docs/system/architecture.md` 或并入 `SYSTEM-SPEC.md` 的架构章节
27
+ > **参考规范**:C4 Model(Simon Brown)、4+1 架构视图(Kruchten)、ADR(Michael Nygard)
28
+
29
+ ## 何时需要
30
+
31
+ - 新工程初始化
32
+ - 大规模架构调整
33
+ - 新成员 onboarding 材料
34
+ - 跨模块决策回溯
35
+
36
+ ## 标准结构(通用骨架)
37
+
38
+ 1. 总览(Context)
39
+ 2. 技术栈与版本基线
40
+ 3. 模块边界与职责
41
+ 4. 路由策略
42
+ 5. 鉴权与权限流
43
+ 6. 数据流(请求 / 状态 / 缓存)
44
+ 7. 环境与部署拓扑
45
+ 8. 跨模块共享能力
46
+ 9. 关联 ADR
47
+ 10. **(可选 · 前端微前端场景)** 模块联邦拓扑
48
+
49
+ ## 最小模板
50
+
51
+ ```md
52
+ # {项目} 系统架构
53
+
54
+ > 版本:{YYYY-MM-DD}
55
+ > 维护人:{姓名}
56
+ > 关联规约:`SYSTEM-SPEC.md`
57
+ > ADR 索引:`docs/system/adrs/`
58
+
59
+ ## 1. 总览(C4 Context)
60
+
61
+ \`\`\`mermaid
62
+ flowchart LR
63
+ User[用户] --> App[应用]
64
+ App --> SvcA[{domain-a} 服务]
65
+ App --> SvcB[{domain-b} 服务]
66
+ \`\`\`
67
+
68
+ ## 2. 技术栈基线
69
+
70
+ | 层 | 选型 | 版本 | 说明 |
71
+ | --- | --- | --- | --- |
72
+ | 框架 | `{{config.stack.framework}}` | `{{版本}}` | |
73
+ | 语言 | `{{config.stack.language}}` | `{{版本}}` | strict 模式 |
74
+ | 构建 | `{{config.stack.build_tool}}` | | |
75
+ | 测试框架 | `{{config.stack.test_framework}}` | | |
76
+ | HTTP 客户端 | `{{config.stack.http_client}}` | | |
77
+
78
+ > 前端额外可补:路由 / 样式 / UI 库 / 状态库等 — 见 `frontend/*` 领域的 skills。
79
+
80
+ ## 3. 模块边界与职责
81
+
82
+ | 模块 | 职责 | 事实源 | 负责人 |
83
+ | --- | --- | --- | --- |
84
+ | `{module-a}` | {职责} | `docs/{module-a}/` | |
85
+ | `{module-b}` | {职责} | `docs/{module-b}/` | |
86
+
87
+ ### 共享能力
88
+
89
+ | 能力 | 位置 | 说明 |
90
+ | --- | --- | --- |
91
+ | 请求客户端 | `{{config.paths.services_entry}}` | 统一出口 |
92
+ | 工具函数 | `{{config.paths.utils_root}}` | 公共纯函数 |
93
+
94
+ ## 4. 路由策略
95
+
96
+ - 路由方案:{项目实际方案}
97
+ - 入口:{路由文件路径}
98
+ - 权限守卫:{策略}
99
+
100
+ ## 5. 鉴权与权限流
101
+
102
+ \`\`\`mermaid
103
+ sequenceDiagram
104
+ User->>App: 登录
105
+ App->>Auth: 校验凭证
106
+ Auth-->>App: Token + 用户信息
107
+ App->>API: 携带 Token 请求
108
+ API-->>App: 数据 / 401 / 403
109
+ \`\`\`
110
+
111
+ - Token:{存储方式}
112
+ - 权限判断:UI 防误操作 + **后端最终校验**(见 `quality/security-owasp`)
113
+ - 越权:401 跳登录;403 跳无权限页
114
+
115
+ ## 6. 数据流
116
+
117
+ ### 请求层
118
+ - 入口:`{{config.stack.http_client}}`
119
+ - 客户端:`{{config.paths.services_entry}}` 按服务域导出
120
+ - 归一化:service 层吸收响应差异
121
+
122
+ ### 状态层
123
+ - 组件本地:本地状态 API
124
+ - 异步状态:`{{config.stack.state_async}}`(见 ADR)
125
+ - 跨模块:`{{config.stack.state_shared}}`(见 ADR)
126
+
127
+ ### 契约层
128
+ - 类型定义来自后端:`{{config.paths.api_contracts}}/{service}/`
129
+ - 前端只同步 + 消费
130
+
131
+ ## 7. 环境与部署
132
+
133
+ | 环境 | 用途 | 后端域名 |
134
+ | --- | --- | --- |
135
+ | dev | 本地开发 | `{dev-domain}` |
136
+ | test | 集成测试 | `{test-domain}` |
137
+ | pre | 预发 | `{pre-domain}` |
138
+ | prod | 生产 | `{prod-domain}` |
139
+
140
+ 部署流水线:{Jenkins / GitHub Actions / 其他}
141
+
142
+ ## 8. 关联 ADR
143
+
144
+ | ADR | 决策 | 状态 |
145
+ | --- | --- | --- |
146
+ | ADR-0001 | {决策名} | Accepted |
147
+ | ADR-0002 | {决策名} | Accepted |
148
+
149
+ ## 9. (前端微前端场景)模块联邦拓扑
150
+
151
+ > 仅当项目采用 Module Federation / 类似 MF 架构时填本节。
152
+
153
+ ### 本应用暴露
154
+
155
+ | 暴露点 | 实现文件 | 消费方 |
156
+ | --- | --- | --- |
157
+ | `./AppEntry` | `{{config.paths.mf_expose_entry}}` | Shell 主应用 |
158
+
159
+ ### 本应用消费
160
+
161
+ | 远端 | 来源 | 用途 |
162
+ | --- | --- | --- |
163
+
164
+ ### 拓扑图
165
+
166
+ \`\`\`mermaid
167
+ flowchart LR
168
+ Shell[Shell 主应用] --> AppA[应用 A 微前端]
169
+ Shell --> AppB[应用 B 微前端]
170
+ \`\`\`
171
+ ```
172
+
173
+ ## 质量门禁
174
+
175
+ - [ ] 总览图(Mermaid C4)存在
176
+ - [ ] 技术栈基线含版本号
177
+ - [ ] 模块边界与负责人明确
178
+ - [ ] 鉴权流时序图
179
+ - [ ] 数据流三层(请求 / 状态 / 契约)
180
+ - [ ] 关联 ADR 索引
181
+ - [ ] 与 `SYSTEM-SPEC.md` 交叉一致
182
+ - [ ] (前端 MF 场景)模块联邦暴露 / 消费清单完整
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: zsk:glossary
3
+ description: Project Ubiquitous Language maintenance — single source for
4
+ business terms, domain entities, state names, technical terms, and acronyms.
5
+ Eliminates same-concept-different-names confusion across modules and backend
6
+ contracts.
7
+ category: resource
8
+ domain: system
9
+ tier: optional
10
+ related:
11
+ - ../../sdlc/spec/SKILL.md
12
+ triggers:
13
+ - glossary
14
+ - ubiquitous language
15
+ - DDD terms
16
+ - business term
17
+ - acronym list
18
+ - deprecated terms
19
+ ---
20
+
21
+ # System: Glossary(全局术语表)
22
+
23
+ > **定位**:项目统一语言(Ubiquitous Language,DDD 概念) — 跨模块术语的单一事实源
24
+ > **参考规范**:Eric Evans《Domain-Driven Design》、EVA / BDD 术语一致性原则
25
+ > **填充位置**:`docs/system/glossary.md`
26
+ > **维护纪律**:术语一旦纳入,跨所有文档 / 代码 / UI 文案统一使用
27
+
28
+ ## 为什么需要
29
+
30
+ - 避免同一概念在不同模块有不同叫法(例"组织" vs "机构" vs "单位")
31
+ - 避免同一个词指代不同含义(例"范围" = 适用范围 还是 数据范围?)
32
+ - 对 AI 编程友好:AI 在不同会话中对术语的解读保持一致
33
+ - 对后端契约友好:字段名 / 枚举值与业务术语对齐
34
+
35
+ ## 术语分类
36
+
37
+ | 类别 | 示例(举例说明,不代表任何具体项目) |
38
+ | --- | --- |
39
+ | **业务概念** | 业务中的核心名词,如 "订单"、"工单"、"项目" 等 |
40
+ | **领域实体** | 代码中的类型 / 字段名,如 `Order`、`Ticket` |
41
+ | **状态 / 动作** | "启用 / 禁用"、"发起 / 撤回"、"审批中" 等 |
42
+ | **技术概念** | 架构或运行时名词,如 模块联邦、虚拟根节点、懒加载 |
43
+ | **缩略语** | NFR、ADR、RCA、DoR、DoD、MF |
44
+
45
+ ## 模板
46
+
47
+ ```md
48
+ # 项目术语表
49
+
50
+ > 版本:{YYYY-MM-DD}
51
+ > 维护人:{姓名}
52
+ > 关联:`{{config.paths.srs}}`、各模块 `spec.md` 的术语表章节
53
+
54
+ ## 约定
55
+
56
+ - 中文术语为主,英文标识(用于代码 / 字段名)跟随
57
+ - 每条术语:**中文名 | 英文标识 | 定义 | 使用场景 | 对应代码字段**
58
+ - 消除歧义:标注"不要与 X 混淆"
59
+ - 禁用词:列出曾用但已废弃的叫法
60
+
61
+ ## 业务概念
62
+
63
+ > 以下仅为结构示例,实际术语应来自本项目的 SRS / PRD 与代码。
64
+
65
+ ### {业务概念中文名}({英文标识})
66
+
67
+ - **定义**:一句话说清"它是什么"
68
+ - **场景**:它在哪些业务流程 / 页面出现
69
+ - **代码字段**:`{fieldName}` / `{alternateField}`
70
+ - **不要混淆**:
71
+ - "{本术语}" ≠ "{易混淆术语}"(差别是 ...)
72
+
73
+ ### {另一业务概念}({英文标识})
74
+
75
+ - **定义**:...
76
+ - **场景**:...
77
+ - **代码字段**:...
78
+
79
+ ## 状态与动作
80
+
81
+ ### {实体}状态
82
+
83
+ | 状态 | 代码 | 说明 |
84
+ | --- | --- | --- |
85
+ | {状态名} | `{code}` | {含义} |
86
+
87
+ ### {流程}状态
88
+
89
+ | 状态 | 代码 | 说明 |
90
+ | --- | --- | --- |
91
+ | {状态名} | `{code}` | {含义} |
92
+
93
+ ## 技术概念
94
+
95
+ ### {技术名词}({英文})
96
+
97
+ - **定义**:该名词在本项目中的具体含义(不要照搬通用百科定义)
98
+ - **代码入口**:`{相关文件路径}`
99
+
100
+ ## 缩略语
101
+
102
+ | 缩写 | 全称 | 含义 |
103
+ | --- | --- | --- |
104
+ | NFR | Non-Functional Requirement | 非功能需求 |
105
+ | ADR | Architecture Decision Record | 架构决策记录 |
106
+ | RCA | Root Cause Analysis | 根因分析 |
107
+ | DoR | Definition of Ready | 准入定义 |
108
+ | DoD | Definition of Done | 完成定义 |
109
+ | MF | Module Federation | 模块联邦 |
110
+ | BDD | Behavior-Driven Development | 行为驱动开发 |
111
+ | TDD | Test-Driven Development | 测试驱动开发 |
112
+ | WCAG | Web Content Accessibility Guidelines | Web 内容可访问性指南 |
113
+ | a11y | accessibility(首尾字母 + 中间 11 字符) | 可访问性 |
114
+ | i18n | internationalization(首尾字母 + 18 字符) | 国际化 |
115
+ | MCP | Model Context Protocol | 模型上下文协议 |
116
+ | SRS | Software Requirements Specification | 软件需求规格 |
117
+ | UE | User Experience | 用户体验 |
118
+
119
+ ## 废弃词汇(Deprecated Terms)
120
+
121
+ > 历史用过但已废弃,避免再用。
122
+
123
+ | 废弃词 | 替代词 | 废弃日期 |
124
+ | --- | --- | --- |
125
+ ```
126
+
127
+ ## 维护规则
128
+
129
+ - 新增术语必须同步到本文件
130
+ - 修改术语定义必须通过 ADR(影响面大)
131
+ - 每个模块 `spec.md` 的术语表只列**模块特有**术语,通用术语引用本文件
132
+ - 发现代码 / 文档中有未登记术语,先录入本文件再使用
133
+
134
+ ## 质量门禁
135
+
136
+ - [ ] 每条术语含"定义 + 场景 + 代码字段 + 混淆提醒"
137
+ - [ ] 无歧义(同一概念一个叫法)
138
+ - [ ] 缩略语有全称
139
+ - [ ] 废弃词汇有替代方案
140
+ - [ ] 与 `{{config.paths.srs}}` 交叉一致
141
+ - [ ] 与后端接口字段交叉一致