Superpowers 完整工作流程:从需求到开发

Superpowers 完整工作流程:从需求到开发

Superpowers 的真正威力在于将多个技能组合成完整的开发流程。

标准开发流程

  1. 需求澄清(Brainstorming) - 理解业务需求
  2. 设计文档生成 - 架构设计与技术选型
  3. 实现计划编写 - 任务拆解与优先级排序
  4. 开发执行 - TDD 循环开发
  5. 代码审查 - 质量、安全、测试全覆盖

实战案例:用 Superpowers 构建用户认证系统

第一步:Brainstorming - 澄清需求

启动 Superpowers 后,Claude 会先进入头脑风暴模式,帮助你澄清需求。对于用户认证系统,Claude 会问你:

  • 应用类型:Web 应用还是移动应用?
  • 登录方式:需要支持哪些登录方式?(邮箱密码、第三方登录、手机号验证码等)
  • 密码管理:需要密码重置功能吗?
  • 会话管理:需要”记住我”功能吗?
  • 安全要求:是否需要双因素认证(2FA)?密码强度要求?

第二步:生成设计文档

确认需求后,Claude 会自动生成设计文档,包括:

技术选型

组件 技术方案
后端框架 Express.js (Node.js)
数据库 PostgreSQL
ORM Prisma
认证方案 JWT + Refresh Token
密码加密 bcrypt

API 设计示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 用户注册
POST /api/auth/register
Request:
email: string
password: string
confirmPassword: string
Response:
success: boolean
data: { userId, email }

# 用户登录
POST /api/auth/login
Request:
email: string
password: string
rememberMe?: boolean
Response:
success: boolean
data: { accessToken, refreshToken, user }

第三步:编写实现计划

Claude 会生成详细的任务列表,每个任务 2-5 分钟可完成:

阶段 1:基础设施搭建

  • 初始化项目结构
  • 配置数据库连接
  • 设置环境变量管理

阶段 2:数据库设计与迁移

  • 设计用户表 Schema
  • 设计会话表 Schema
  • 编写数据库迁移脚本

阶段 3:核心认证逻辑

  • 实现密码加密工具函数
  • 实现 JWT 生成与验证
  • 实现用户注册接口
  • 实现用户登录接口
  • 实现登录状态中间件

阶段 4:会话管理

  • 实现 Refresh Token 机制
  • 实现退出登录接口
  • 实现”记住我”功能

阶段 5:测试与文档

  • 编写单元测试
  • 编写集成测试
  • 生成 API 文档

第四步:执行开发

Claude 会严格按照 TDD(测试驱动开发)原则执行每个任务:

TDD 循环流程

对于”实现用户注册接口”这个任务,Claude 会:

1. 先写测试(RED 阶段)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
describe('POST /api/auth/register', () => {
it('should register a new user successfully', async () => {
const response = await request(app)
.post('/api/auth/register')
.send({
email: 'test@example.com',
password: 'SecurePass123!',
confirmPassword: 'SecurePass123!'
});

expect(response.status).toBe(201);
expect(response.body.success).toBe(true);
expect(response.body.data.userId).toBeDefined();
});

it('should fail if passwords do not match', async () => {
const response = await request(app)
.post('/api/auth/register')
.send({
email: 'test@example.com',
password: 'SecurePass123!',
confirmPassword: 'DifferentPass123!'
});

expect(response.status).toBe(400);
expect(response.body.success).toBe(false);
});
});

2. 确认测试失败

运行测试,确认所有测试用例都失败(预期行为)。

3. 写实现代码(GREEN 阶段)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
export async function register(req: Request, res: Response) {
try {
const { email, password, confirmPassword } = req.body;

// 验证密码匹配
if (password !== confirmPassword) {
return res.status(400).json({
success: false,
message: '密码不匹配'
});
}

// 检查邮箱是否已存在
const existingUser = await prisma.user.findUnique({
where: { email }
});

if (existingUser) {
return res.status(409).json({
success: false,
message: '该邮箱已被注册'
});
}

// 加密密码
const hashedPassword = await bcrypt.hash(password, 10);

// 创建用户
const user = await prisma.user.create({
data: {
email,
password: hashedPassword
}
});

// 生成 Token
const accessToken = generateAccessToken(user.id);
const refreshToken = generateRefreshToken(user.id);

return res.status(201).json({
success: true,
message: '注册成功',
data: {
userId: user.id,
email: user.email,
accessToken,
refreshToken
}
});

} catch (error) {
return res.status(500).json({
success: false,
message: '服务器内部错误'
});
}
}

4. 确认测试通过(GREEN 阶段)

运行测试,确保所有测试用例都通过。

5. 重构代码(REFACTOR 阶段)

Claude 会检查代码质量,进行必要的重构,提取公共逻辑到工具函数。


第五步:代码审查

完成后,Claude 会自动触发全面的代码审查,检查多个维度:

5.1 代码质量检查

  • 命名规范:使用语义化的变量和函数名
  • 代码复杂度:函数长度控制在合理范围内
  • 注释:关键逻辑有清晰注释
  • 类型安全:TypeScript 严格模式
  • 错误处理:所有异步操作都有 try-catch

5.2 安全性检查

SQL 注入防护

  • 使用 Prisma ORM,参数化查询

XSS 防护

  • 用户输入在返回前经过转义处理
  • 使用 Helmet 中间件设置安全 HTTP 头

密码安全

  • 使用 bcrypt 加密
  • 不存储明文密码
  • 不在日志中输出密码信息

Token 安全

  • Access Token 过期时间 15 分钟
  • Refresh Token 过期时间 7 天
  • 使用强随机密钥

速率限制

1
2
3
4
5
const loginLimiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 分钟
max: 5, // 最多 5 次尝试
message: '登录尝试次数过多,请 15 分钟后再试'
});

5.3 测试覆盖率检查

1
2
3
4
5
6
Coverage Summary
================
Statements : 95.42% ( 342/358 )
Branches : 90.18% ( 98/109 )
Functions : 96.15% ( 75/78 )
Lines : 95.35% ( 338/354 )

5.4 文档完整性检查

  • API 文档(Swagger/OpenAPI)
  • 部署文档
  • 配置说明(.env.example)
  • README 包含快速开始指南

工作流程的优势

1. 效率提升

  • 自动化任务拆解
  • 自动生成测试
  • 智能代码审查

2. 质量保证

  • 测试驱动:每个功能都有测试覆盖
  • 安全审计:自动检查常见安全漏洞
  • 代码规范:统一风格,易于维护

3. 知识沉淀

  • 设计文档:架构决策有记录
  • API 文档:自动生成,保持同步
  • 最佳实践:AI 将经验编码到流程中

总结

Superpowers 重新定义了 AI 辅助开发的范式。它不是简单地生成代码片段,而是将 AI 的能力嵌入到完整的软件工程流程中。

通过五个关键步骤——Brainstorming、设计文档生成、实现计划编写、开发执行和代码审查,Superpowers 让 AI 成为你的智能工程伙伴。

关键要点:

  • ✅ 需求澄清避免后期返工
  • ✅ 设计文档提供全局视角
  • ✅ 任务拆分降低认知负担
  • ✅ TDD 保证代码质量
  • ✅ 自动审查多维度保障安全