sdd-full 4.2.0 → 4.3.1
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/bin.js +98 -80
- package/package.json +1 -1
- package/skills/README.md +97 -0
- package/skills/call-adaptation/SKILL.md +23 -0
- package/skills/call-adaptation/call-adaptation-guide.md +136 -0
- package/skills/call-adaptation/claude-code-call-spec.md +50 -0
- package/skills/call-adaptation/trae-call-spec.md +56 -0
- package/skills/checklist.md +154 -0
- package/skills/design-planning/ai-coding-rules/SKILL.md +52 -0
- package/skills/design-planning/design-to-code/SKILL.md +53 -0
- package/skills/design-planning/enterprise-spec/SKILL.md +52 -3
- package/skills/design-planning/flutter-av/SKILL.md +44 -34
- package/skills/design-planning/flutter-map/SKILL.md +41 -31
- package/skills/design-planning/function-sdd/SKILL.md +54 -0
- package/skills/design-planning/sdd-code/SKILL.md +347 -0
- package/skills/design-planning/sdd-deploy/SKILL.md +501 -0
- package/skills/design-planning/sdd-ops/SKILL.md +306 -0
- package/skills/design-planning/sdd-test/SKILL.md +383 -0
- package/skills/design-planning/ui-sdd/SKILL.md +291 -0
- package/skills/design-planning/ui-sdd-specialized/SKILL.md +46 -40
- package/skills/design-planning/writing-plans/SKILL.md +144 -0
- package/skills/development-execution/flutter-errors/SKILL.md +44 -34
- package/skills/development-execution/sdd-add/SKILL.md +540 -0
- package/skills/development-execution/systematic-debugging/SKILL.md +298 -0
- package/skills/development-execution/test-driven-development/SKILL.md +373 -0
- package/skills/development-execution/verification-before-completion/SKILL.md +141 -0
- package/skills/knowledge-precipitation/claudeception/SKILL.md +96 -0
- package/skills/knowledge-precipitation/mempalace-auto-saver/SKILL.md +302 -0
- package/skills/quality-assurance/bdd-acceptance/SKILL.md +44 -37
- package/skills/quality-assurance/flutter-test/SKILL.md +56 -0
- package/skills/quality-assurance/quality-gate/SKILL.md +350 -0
- package/skills/quality-assurance/security-audit/SKILL.md +386 -0
- package/skills/release-ops/finishing-a-development-branch/SKILL.md +202 -0
- package/skills/release-ops/release-flow/SKILL.md +404 -0
- package/skills/requirement-analysis/brainstorming/SKILL.md +166 -0
- package/skills/requirement-analysis/competitive-brief/SKILL.md +121 -0
- package/skills/requirement-analysis/market-research/SKILL.md +143 -0
- package/skills/requirement-analysis/prd-write/SKILL.md +111 -0
- package/skills/requirement-analysis/requirement-completion-officer/SKILL.md +124 -0
- package/skills/requirement-analysis/sdd/SKILL.md +1044 -0
- package/skills/requirement-analysis/sdd-full/SKILL.md +717 -36
- package/skills/requirement-analysis/unified-flow/SKILL.md +128 -26
- package/skills/rules/project_rules.md +167 -0
- package/skills/rules/user_rules.md +254 -69
- package/skills/special-tools/env-check/SKILL.md +40 -34
- package/skills/special-tools/receiving-code-review/SKILL.md +215 -0
- package/skills/special-tools/requesting-code-review/SKILL.md +107 -0
- package/skills/special-tools/using-superpowers/SKILL.md +117 -0
- package/skills/templates/API-SDD.md +31 -0
- package/skills/templates/Andrej Karpathy AI/347/274/226/347/240/201/350/247/204/345/210/231/350/220/275/345/234/260SDD.md" +117 -0
- package/skills/templates/BDD/351/243/216/346/240/274/351/252/214/346/224/266/346/240/207/345/207/206SDD.md +147 -0
- package/skills/templates/Base-SDD.md +38 -0
- package/skills/templates/Brain-SDD.md +36 -0
- package/skills/templates/Code-SDD.md +41 -0
- package/skills/templates/Competitor-SDD.md +34 -0
- package/skills/templates/Env-SDD.md +37 -0
- package/skills/templates/Flutter/345/205/250/347/261/273/345/236/213/346/265/213/350/257/225/347/255/226/347/225/245SDD.md +162 -0
- package/skills/templates/Flutter/345/234/260/345/233/276/345/257/274/350/210/252/344/270/232/345/212/241SDD.md +136 -0
- package/skills/templates/Flutter/345/270/270/350/247/201/345/274/202/345/270/270/344/270/223/351/241/271SDD.md +159 -0
- package/skills/templates/Flutter/351/237/263/350/247/206/351/242/221/345/205/250/346/240/210SDD.md +121 -0
- package/skills/templates/PRD-SDD.md +45 -0
- package/skills/templates/SKILL.md +91 -0
- package/skills/templates/Test-SDD.md +34 -0
- package/skills/templates/UI-SDD.md +38 -0
- package/skills/templates/UI-SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +141 -0
- package/skills/templates/UI/350/265/204/346/272/220/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220SDD.md +67 -0
- package/skills/templates//344/274/201/344/270/232/347/272/247/345/205/250/346/240/210/345/267/245/347/250/213/350/247/204/350/214/203SDD.md +152 -0
- package/skills/templates//345/205/250/346/265/201/347/250/213SDD/350/236/215/345/220/210/344/275/223/347/263/273.md +198 -0
- package/skills/templates//345/212/237/350/203/275SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +132 -0
- package/skills/templates//347/216/257/345/242/203/351/242/204/346/243/200/346/240/207/345/207/206/345/214/226SDD.md +153 -0
- package/skills/templates//351/253/230/344/277/235/347/234/237/350/256/276/350/256/241/350/275/254/344/273/243/347/240/201SDD.md +119 -0
- package/skills//345/256/214/346/225/264/345/274/200/345/217/221/346/265/201/347/250/213/346/211/213/345/206/214.md +408 -0
- package/skills//346/212/200/350/203/275/344/275/223/347/263/273/345/256/214/345/226/204/345/273/272/350/256/256.md +305 -0
- package/skills//346/212/200/350/203/275/344/275/277/347/224/250/346/214/207/345/215/227.md +285 -0
- package/skills//346/212/200/350/203/275/345/206/263/347/255/226/346/240/221.md +320 -0
- package/skills/brainstorming/SKILL.md +0 -164
- package/skills/brainstorming/scripts/frame-template.html +0 -214
- package/skills/brainstorming/scripts/helper.js +0 -88
- package/skills/brainstorming/scripts/server.cjs +0 -338
- package/skills/brainstorming/scripts/start-server.sh +0 -153
- package/skills/brainstorming/scripts/stop-server.sh +0 -55
- package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -48
- package/skills/brainstorming/visual-companion.md +0 -286
- package/skills/chinese-code-review/SKILL.md +0 -277
- package/skills/chinese-commit-conventions/SKILL.md +0 -364
- package/skills/chinese-documentation/SKILL.md +0 -448
- package/skills/chinese-git-workflow/SKILL.md +0 -510
- package/skills/dispatching-parallel-agents/SKILL.md +0 -182
- package/skills/executing-plans/SKILL.md +0 -175
- package/skills/finishing-a-development-branch/SKILL.md +0 -200
- package/skills/mcp-builder/SKILL.md +0 -255
- package/skills/receiving-code-review/SKILL.md +0 -213
- package/skills/requesting-code-review/SKILL.md +0 -105
- package/skills/requesting-code-review/code-reviewer.md +0 -146
- package/skills/rules/skill-map.md +0 -97
- package/skills/subagent-driven-development/SKILL.md +0 -277
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -26
- package/skills/subagent-driven-development/implementer-prompt.md +0 -113
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -61
- package/skills/systematic-debugging/CREATION-LOG.md +0 -119
- package/skills/systematic-debugging/SKILL.md +0 -296
- package/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
- package/skills/systematic-debugging/condition-based-waiting.md +0 -115
- package/skills/systematic-debugging/defense-in-depth.md +0 -122
- package/skills/systematic-debugging/find-polluter.sh +0 -63
- package/skills/systematic-debugging/root-cause-tracing.md +0 -169
- package/skills/systematic-debugging/test-academic.md +0 -14
- package/skills/systematic-debugging/test-pressure-1.md +0 -58
- package/skills/systematic-debugging/test-pressure-2.md +0 -68
- package/skills/systematic-debugging/test-pressure-3.md +0 -69
- package/skills/test-driven-development/SKILL.md +0 -371
- package/skills/test-driven-development/testing-anti-patterns.md +0 -299
- package/skills/using-git-worktrees/SKILL.md +0 -218
- package/skills/using-superpowers/SKILL.md +0 -134
- package/skills/using-superpowers/references/codex-tools.md +0 -25
- package/skills/using-superpowers/references/gemini-tools.md +0 -33
- package/skills/verification-before-completion/SKILL.md +0 -139
- package/skills/workflow-runner/SKILL.md +0 -172
- package/skills/writing-plans/SKILL.md +0 -152
- package/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
- package/skills/writing-skills/SKILL.md +0 -654
- package/skills/writing-skills/anthropic-best-practices.md +0 -1149
- package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
- package/skills/writing-skills/graphviz-conventions.dot +0 -172
- package/skills/writing-skills/persuasion-principles.md +0 -187
- package/skills/writing-skills/render-graphs.js +0 -168
- package/skills/writing-skills/testing-skills-with-subagents.md +0 -384
|
@@ -1,54 +1,735 @@
|
|
|
1
|
-
|
|
1
|
+
【claude code调用标识:sdd-full-flow】【trae调用标识:sdd-full-flow+全流程开发】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代、4.Bug处理、5.代码发布】
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
---
|
|
4
|
+
name: sdd-full-flow
|
|
5
|
+
description: "SDD全流程开发 - 提供5个流程选项:完整3阶段流程、从零开始新项目、小型功能迭代、Bug处理、代码发布"
|
|
6
|
+
---
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
<SUBAGENT-STOP>
|
|
9
|
+
如果您被派作为子代理执行特定任务,请跳过此技能。
|
|
10
|
+
</SUBAGENT-STOP>
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
# SDD全流程开发
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
## 🎯 流程选项
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
请选择您要使用的流程:
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
```
|
|
19
|
+
1. 完整3阶段SDD流程(推荐)
|
|
20
|
+
2. 从零开始新项目(简化版)
|
|
21
|
+
3. 小型功能迭代
|
|
22
|
+
4. Bug处理
|
|
23
|
+
5. 代码发布
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 🚀 开始流程
|
|
29
|
+
|
|
30
|
+
### 第一步:询问用户选择
|
|
31
|
+
|
|
32
|
+
首先询问用户:
|
|
33
|
+
```
|
|
34
|
+
综合开发流程已启动!
|
|
35
|
+
请选择您要使用的流程:
|
|
36
|
+
1. 完整3阶段SDD流程(推荐)
|
|
37
|
+
2. 从零开始新项目(简化版)
|
|
38
|
+
3. 小型功能迭代
|
|
39
|
+
4. Bug处理
|
|
40
|
+
5. 代码发布
|
|
41
|
+
|
|
42
|
+
请输入选项编号(1-5):
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 第二步:按选择的流程执行
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. 从零开始新项目(简化版)
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
1. 市场调研/头脑风暴(可选,如需要创意/调研)
|
|
53
|
+
↓
|
|
54
|
+
2. PRD编写(可选,写PRD)
|
|
55
|
+
↓
|
|
56
|
+
3. 需求补全(可选,requirement-completion-officer)
|
|
57
|
+
↓
|
|
58
|
+
4. SDD拆分(sdd/sdd-full)
|
|
59
|
+
↓
|
|
60
|
+
5. UI设计(可选,ui-sdd)
|
|
61
|
+
↓
|
|
62
|
+
6. 实现拆分(sdd-code,含代码规范、技术债务、重构计划)
|
|
63
|
+
↓
|
|
64
|
+
7. 测试设计(sdd-test)
|
|
65
|
+
↓
|
|
66
|
+
8. 部署设计(可选,sdd-deploy)
|
|
67
|
+
↓
|
|
68
|
+
9. 制定计划(可选,writing-plans)
|
|
69
|
+
↓
|
|
70
|
+
10. 开始开发(可选,test-driven-development)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 3. 小型功能迭代
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
1. 需求补全(可选,requirement-completion-officer)
|
|
79
|
+
↓
|
|
80
|
+
2. 制定计划(可选,writing-plans)
|
|
81
|
+
↓
|
|
82
|
+
3. sdd-add快速处理
|
|
83
|
+
↓
|
|
84
|
+
4. 如果涉及UI/复杂逻辑,补充调用 ui-sdd/sdd-code
|
|
85
|
+
↓
|
|
86
|
+
5. verification-before-completion验证
|
|
87
|
+
↓
|
|
88
|
+
6. quality-gate质量检查
|
|
89
|
+
↓
|
|
90
|
+
7. finishing-a-development-branch完成分支(可选)
|
|
91
|
+
↓
|
|
92
|
+
8. 简单发布
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 4. Bug处理
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
1. systematic-debugging调试
|
|
101
|
+
↓
|
|
102
|
+
2. sdd-add修复
|
|
103
|
+
↓
|
|
104
|
+
3. verification-before-completion验证
|
|
105
|
+
↓
|
|
106
|
+
4. quality-gate质量检查
|
|
107
|
+
↓
|
|
108
|
+
5. claudeception经验沉淀
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 5. 代码发布
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
1. verification-before-completion验证
|
|
117
|
+
↓
|
|
118
|
+
2. quality-gate质量检查
|
|
119
|
+
↓
|
|
120
|
+
3. finishing-a-development-branch完成分支(可选)
|
|
121
|
+
↓
|
|
122
|
+
4. sdd-deploy部署设计(可选)
|
|
123
|
+
↓
|
|
124
|
+
5. release-flow发布管理
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 1. 完整3阶段SDD流程(推荐)
|
|
130
|
+
|
|
131
|
+
### 🔄 完整流程图
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
135
|
+
│ 阶段 1:产品经理阶段(Product Manager) │
|
|
136
|
+
│ ├─ 市场调研(market-research) │
|
|
137
|
+
│ ├─ 竞品分析(competitive-brief) │
|
|
138
|
+
│ ├─ 用户调研 │
|
|
139
|
+
│ ├─ 头脑风暴(brainstorming)【新增】 │
|
|
140
|
+
│ ├─ 需求文档编写(PRD) │
|
|
141
|
+
│ └─ 完成后询问:【是否进行SDD拆分?】→ 是则进入阶段2 │
|
|
142
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
143
|
+
↓ 是
|
|
144
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
145
|
+
│ 阶段 2:SDD拆分阶段(Split Phase) │
|
|
146
|
+
│ ├─ 基础SDD拆分(sdd) │
|
|
147
|
+
│ │ ├─ Epic拆分(如需要) │
|
|
148
|
+
│ │ ├─ 用户故事拆分(INVEST原则) │
|
|
149
|
+
│ │ ├─ 前后端架构拆分 │
|
|
150
|
+
│ │ ├─ 数据库+接口拆分 │
|
|
151
|
+
│ │ └─ SDD垂直切片 │
|
|
152
|
+
│ ├─ UI交互SDD(ui-sdd)【新增】 │
|
|
153
|
+
│ │ ├─ UI设计梳理 │
|
|
154
|
+
│ │ ├─ 交互逻辑设计 │
|
|
155
|
+
│ │ └─ UI-SDD规范文档 │
|
|
156
|
+
│ ├─ 功能实现SDD(sdd-code) │
|
|
157
|
+
│ │ ├─ 按语言架构拆分(前端/后端/Flutter) │
|
|
158
|
+
│ │ ├─ 代码规范定义 │
|
|
159
|
+
│ │ └─ 技术债务管理+重构计划 │
|
|
160
|
+
│ ├─ 测试SDD(sdd-test) │
|
|
161
|
+
│ │ ├─ 单元/集成/E2E测试SDD │
|
|
162
|
+
│ │ ├─ 性能/安全测试SDD │
|
|
163
|
+
│ │ └─ 测试数据管理 │
|
|
164
|
+
│ ├─ 部署SDD(sdd-deploy) │
|
|
165
|
+
│ │ ├─ 环境配置 │
|
|
166
|
+
│ │ ├─ 发布流程/回滚方案 │
|
|
167
|
+
│ │ └─ 灰度发布/A/B测试 │
|
|
168
|
+
│ ├─ 运维SDD(sdd-ops) │
|
|
169
|
+
│ │ ├─ 监控告警/日志管理 │
|
|
170
|
+
│ │ ├─ 备份恢复/扩容策略 │
|
|
171
|
+
│ │ └─ 灾难恢复/运维手册 │
|
|
172
|
+
│ └─ 完成后询问:【是否进行MVP验证?】→ 是则进入阶段2.5 │
|
|
173
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
174
|
+
↓ 是
|
|
175
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
176
|
+
│ 阶段 2.5:MVP验证(Minimum Viable Product)【新增】 │
|
|
177
|
+
│ ├─ 最小MVP开发(基于SDD中最核心的用户故事) │
|
|
178
|
+
│ ├─ MVP内部测试 │
|
|
179
|
+
│ ├─ 用户介入测试(邀请真实用户测试) │
|
|
180
|
+
│ ├─ 反馈收集整理 │
|
|
181
|
+
│ ├─ 迭代优化(可调用 systematic-debugging/sdd-add) │
|
|
182
|
+
│ └─ 用户确认通过 → 是则进入阶段3 │
|
|
183
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
184
|
+
↓ 通过
|
|
185
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
186
|
+
│ 阶段 3:开发流程(Development Flow) │
|
|
187
|
+
│ ├─ 实现计划(writing-plans) │
|
|
188
|
+
│ ├─ TDD开发(test-driven-development) │
|
|
189
|
+
│ │ ├─ 分支A:调试流程(systematic-debugging)← 测试失败时触发 │
|
|
190
|
+
│ │ │ ├─ 错误根因分析 │
|
|
191
|
+
│ │ │ ├─ 修复问题 │
|
|
192
|
+
│ │ │ └─ 验证测试 │
|
|
193
|
+
│ │ ├─ 分支B:临时需求流程(sdd-add)← 临时需求插入时触发 │
|
|
194
|
+
│ │ │ ├─ 需求澄清(5W1H) │
|
|
195
|
+
│ │ │ ├─ 优先级决策 │
|
|
196
|
+
│ │ │ ├─ 成本估算+时间盒 │
|
|
197
|
+
│ │ │ ├─ 最小可行实现 │
|
|
198
|
+
│ │ │ └─ 技术债务记录 │
|
|
199
|
+
│ │ └─ 正常完成 → 继续 │
|
|
200
|
+
│ ├─ 验证完成(verification-before-completion) │
|
|
201
|
+
│ ├─ 代码审查(requesting-code-review + receiving-code-review) │
|
|
202
|
+
│ ├─ 质量门禁(quality-gate + security-audit) │
|
|
203
|
+
│ ├─ 交付发布(finishing-a-development-branch + release-flow) │
|
|
204
|
+
│ └─ 经验沉淀(claudeception + mempalace-auto-saver) │
|
|
205
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 🔄 完整3阶段SDD流程 - 详细步骤
|
|
211
|
+
|
|
212
|
+
### 第一步:调用 using-superpowers
|
|
213
|
+
|
|
214
|
+
首先调用 `using-superpowers` 建立技能调用规则,确保所有后续技能正确使用。
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
#### 阶段 1:产品经理阶段(Product Manager)
|
|
219
|
+
|
|
220
|
+
**目标**:从市场到需求,完成产品定义
|
|
221
|
+
|
|
222
|
+
**工具/技能**:
|
|
223
|
+
- `market-research` - 市场调研
|
|
224
|
+
- `competitive-brief` - 竞品分析
|
|
225
|
+
- `brainstorming` - 头脑风暴【新增】
|
|
226
|
+
- `prd-write` - 产品需求文档编写
|
|
227
|
+
|
|
228
|
+
**详细步骤**:
|
|
229
|
+
|
|
230
|
+
### 1.1 市场调研
|
|
231
|
+
- 目标用户分析
|
|
232
|
+
- 市场规模评估
|
|
233
|
+
- 趋势分析
|
|
234
|
+
- 痛点识别
|
|
235
|
+
- 机会点挖掘
|
|
236
|
+
|
|
237
|
+
**输出**:市场调研报告
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
### 1.2 竞品分析
|
|
242
|
+
- 直接竞品分析
|
|
243
|
+
- 间接竞品分析
|
|
244
|
+
- 竞品功能对比矩阵
|
|
245
|
+
- 竞品优劣势分析
|
|
246
|
+
- 差异化机会点
|
|
247
|
+
|
|
248
|
+
**输出**:竞品分析简报
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
### 1.3 用户调研
|
|
253
|
+
- 用户画像定义
|
|
254
|
+
- 用户访谈计划
|
|
255
|
+
- 需求收集整理
|
|
256
|
+
- 痛点优先级排序
|
|
257
|
+
|
|
258
|
+
**输出**:用户调研报告
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### 1.4 头脑风暴【新增】
|
|
263
|
+
- 需求分析和方案设计
|
|
264
|
+
- 功能探索和创意讨论
|
|
265
|
+
- 技术方案初步评估
|
|
266
|
+
- 用户体验设计探讨
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
### 1.5 PRD编写
|
|
271
|
+
- 产品目标定位
|
|
272
|
+
- 功能需求列表
|
|
273
|
+
- 非功能需求
|
|
274
|
+
- 用户故事初稿
|
|
275
|
+
- 验收标准定义
|
|
276
|
+
|
|
277
|
+
**输出**:完整PRD文档
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### 阶段1完成检查
|
|
282
|
+
- [ ] 市场调研报告完成
|
|
283
|
+
- [ ] 竞品分析简报完成
|
|
284
|
+
- [ ] 用户调研报告完成
|
|
285
|
+
- [ ] 头脑风暴完成
|
|
286
|
+
- [ ] PRD文档完成并用户确认
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
### 阶段1结束询问
|
|
291
|
+
```
|
|
292
|
+
产品经理阶段已完成!
|
|
293
|
+
是否进行SDD拆分?(是/否)
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
#### 阶段 2:SDD拆分阶段(Split Phase)
|
|
299
|
+
|
|
300
|
+
**目标**:从需求到可执行规格,完成全链路设计
|
|
301
|
+
|
|
302
|
+
**工具/技能**:
|
|
303
|
+
- `sdd` - 基础SDD拆分
|
|
304
|
+
- `ui-sdd` - UI交互SDD【新增】
|
|
305
|
+
- `sdd-code` - 功能实现SDD
|
|
306
|
+
- `sdd-test` - 测试SDD
|
|
307
|
+
- `sdd-deploy` - 部署SDD
|
|
308
|
+
- `sdd-ops` - 运维SDD
|
|
309
|
+
|
|
310
|
+
**详细步骤**:
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
### 2.1 基础SDD拆分(sdd)
|
|
315
|
+
|
|
316
|
+
**子阶段**:
|
|
317
|
+
1. **Epic拆分(如需要)**
|
|
318
|
+
- 判断是否为大型需求(预计>2周)
|
|
319
|
+
- Epic→Feature分层
|
|
320
|
+
- 按用户旅程/功能模块拆分
|
|
321
|
+
|
|
322
|
+
2. **用户故事拆分**
|
|
323
|
+
- 符合INVEST原则
|
|
324
|
+
- BDD格式验收标准
|
|
325
|
+
- 优先级排序(P0/P1/P2/P3)
|
|
326
|
+
- 工作量估算
|
|
327
|
+
|
|
328
|
+
3. **前后端架构拆分**
|
|
329
|
+
- 前端职责定义
|
|
330
|
+
- 后端职责定义
|
|
331
|
+
- 技术选型说明
|
|
332
|
+
|
|
333
|
+
4. **数据库+接口拆分**
|
|
334
|
+
- 数据库表结构
|
|
335
|
+
- RESTful API契约
|
|
336
|
+
- 契约版本管理
|
|
337
|
+
|
|
338
|
+
5. **SDD垂直切片**
|
|
339
|
+
- 按用户故事垂直切分
|
|
340
|
+
- 每个SDD = 1个子代理可执行单元
|
|
341
|
+
|
|
342
|
+
**输出**:
|
|
343
|
+
- `docs/stories/user_stories.md`
|
|
344
|
+
- `docs/architecture/frontend-backend.md`
|
|
345
|
+
- `docs/database/schema.md`
|
|
346
|
+
- `docs/api/contract.md`
|
|
347
|
+
- `specs/[story-name]/` 基础SDD
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
### 2.2 UI交互SDD(ui-sdd)【新增】
|
|
17
352
|
|
|
18
|
-
|
|
353
|
+
**核心内容**:
|
|
354
|
+
- UI设计梳理
|
|
355
|
+
- 页面组件清单
|
|
356
|
+
- 页面布局规范
|
|
357
|
+
- UI/UX设计规范
|
|
358
|
+
- 交互逻辑设计
|
|
359
|
+
- 用户操作流程
|
|
360
|
+
- 异常交互处理
|
|
361
|
+
- 反馈提示设计
|
|
362
|
+
- UI-SDD规范文档
|
|
363
|
+
- 完整的UI-SDD目录
|
|
364
|
+
- 页面/组件级SDD
|
|
365
|
+
- 设计规范文档
|
|
19
366
|
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
367
|
+
**输出**:
|
|
368
|
+
- `spec/ui/` 目录
|
|
369
|
+
- `pages/` 页面SDD
|
|
370
|
+
- `common/` 组件SDD
|
|
371
|
+
- `dialog/` 弹窗SDD
|
|
372
|
+
- `docs/ui/` UI设计规范文档
|
|
24
373
|
|
|
25
|
-
|
|
26
|
-
- 系统架构设计
|
|
27
|
-
- UI/UX设计
|
|
28
|
-
- API接口设计
|
|
29
|
-
- 数据库设计
|
|
374
|
+
---
|
|
30
375
|
|
|
31
|
-
###
|
|
32
|
-
- 开发计划制定
|
|
33
|
-
- 测试用例编写
|
|
34
|
-
- 部署方案设计
|
|
376
|
+
### 2.4 功能实现SDD(sdd-code)
|
|
35
377
|
|
|
36
|
-
|
|
378
|
+
**核心拆分**:
|
|
379
|
+
- 按语言架构特性拆分(前端/后端/Flutter)
|
|
380
|
+
- 每个最小功能逻辑单元 = 1个SDD
|
|
37
381
|
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
- Test-SDD:测试设计文档
|
|
43
|
-
- Env-SDD:环境部署文档
|
|
382
|
+
**代码规范**:
|
|
383
|
+
- 命名规范(大驼峰/小驼峰/常量)
|
|
384
|
+
- 注释规范
|
|
385
|
+
- 单一职责原则
|
|
44
386
|
|
|
45
|
-
|
|
387
|
+
**技术债务管理**:
|
|
388
|
+
- 识别技术债务
|
|
389
|
+
- 优先级排序
|
|
390
|
+
- 制定重构计划
|
|
46
391
|
|
|
392
|
+
**输出**:
|
|
393
|
+
- `specs/function-implementation-sdd/[story-name]/`
|
|
394
|
+
- `docs/tech-debt/`
|
|
395
|
+
- `specs/refactor-plans/`
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
### 2.6 测试SDD(sdd-test)
|
|
400
|
+
|
|
401
|
+
**测试类型覆盖**:
|
|
402
|
+
1. **单元测试SDD** - 覆盖率≥80%
|
|
403
|
+
2. **集成测试SDD** - 服务间交互
|
|
404
|
+
3. **E2E测试SDD** - 用户旅程
|
|
405
|
+
4. **性能测试SDD** - 响应时间/并发指标
|
|
406
|
+
5. **安全测试SDD** - OWASP Top 10,包含 security-audit 【强调】
|
|
407
|
+
|
|
408
|
+
**输出**:`specs/test/` 下各类型测试SDD,特别关注 `specs/test/security/` 安全测试部分
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
### 2.8 部署SDD(sdd-deploy)
|
|
413
|
+
|
|
414
|
+
**核心内容**:
|
|
415
|
+
- 环境配置(dev/test/staging/prod)
|
|
416
|
+
- 发布流程+审批流程
|
|
417
|
+
- 回滚方案+数据备份
|
|
418
|
+
- 灰度发布策略
|
|
419
|
+
- A/B测试方案
|
|
420
|
+
- 配置管理
|
|
421
|
+
|
|
422
|
+
**输出**:`docs/deploy/` 下部署文档
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
### 2.9 运维SDD(sdd-ops)
|
|
427
|
+
|
|
428
|
+
**核心内容**:
|
|
429
|
+
- 监控告警(应用/系统/数据库)
|
|
430
|
+
- 日志管理(级别/格式/采集)
|
|
431
|
+
- 备份恢复(策略/流程/演练)
|
|
432
|
+
- 扩容策略(水平/垂直)
|
|
433
|
+
- 灾难恢复(RTO/RPO/多活)
|
|
434
|
+
- 运维手册
|
|
435
|
+
|
|
436
|
+
**输出**:`docs/ops/` 下运维文档
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
### 阶段2完成检查
|
|
441
|
+
- [ ] 基础SDD拆分完成(sdd)
|
|
442
|
+
- [ ] UI交互SDD完成(ui-sdd)【新增】
|
|
443
|
+
- [ ] 功能实现SDD完成(sdd-code)
|
|
444
|
+
- [ ] 测试SDD完成(sdd-test)
|
|
445
|
+
- [ ] 部署SDD完成(sdd-deploy)
|
|
446
|
+
- [ ] 运维SDD完成(sdd-ops)
|
|
447
|
+
- [ ] 所有设计文档用户确认
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
### 阶段2结束询问
|
|
452
|
+
```
|
|
453
|
+
SDD拆分阶段已完成!
|
|
454
|
+
是否进行MVP验证?(是/否)
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
#### 阶段 2.5:MVP验证(Minimum Viable Product)【新增】
|
|
460
|
+
|
|
461
|
+
**目标**:最小可行产品验证,用户介入测试确认方向正确
|
|
462
|
+
|
|
463
|
+
**工具/技能**:
|
|
464
|
+
- `test-driven-development`(精简版,只做核心功能)
|
|
465
|
+
- `systematic-debugging`(MVP迭代时使用)
|
|
466
|
+
- `sdd-add`(MVP反馈优化时使用)
|
|
467
|
+
|
|
468
|
+
**详细步骤**:
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
### 2.5.1 MVP功能筛选
|
|
473
|
+
- 从SDD用户故事中挑选最核心的1-3个
|
|
474
|
+
- 确保是最小可行产品(MVP)
|
|
475
|
+
- 用户确认MVP范围
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
### 2.5.2 MVP开发
|
|
480
|
+
- 调用 `test-driven-development` 精简版
|
|
481
|
+
- 只开发MVP核心功能
|
|
482
|
+
- 内部测试通过
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
### 2.5.3 用户介入测试
|
|
487
|
+
- 邀请真实用户进行测试
|
|
488
|
+
- 收集用户使用反馈
|
|
489
|
+
- 记录问题和改进建议
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
### 2.5.4 迭代优化
|
|
494
|
+
- 根据反馈整理问题清单
|
|
495
|
+
- 调用 `systematic-debugging` 修复Bug
|
|
496
|
+
- 调用 `sdd-add` 优化或调整功能(如需要)
|
|
497
|
+
- 再次内部测试
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
### 2.5.5 用户确认
|
|
502
|
+
- 展示优化后的MVP
|
|
503
|
+
- 用户确认是否通过
|
|
504
|
+
- 收集最终意见
|
|
505
|
+
|
|
506
|
+
---
|
|
507
|
+
|
|
508
|
+
### 阶段2.5完成检查
|
|
509
|
+
- [ ] MVP范围确认
|
|
510
|
+
- [ ] MVP开发完成
|
|
511
|
+
- [ ] 内部测试通过
|
|
512
|
+
- [ ] 用户介入测试完成
|
|
513
|
+
- [ ] 反馈迭代完成
|
|
514
|
+
- [ ] 用户确认通过
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
### 阶段2.5结束询问
|
|
47
519
|
```
|
|
48
|
-
|
|
49
|
-
|
|
520
|
+
MVP验证阶段已完成!
|
|
521
|
+
用户确认通过。
|
|
522
|
+
是否进入完整开发流程?(是/否)
|
|
50
523
|
```
|
|
51
524
|
|
|
52
|
-
|
|
525
|
+
---
|
|
526
|
+
|
|
527
|
+
#### 阶段 3:开发流程(Development Flow)
|
|
528
|
+
|
|
529
|
+
**目标**:从设计到交付,完成开发发布
|
|
530
|
+
|
|
531
|
+
**工具/技能**:
|
|
532
|
+
- `writing-plans` - 实现计划
|
|
533
|
+
- `test-driven-development` - TDD开发
|
|
534
|
+
- `systematic-debugging` - 调试流程(分支A)
|
|
535
|
+
- `sdd-add` - 临时需求流程(分支B)
|
|
536
|
+
- `verification-before-completion` - 验证完成
|
|
537
|
+
- `requesting-code-review` + `receiving-code-review` - 代码审查
|
|
538
|
+
- `quality-gate` + `security-audit` - 质量门禁
|
|
539
|
+
- `finishing-a-development-branch` + `release-flow` - 交付发布
|
|
540
|
+
- `claudeception` + `mempalace-auto-saver` - 经验沉淀
|
|
541
|
+
|
|
542
|
+
**详细步骤**:
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
### 3.1 实现计划
|
|
547
|
+
- 调用 `writing-plans`
|
|
548
|
+
- 输出TodoWrite任务清单
|
|
549
|
+
- 用户确认计划
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
553
|
+
### 3.2 TDD开发(核心路径)
|
|
554
|
+
|
|
555
|
+
**原则**:
|
|
556
|
+
- 测试先行
|
|
557
|
+
- 按Todo列表逐个执行
|
|
558
|
+
- 每个功能完成后验证
|
|
559
|
+
|
|
560
|
+
**分支A:调试流程**
|
|
561
|
+
```
|
|
562
|
+
触发条件:测试失败 / 发现Bug
|
|
563
|
+
|
|
564
|
+
├─ 调用 systematic-debugging
|
|
565
|
+
│ ├─ 错误根因分析
|
|
566
|
+
│ ├─ 定位问题代码
|
|
567
|
+
│ └─ 制定修复方案
|
|
568
|
+
├─ 执行修复
|
|
569
|
+
├─ 重新运行测试
|
|
570
|
+
└─ 验证通过 → 返回TDD主流程
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
**分支B:临时需求流程**
|
|
574
|
+
```
|
|
575
|
+
触发条件:插入临时需求 / 紧急修复
|
|
576
|
+
|
|
577
|
+
├─ 调用 sdd-add
|
|
578
|
+
│ ├─ 需求澄清(5W1H)
|
|
579
|
+
│ ├─ 优先级决策(P0/P1/P2/P3)
|
|
580
|
+
│ ├─ 成本估算+时间盒限制
|
|
581
|
+
│ ├─ 最小可行实现
|
|
582
|
+
│ ├─ 技术债务记录
|
|
583
|
+
│ └─ 文档同步
|
|
584
|
+
├─ 创建独立分支
|
|
585
|
+
├─ 开发+测试
|
|
586
|
+
├─ 安全合并发布
|
|
587
|
+
└─ 监控优化 → 返回TDD主流程
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
592
|
+
### 3.3 验证完成
|
|
593
|
+
调用 `verification-before-completion`,确保:
|
|
594
|
+
- 所有测试通过
|
|
595
|
+
- 功能符合验收标准
|
|
596
|
+
- 无严重问题
|
|
597
|
+
|
|
598
|
+
---
|
|
599
|
+
|
|
600
|
+
### 3.4 代码审查
|
|
601
|
+
- 调用 `requesting-code-review`
|
|
602
|
+
- 调用 `receiving-code-review`
|
|
603
|
+
- 根据反馈修改
|
|
604
|
+
- 审查通过
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
|
|
608
|
+
### 3.5 质量门禁
|
|
609
|
+
- 代码规范检查
|
|
610
|
+
- 安全审计(security-audit)
|
|
611
|
+
- 性能检查
|
|
612
|
+
- 测试覆盖率验证
|
|
613
|
+
|
|
614
|
+
---
|
|
615
|
+
|
|
616
|
+
### 3.6 交付发布
|
|
617
|
+
- 调用 `finishing-a-development-branch`
|
|
618
|
+
- 调用 `release-flow`
|
|
619
|
+
- 执行部署SDD
|
|
620
|
+
- 发布上线
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
### 3.7 经验沉淀
|
|
625
|
+
- 调用 `claudeception` - 保存经验教训,创建可复用技能
|
|
626
|
+
- 调用 `mempalace-auto-saver` - 记忆宫殿存储
|
|
627
|
+
|
|
628
|
+
---
|
|
629
|
+
|
|
630
|
+
### 阶段3完成检查
|
|
631
|
+
- [ ] 实现计划完成(writing-plans)
|
|
632
|
+
- [ ] 所有功能开发完成
|
|
633
|
+
- [ ] 所有测试通过
|
|
634
|
+
- [ ] 代码审查通过
|
|
635
|
+
- [ ] 质量门禁通过
|
|
636
|
+
- [ ] 成功发布上线
|
|
637
|
+
- [ ] 经验沉淀完成
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
641
|
+
#### 📂 最终产出目录结构
|
|
642
|
+
|
|
643
|
+
```
|
|
644
|
+
项目根/
|
|
645
|
+
├── brainstorm.md # 原始需求
|
|
646
|
+
├── docs/
|
|
647
|
+
│ ├── market-research.md # 市场调研(阶段1)
|
|
648
|
+
│ ├── competitive-brief.md # 竞品分析(阶段1)
|
|
649
|
+
│ ├── prd.md # PRD文档(阶段1)
|
|
650
|
+
│ ├── stories/
|
|
651
|
+
│ │ └── user_stories.md # 用户故事(阶段2)
|
|
652
|
+
│ ├── ui/
|
|
653
|
+
│ │ └── design.md # UI设计规范(阶段2)
|
|
654
|
+
│ ├── architecture/
|
|
655
|
+
│ │ └── frontend-backend.md # 架构设计(阶段2)
|
|
656
|
+
│ ├── database/
|
|
657
|
+
│ │ └── schema.md # 数据库设计(阶段2)
|
|
658
|
+
│ ├── api/
|
|
659
|
+
│ │ └── contract.md # API契约(阶段2)
|
|
660
|
+
│ ├── temp-requirements/ # 临时需求(阶段3分支B)
|
|
661
|
+
│ ├── tech-debt/ # 技术债务(阶段2)
|
|
662
|
+
│ ├── deploy/ # 部署文档(阶段2)
|
|
663
|
+
│ │ ├── environments.md
|
|
664
|
+
│ │ ├── release-process.md
|
|
665
|
+
│ │ ├── rollback-plan.md
|
|
666
|
+
│ │ └── ...
|
|
667
|
+
│ └── ops/ # 运维文档(阶段2)
|
|
668
|
+
│ ├── monitoring.md
|
|
669
|
+
│ ├── logging.md
|
|
670
|
+
│ ├── backup-restore.md
|
|
671
|
+
│ └── ...
|
|
672
|
+
└── specs/ # SDD功能规格
|
|
673
|
+
├── [story1]/ # 基础SDD(阶段2)
|
|
674
|
+
├── ui/ # UI交互SDD【新增】
|
|
675
|
+
│ ├── pages/
|
|
676
|
+
│ ├── common/
|
|
677
|
+
│ └── dialog/
|
|
678
|
+
├── function-implementation-sdd/ # 实现SDD(阶段2)
|
|
679
|
+
├── test/ # 测试SDD(阶段2)
|
|
680
|
+
│ ├── unit/
|
|
681
|
+
│ ├── integration/
|
|
682
|
+
│ ├── e2e/
|
|
683
|
+
│ ├── performance/
|
|
684
|
+
│ ├── security/
|
|
685
|
+
│ └── data/
|
|
686
|
+
└── refactor-plans/ # 重构计划(阶段2)
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
---
|
|
690
|
+
|
|
691
|
+
#### 📋 全流程检查清单
|
|
692
|
+
|
|
693
|
+
| 阶段 | 步骤 | 完成标记 |
|
|
694
|
+
|------|------|---------|
|
|
695
|
+
| **前置** | 调用 using-superpowers | ⬜ |
|
|
696
|
+
| **阶段1** | 市场调研 | ⬜ |
|
|
697
|
+
| | 竞品分析 | ⬜ |
|
|
698
|
+
| | 用户调研 | ⬜ |
|
|
699
|
+
| | 头脑风暴【新增】 | ⬜ |
|
|
700
|
+
| | PRD编写 | ⬜ |
|
|
701
|
+
| | **用户确认是否进行SDD拆分** | ⬜ |
|
|
702
|
+
| **阶段2** | 基础SDD拆分(sdd) | ⬜ |
|
|
703
|
+
| | UI交互SDD(ui-sdd)【新增】 | ⬜ |
|
|
704
|
+
| | 功能实现SDD(sdd-code) | ⬜ |
|
|
705
|
+
| | 测试SDD(sdd-test) | ⬜ |
|
|
706
|
+
| | 部署SDD(sdd-deploy) | ⬜ |
|
|
707
|
+
| | 运维SDD(sdd-ops) | ⬜ |
|
|
708
|
+
| | **用户确认是否进行MVP验证** | ⬜ |
|
|
709
|
+
| **阶段2.5** | MVP功能筛选 | ⬜ |
|
|
710
|
+
| | MVP开发 | ⬜ |
|
|
711
|
+
| | 用户介入测试 | ⬜ |
|
|
712
|
+
| | 迭代优化 | ⬜ |
|
|
713
|
+
| | **用户确认通过** | ⬜ |
|
|
714
|
+
| **阶段3** | 实现计划(writing-plans) | ⬜ |
|
|
715
|
+
| | TDD开发 | ⬜ |
|
|
716
|
+
| | 调试流程(分支A,按需) | ⬜ |
|
|
717
|
+
| | 临时需求流程(分支B,按需) | ⬜ |
|
|
718
|
+
| | 验证完成 | ⬜ |
|
|
719
|
+
| | 代码审查 | ⬜ |
|
|
720
|
+
| | 质量门禁 | ⬜ |
|
|
721
|
+
| | 交付发布 | ⬜ |
|
|
722
|
+
| | 经验沉淀 | ⬜ |
|
|
723
|
+
|
|
724
|
+
---
|
|
725
|
+
|
|
726
|
+
#### ⚡ 快速开始
|
|
727
|
+
|
|
728
|
+
现在,让我们开始吧!
|
|
729
|
+
1. **首先调用 `using-superpowers`**
|
|
730
|
+
2. **然后进入阶段1:产品经理阶段**
|
|
731
|
+
|
|
732
|
+
---
|
|
733
|
+
|
|
734
|
+
**一句话总结**:阶段1做产品(市场→竞品→用户调研→头脑风暴→PRD)→ 阶段2做设计(SDD全系列拆分,含 ui-sdd,含安全测试)→ 阶段2.5做MVP验证(最小开发→用户介入测试→迭代→确认)→ 阶段3做开发(从 writing-plans 开始 → TDD+分支流程+安全审计)→ 每个阶段结束后询问是否继续!
|
|
53
735
|
|
|
54
|
-
v4.1.0
|