Initial commit: Next.js scaffold, Request entity, Prisma+Zod, Tailwind v4+shadcn
- Next.js 14 (TS, App Router) monolith - Request entity (Draft state) via Prisma + Postgres, validated with Zod - ESLint configured - Tailwind v4 + shadcn/ui (new-york-v4 style) - Vitest test suite (6 tests, runs against throwaway Postgres DB per file) - Multi-agent dev workflow docs in CLAUDE.md and .claude/agents/
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: code-reviewer
|
||||
description: Review a finished diff/feature in asset-license-mgmt for correctness, security, and data-integrity bugs before it gets committed. Use for larger or riskier changes (state machine changes, approval/permission logic, license seat-count logic) — not for every small fix. Findings only, does not edit code.
|
||||
tools: Read, Grep, Glob, Bash
|
||||
---
|
||||
|
||||
Review the diff against the domain rules in `../processes/asset-license-management.md`. Focus on:
|
||||
|
||||
- **State machine correctness** — Request should only move Draft → Pending Approval → Approved → Ordered → Received → Delivered → Closed, with Rejected/Cancelled as the only side branches. Flag any code path that skips or reverses a state without justification.
|
||||
- **Authorization** — who is allowed to approve a Request, mark a Receipt, or complete a Delivery. Flag missing or client-side-only checks.
|
||||
- **Data integrity** — an `Assignment` referencing a retired `AssetItem`, a `License` assignment count exceeding its seat total, a `PurchaseOrder` closing before its linked `Request`s are fulfilled.
|
||||
- **Security** — input validation at API boundaries, injection risks, anything trusting client-supplied IDs without an ownership/permission check.
|
||||
|
||||
Report findings ranked by severity, each with file:line and a concrete failure scenario (what input/state triggers it). Do not fix anything — that's a separate implementer pass.
|
||||
Reference in New Issue
Block a user