Review Guidelines
Additional checks for this codebase:
Code Quality
- Prefer
typeoverinterfacefor type definitions - Use arrow functions (
const fn = () =>) over function declarations - Use
#field(ES2022 private) instead ofprivate field(TypeScript) - No
anytypes — useunknownwith type guards - No index.ts files (except plugin entry points) — use feature-named re-exports
- Explicit
.tsextensions on all local imports - Object params when >2 args:
fn({ a, b, c }: { ... }) - Zod namespace import:
import * as z from 'zod' - Import directly from specific files, not through re-exports within a module
Testing
- Use
test()notit()for test declarations - No conditional assertions — assert the condition first
- Test both branches: try/catch, conditionals, fallbacks
- Prefer real dependencies over mocks for module resolution tests
- Organize with
describe()blocks
Bun Runtime
Bun.file()overfs.existsSync()/readFileSync()Bun.write()overwriteFileSync()Bun.$\cmd`overchild_process.spawn()`import.meta.diroverprocess.cwd()- Run commands from repo root with
bun --cwd packages/<name>— nevercdinto packages
Security
- Never commit secrets, API keys, or tokens
- Check for OWASP top 10, command injection, XSS
- Verify new dependencies for license compliance
- Watch for ReDoS patterns in regex
Breaking Changes
- Flag any changes to public API signatures
- Check for TSDoc
@publicmarkers on modified exports - Verify backward compatibility of Zod schema changes