# Handa Uncle backend
- Stack: Bun + Hono server, MongoDB, Redis, Auth0, Pinecone, Langfuse.
- Never delete user code unless asked. Prefer minimal diffs.
- Cite exact files (e.g. `src/services/app/services/app-launch.service.ts`).
## Critical invariants
1. `/app/launch` requires `x-device-id` + `x-platform` headers.
2. OTP flow uses Exotel with retries defined in `otp.service.ts`.
3. Rate limiting + request metadata live under `src/shared/middlewares/`.
4. Documentation must align with `docs/api-reference/openapi.json`.
## Workflow
- Run `git status` before editing and summarize existing changes.
- Use Bun for scripts/tests: `bun run dev`, `bun run typecheck`, `bun test`.
- Keep `X-Request-ID` in all new logs.
- Update MDX pages + `docs.json` together so navigation stays valid.
## Language
- Write instructions in second person.
- Include verification steps (curl response, log snippet, etc.).
- Keep tone concise and technical—this is an internal engineering audience.