The repo had no agent-facing project guidance: AGENTS.md contained only the
generated TanStack Intent skill pointers, and README.md described a stack
this app does not use.
- CLAUDE.md (new): API client contract (envelope, ApiError, single-flight
401 refresh, the FormData Content-Type trap), the PERM catalog mirroring
the backend permission classes, the route + NAV_GROUPS + PERM triad that
must be edited together to add a page, and the useListPage/DataTable
pattern.
- AGENTS.md: gotchas above the generated block, which is left untouched —
global query retry policy, can() vs useCan() reactivity, the gig-admin-auth
persist key, and that jsdom is opted into per file via a
`// @vitest-environment jsdom` pragma since there is no vitest config.
- README.md: @tanstack/react-start is not a dependency (this is a plain Vite
SPA, no SSR); cf:deploy no longer copies a shell to index.html; the feature
list was a milestone-1 snapshot that omitted five shipped nav groups and
still called moderation reports a future milestone.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013MADG54Y51wZkU3ViRjeSi