名称: 完成工作 description: “完成工作 - 预提交检查清单”
完成工作 - 预提交检查清单
在提交或提交之前,使用此检查清单以确保工作完整性。
时机: 代码编写和测试后,提交前
检查清单
1. 代码质量
# 必须通过
pnpm lint
pnpm type-check
pnpm test
- [ ]
pnpm lint通过,无错误? - [ ]
pnpm type-check通过,无类型错误? - [ ] 测试通过?
- [ ] 无
console.log语句(使用日志记录器)? - [ ] 无非空断言(
x!操作符)? - [ ] 无
any类型?
2. 文档同步
结构文档:
- [ ]
.trellis/spec/backend/需要更新吗?- 新模式、新模块、新约定
- [ ]
.trellis/spec/frontend/需要更新吗?- 新组件、新钩子、新模式
- [ ]
.trellis/spec/guides/需要更新吗?- 新的跨层流程、错误教训
关键问题:
“如果我修复了一个错误或发现了一些不明显的东西,我应该记录下来,以便未来的我(或其他人)不会遇到同样的问题吗?”
如果是 -> 更新相关的规格文档。
3. API 更改
如果修改了 API 端点:
- [ ] 输入模式更新了吗?
- [ ] 输出模式更新了吗?
- [ ] API 文档更新了吗?
- [ ] 客户端代码更新以匹配?
4. 数据库更改
如果修改了数据库模式:
- [ ] 创建了迁移文件吗?
- [ ] 模式文件更新了吗?
- [ ] 相关查询更新了吗?
- [ ] 种子数据更新了吗(如果适用)?
5. 跨层验证
如果更改涉及多个层:
- [ ] 数据是否正确流经所有层?
- [ ] 错误处理在每个边界有效吗?
- [ ] 类型在各层一致吗?
- [ ] 处理了加载状态吗?
6. 手动测试
- [ ] 功能在浏览器/应用中工作吗?
- [ ] 边缘情况测试了吗?
- [ ] 错误状态测试了吗?
- [ ] 页面刷新后工作吗?
快速检查流程
# 1. 代码检查
pnpm lint && pnpm type-check
# 2. 查看更改
git status
git diff --name-only
# 3. 基于更改的文件,检查上面的相关项
常见遗漏
| 遗漏 | 后果 | 检查 |
|---|---|---|
| 结构文档未更新 | 其他人不知道更改 | 检查 .trellis/spec/ |
| 迁移未创建 | 模式不同步 | 检查 db/migrations/ |
| 类型未同步 | 运行时错误 | 检查共享类型 |
| 测试未更新 | 虚假信心 | 运行完整测试套件 |
| Console.log 残留 | 生产日志嘈杂 | 搜索 console.log |
与其他命令的关系
开发流程:
写代码 -> 测试 -> /trellis:finish-work -> git 提交 -> /trellis:record-session
| |
确保完整性 记录进度
调试流程:
遇到错误 -> 修复 -> /trellis:break-loop -> 知识捕获
|
深度分析
/trellis:finish-work- 检查工作完整性(此命令)/trellis:record-session- 记录会话和提交/trellis:break-loop- 调试后的深度分析
核心原则
交付不仅包括代码,还包括文档、验证和知识捕获。
完整工作 = 代码 + 文档 + 测试 + 验证