name: finish-work description: “完成工作 - 提交前检查清单”
完成工作 - 提交前检查清单
在提交或提交代码之前,使用此检查清单来确保工作完整性。
时机: 代码编写和测试之后,提交之前
检查清单
1. 代码质量
# 必须通过
pnpm lint
pnpm type-check
pnpm test
- [ ]
pnpm lint通过,0 错误? - [ ]
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 |
与其他命令的关系
开发流程:
编写代码 -> 测试 -> $finish-work -> git 提交 -> $record-session
| |
确保完整性 记录进度
调试流程:
遇到错误 -> 修复 -> $break-loop -> 知识捕获
|
深度分析
$finish-work- 检查工作完整性(此技能)$record-session- 记录会话和提交$break-loop- 调试后深度分析
核心原则
交付不仅包括代码,还包括文档、验证和知识捕获。
完整工作 = 代码 + 文档 + 测试 + 验证