Skip to main content

Prerequisites

Make sure you have the following installed before starting:

Step 1 — Clone the Repositories


Step 2 — Frontend Setup

Edit apps/full-suite/.env:
Edit apps/a11y/.env with the same values.
The VITE_ prefix is required — Vite only exposes env vars with this prefix to the browser. Never put secrets in these files.

Step 3 — Backend Setup

Edit .env with your local values:
Do not commit your .env file. It’s already in .gitignore. For secrets like Stripe keys and AWS credentials, ask a team lead.

Step 4 — Database & Migrations


Step 5 — Generate RSA Keys (JWT)

The backend uses RS256 JWT. You need to generate a key pair once:

Step 6 — Start the Dev Servers

You can use Claude’s built-in server launcher (configured in .claude/launch.json):
Or manually in separate terminals: Terminal 1 — Backend:
Terminal 2 — full-suite:
Terminal 3 — a11y:

Step 7 — Verify Everything Works


Git Workflow

This project uses Conventional Commits enforced by commitlint:
Commit types: feat, fix, docs, style, refactor, test, chore, perf Pre-commit hooks (Husky) will automatically run eslint --fix and prettier on staged files.

Common Issues

Make sure your Node.js version is ≥ 20.14.0. Run node --version to check.
Ensure PostgreSQL is running (pg_isready) and the database exists (createdb auditor_dev). Check AUDITOR_APP_DB_* values in .env.
Run the RSA key generation step (Step 5). The paths in .env must point to the generated files.
Make sure VITE_API_URL ends with a trailing slash and points to your running backend. Also ensure the backend has your localhost origin in its CORS config.
The route tree is auto-generated by Vite. Just save any file in src/routes/ and the Vite plugin will regenerate routeTree.gen.ts.