Vision
Code review is the slowest step in most teams. Grit's strict conventions mean an AI reviewer can be specific instead of generic — "this should use SearchableSelect", "this handler is missing RequirePermission", "this list endpoint isn't returning the standard envelope".
Proposal
`grit review` (locally) and a GitHub Action (in CI):
Differentiator vs. generic AI review: Grit's reviewer has a baseline of "how this codebase works" so it doesn't waste comments on subjective style — it focuses on framework drift.
Why this is differentiating
Cursor, Continue, Claude Code all do generic AI review. None know framework-specific rules. A framework-aware reviewer is sharper, has fewer false positives, and is shipped with the framework so every team gets it on day zero.
Acceptance
- Opening a PR that uses native `` for an FK field gets a review comment pointing to the SearchableSelect rule
A handler missing `RequirePermission` gets blocked
The reviewer learns when the team configures exceptions (e.g. "this app doesn't use the matrix editor")
Vision
Code review is the slowest step in most teams. Grit's strict conventions mean an AI reviewer can be specific instead of generic — "this should use SearchableSelect", "this handler is missing RequirePermission", "this list endpoint isn't returning the standard envelope".
Proposal
`grit review` (locally) and a GitHub Action (in CI):
Differentiator vs. generic AI review: Grit's reviewer has a baseline of "how this codebase works" so it doesn't waste comments on subjective style — it focuses on framework drift.
Why this is differentiating
Cursor, Continue, Claude Code all do generic AI review. None know framework-specific rules. A framework-aware reviewer is sharper, has fewer false positives, and is shipped with the framework so every team gets it on day zero.
Acceptance