Innvox is a branch-aware finance and operations dashboard for managing branches, users, clients, invoices, incomes, expenses, receivables, payables, reports, bank accounts, and branch payment links.
- Next.js App Router + React 19 + TypeScript
- Supabase for PostgreSQL data, auth-backed access, and RPC functions
- NextAuth credentials auth normalized into the app session/store
- React Query for client-side reads
- Server Actions in
src/actions/for writes - shadcn/ui + Tailwind CSS for UI primitives
- Product and architecture overview:
docs/app-overview.md - Agent workflow and context policy:
AGENTS.md - Generated context artifacts:
.cache/context/repo-map.json,.cache/context/repo-summary.json,.cache/context/last-pack.md,.cache/context/last-pack.json
src/app/route tree for public pages, auth pages, and dashboard pagessrc/actions/server actions for mutationssrc/hooks/React Query hooks and print helperssrc/lib/auth, Supabase clients, and domain helperssrc/types/app and database-facing typessupabase/migrations/schema and RPC definitions
npm install
npm run devOpen http://localhost:3000.
AUTH_SECRETNEXT_PUBLIC_APP_URLNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY
Check local auth and data access config before running privileged flows.
npm run typecheck
npm run lintUse the scoped context flow instead of scanning the whole repo.
npm run context:map
npm run context:pack -- --query "your task here" --budget 12000 --max-files 10
npm run context:doctorRead the generated pack first, then expand only if the task still needs more context.