| title |
Development Workflows |
| description |
Day-to-day contributor workflows for OpenChat. |
This page maps common engineering tasks to the actual OpenChat architecture.
apps/web: TanStack Start frontend and server routes.
apps/server/convex: Convex schema, queries, mutations, actions.
docs-site in source repo: upstream Mintlify docs source.
Update components/hooks in `apps/web/src/components` and `apps/web/src/hooks`.
Add or update Convex functions in `apps/server/convex`.
Update `apps/server/convex/schema.ts`, then run:
```bash
bun x convex codegen
```
```bash
bun check
bun check-types
bun test
```
| Area |
Primary files |
| Chat lifecycle |
use-persistent-chat.ts, use-chat-actions.ts, messages.ts |
| Streaming and resume |
use-chat-streaming.ts, streamExecution.ts, backgroundStream.ts |
| Model catalog |
model.ts, api/models.ts |
| Provider credentials |
settings-providers.tsx, provider-credentials.ts, userApiKeys.ts |
| Auth |
auth-client.tsx, server-auth.ts, auth.ts |
| Settings |
settings.tsx, settings-*.tsx |
- Use Convex dashboard for function logs and table inspection.
- Verify same-origin and auth token behavior when testing API routes.
- For provider credential issues, confirm
OPENROUTER_ENCRYPTION_KEY is valid base64 32-byte key.
Run OpenChat locally from scratch
Validate endpoint-level contracts
Confirm deployment prerequisites