Category · #decision
Decisions
Architecture decision records — non-obvious choices with rationale, written when made.
6 entries · sorted by last updated
-
Auth
User profiles are created by a Postgres trigger, not an API route.
-
Copy
All user-visible strings (labels, error messages, button text, page titles, navigation items, etc.) live in `packages/copy`. Source files never contain hardcoded strings.
-
Error Handling
Some failures should crash the process or return an error immediately:
-
Standards & Guidelines
TypeScript types are erased at runtime. They cannot be used to validate data that arrives from outside the codebase — user inputs, API request bodies, query parameters, external API responses, and …
-
Supabase & API
Current API routes live at `/api/` with no version prefix. Versioning (`/api/v1/`, `/api/v2/`) is deferred.
-
Tooling
What we chose: Corepack (`corepack enable` + `corepack use pnpm@latest`) rather than `npm install -g pnpm`.