Code Review Standards

Last Updated: 2026-02-16 Status: Active

Purpose

This document defines the code review criteria for all Zus contributions. Reviews assess compliance with project architecture, coding standards, and documentation expectations. Every issue that passes through the "Review" column on the project board must satisfy these standards before moving to "Done."

Core Policy: No Technical Debt

Zus operates under a no technical debt policy. Every defect, shortcut, and deviation from standards is addressed when found, not deferred.

This policy keeps the codebase clean as a baseline condition, not as a periodic cleanup effort.

Review Checklist

1. Architectural Integrity

2. Theming Compliance

3. TypeScript & React Best Practices

4. Code Quality

5. Documentation (Literate Coding Standard)

This project targets a documentation level suitable for teaching. Code should be understandable by both AI and human collaborators encountering it for the first time.

6. Pointer Event Interactions

7. Accessibility & UX

Severity Levels

Level Meaning Action
Blocker Violates core architecture or causes bugs Must fix before Done
Major Significant deviation from standards Must fix before Done
Minor Style, optimization, or documentation gap Must fix — in current issue or immediate follow-up issue
Note Observation or future design consideration Informational only — no immediate action required

Per the no-technical-debt policy: blockers, majors, and minors all require resolution. The distinction is urgency (blockers/majors gate the current issue; minors can be a fast follow-up), not whether they get fixed.

Pre-Review Gate: npm run check

Before moving any issue to Review, the dev must run npm run check and confirm it passes. This script runs the full build (tsc -b + Vite) and all tests (vitest run). A clean check is a prerequisite — do not submit for review with a broken build or failing tests.

npm run check

If check fails, fix the errors before submitting. The PM/Architect will reject any review submission where npm run check does not pass.

Review Workflow

  1. Dev runs npm run check and confirms it passes
  2. Dev moves issue to Review column
  3. PM/Architect reads changed files and evaluates against this checklist
  4. Findings are posted as a comment on the issue
  5. If no blockers/majors/minors: Move to Done
  6. If blockers or majors exist: Leave in Review for fixes in the current issue
  7. If only minors exist: Move to Done only if a follow-up issue is opened immediately to track the fixes. Otherwise, leave in Review for fixes in the current issue.
  8. Tony provides final visual/UX sign-off independently

This is a living document. Update as standards evolve.