Finish Work - Pre-Commit Checklist
Before submitting or committing, use this checklist to ensure work completeness.
Timing: After code is written and tested, before commit
Checklist
1. Code Quality
bash
# Must pass pnpm lint pnpm type-check pnpm test
- •
pnpm lintpasses with 0 errors? - •
pnpm type-checkpasses with no type errors? - • Tests pass?
- • No
console.logstatements (use logger)? - • No non-null assertions (the
x!operator)? - • No
anytypes?
2. Documentation Sync
Structure Docs:
- • Does
.trellis/spec/backend/need updates?- •New patterns, new modules, new conventions
- • Does
.trellis/spec/frontend/need updates?- •New components, new hooks, new patterns
- • Does
.trellis/spec/guides/need updates?- •New cross-layer flows, lessons from bugs
Key Question:
"If I fixed a bug or discovered something non-obvious, should I document it so future me (or others) won't hit the same issue?"
If YES -> Update the relevant spec doc.
3. API Changes
If you modified API endpoints:
- • Input schema updated?
- • Output schema updated?
- • API documentation updated?
- • Client code updated to match?
4. Database Changes
If you modified database schema:
- • Migration file created?
- • Schema file updated?
- • Related queries updated?
- • Seed data updated (if applicable)?
5. Cross-Layer Verification
If the change spans multiple layers:
- • Data flows correctly through all layers?
- • Error handling works at each boundary?
- • Types are consistent across layers?
- • Loading states handled?
6. Manual Testing
- • Feature works in browser/app?
- • Edge cases tested?
- • Error states tested?
- • Works after page refresh?
Quick Check Flow
bash
# 1. Code checks pnpm lint && pnpm type-check # 2. View changes git status git diff --name-only # 3. Based on changed files, check relevant items above
Common Oversights
| Oversight | Consequence | Check |
|---|---|---|
| Structure docs not updated | Others don't know the change | Check .trellis/spec/ |
| Migration not created | Schema out of sync | Check db/migrations/ |
| Types not synced | Runtime errors | Check shared types |
| Tests not updated | False confidence | Run full test suite |
| Console.log left in | Noisy production logs | Search for console.log |
Relationship to Other Commands
code
Development Flow:
Write code -> Test -> $finish-work -> git commit -> $record-session
| |
Ensure completeness Record progress
Debug Flow:
Hit bug -> Fix -> $break-loop -> Knowledge capture
|
Deep analysis
- •
$finish-work- Check work completeness (this skill) - •
$record-session- Record session and commits - •
$break-loop- Deep analysis after debugging
Core Principle
Delivery includes not just code, but also documentation, verification, and knowledge capture.
Complete work = Code + Docs + Tests + Verification