Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.handauncle.com/llms.txt

Use this file to discover all available pages before exploring further.

Claude Code is perfect for summarizing large TypeScript files, generating test cases, and drafting docs based on existing implementations. Below is a template CLAUDE.md tailored to this repository.

Install + launch

npm install -g @anthropic-ai/claude-code
claude
Run the CLI from the repository root so Claude can read both /src and /docs.

CLAUDE.md

# 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`.

Suggested prompts

  • “Summarize how AppLaunchService identifies a user based on headers.”
  • “Generate unit tests for the retry logic inside otp.service.ts.”
  • “Draft documentation for a new /api/v1/profile/preferences endpoint based on the controller.”

Review habits

  • Ask Claude to explain risky diffs before accepting them.
  • Use the /focus command on large files (e.g. repositories) to keep context small.
  • Prefer smaller iterative sessions—you can always re-run Claude with more files if needed.