···11# Repository Guidelines
2233## Project Structure & Modules
44+45- `apps/web`: Vite + React 19 frontend (sources under `src/`, static assets in `public/`).
56- `apps/api`: Hono-based API server (entry `src/index.ts`, routes in `src/routes/`).
67- `packages/*`: Shared code (`helpers`, `data`, `types`, `indexer`, `config`).
···89- Tooling: PNPM workspaces (`pnpm-workspace.yaml`), Biome config (`biome.json`), Husky hooks (`.husky/`).
9101011## Build, Test, and Development
1212+1113- Root dev: `pnpm dev` — run all workspaces in watch mode.
1214- Root build: `pnpm build` — build all workspaces in parallel.
1315- Web app: `pnpm -F @hey/web dev` (preview: `pnpm -F @hey/web start`, build: `pnpm -F @hey/web build`).
···1719- Node & PM: Node 20 (`.nvmrc`), PNPM 10 (see `package.json#packageManager`).
18201921## Coding Style & Naming
2222+2023- Language: TypeScript (strict, shared configs in `packages/config`).
2124- Formatting: Biome controls style; no trailing commas; spaces for indentation.
2225- Imports: Use workspace packages (`@hey/*`) and web alias `@/*` to `apps/web/src`.
···2427- Keep modules small, colocate domain helpers with their feature when practical.
25282629## Testing Guidelines
3030+2731- Current status: no formal unit tests present. Enforce quality via `biome` and `tsc`.
2832- If adding tests, prefer Vitest for web and lightweight integration tests for API.
2933- Naming: `*.test.ts` or `*.test.tsx`, colocated with the code or under `__tests__/`.
3034- Run with a future `pnpm test` script at root or per package.
31353236## Commit & Pull Requests
3737+3338- Commits: imperative mood, concise subject; optional scope like `web:`, `api:`, `helpers:`.
3439- Include rationale and references (e.g., `Closes #123`).
3540- PRs: clear description, screenshots for UI changes, reproduction steps for fixes, and env notes.
3641- CI hooks: pre-commit runs `biome` and type checks; ensure both pass locally before pushing.
37423843## Security & Configuration
4444+3945- Copy `.env.example` to `.env` in `apps/web` and `apps/api`. Never commit secrets.
4046- Validate envs at startup; keep keys minimal and documented near usage.