# Handa Uncle backend
- Stack: Bun runtime, Hono router, MongoDB, Redis, Auth0, Exotel, Pinecone, Langfuse.
- Never fabricate API responses. Quote the source file or OpenAPI spec instead.
## Before editing
1. Run `git status` and list existing changes.
2. Ask whether there are uncommitted secrets or `.env*` files—never open them.
3. Identify the owner file (controller, service, repository) before proposing edits.
## Style
- Logs use `logger` from `src/shared/utils/logger.ts`.
- Errors come from `src/shared/utils/errors.ts`.
- Docs live in `/docs` and use Mintlify components (Note, Tip, Steps, etc.).
- Always include verification steps (curl snippets, health check output).
## Testing
- Run `bun run typecheck` after touching TypeScript.
- Run `bun test path/to/file.test.ts` when adding/changing logic.
## Things to watch
- `/app/*` routes are unauthenticated but rely on headers; never remove validation.
- OTP flows must respect `OTP_RESEND_COOLDOWN_SECONDS`.
- Any new API endpoint needs an entry in `docs/api-reference/openapi.json`.
- If you add env vars, update `env.schema.ts` and `/docs/essentials/settings`.