Post-Work Review
Review your diff against AGENTS.md rules and fix violations before presenting work.
Process
- Run
git diff HEAD(or appropriate base) to see all changes - Read
AGENTS.mdfully -- the rules section is authoritative - For each changed file, check every rule that applies
- Fix violations directly -- do not just report them
- Re-run type check (
npx tsc --noEmitorgo build ./...)
High-Signal Checks
These are the violations most commonly introduced under time pressure:
| Check | Rule | How to spot |
|---|---|---|
| Type casts | AVOID as statements |
grep for as in diff |
| Any types | AVOID any type |
grep for : any or as any |
| Let bindings | AVOID let statements |
grep for let in diff |
| Else branches | DO NOT use else unless necessary |
grep for } else |
| Dead code | Delete unused code when changing things | check if old code is still referenced |
| String interpolation | Use cn() not template literals for className |
grep for className={` |
| Obvious comments | DO NOT use obvious comments | read comments -- are they saying what the code already says? |
| Disabled linters | DO NOT disable linter warnings unless necessary | grep for eslint-disable in new lines |
Quick Grep
# Run against staged/unstaged changes
git diff HEAD -U0 | grep -E '^\+.*\bas\b' | grep -v '^+++' | grep -v 'import.*as'
git diff HEAD -U0 | grep -E '^\+.*: any' | grep -v '^+++'
git diff HEAD -U0 | grep -E '^\+.*\blet\b ' | grep -v '^+++'
git diff HEAD -U0 | grep -E '^\+.*\} else' | grep -v '^+++'
git diff HEAD -U0 | grep -E '^\+.*eslint-disable' | grep -v '^+++'
Common Misses
- Casts introduced to satisfy a generic -- rethink the generic or type parameter instead
undefined as void--undefinedis assignable tovoiddirectlyletfor a variable reassigned once -- restructure to useconst- Dead imports -- after deleting code, check if its imports are still needed
- Comments describing the obvious --
// Release all resourcesabovereleaseAllResources()adds nothing
Source: s4wave/spacewave — distributed by TomeVault.