Why CentraKit differs from the shared repo standard, and which migrations are deferred.
Architecture decision records (ADRs) capture choices that a future contributor could otherwise mistake for drift. Each record states the context, the decision, and the consequences.
Add a record when you:
Copy 0000-template.md, take the next free number, and add the file to meta.json.
| Number | Title | Status |
|---|---|---|
| 0001 | Next.js route handlers for the API and MCP | Accepted |
| 0002 | Bounded package topology | Accepted |
| 0003 | The apps/saas name and host-based routing | Superseded by 0011 |
| 0004 | Zod until the API layer migration | Accepted |
| 0005 | Audit log naming | Accepted |
| 0006 | Env file layout | Accepted |
| 0007 | Deferred better-supabase and PermDock | Superseded by 0009 |
| 0008 | CLI on citty, clack and c12 | Accepted |
| 0009 | Adopt better-supabase and PermDock from npm | Accepted |
| 0010 | Billing on the Stripe Sync Engine | Accepted |
| 0011 | Multi-brand path routing | Accepted |
| 0012 | The Data API for module access | Accepted |
| 0013 | Ultracite for Oxlint and Oxfmt | Accepted |
| 0014 | Declarative Schemas 2.0 and a one-time reset | Accepted |
| 0015 | Direct-to-develop workflow | Accepted |
| 0016 | Turbopack build cache off in CI | Accepted |
| 0017 | Toolchain exceptions to the repo standard | Accepted |
| 0018 | Data conventions for money, rates and files | Accepted |
| 0019 | Supabase-backed jobs, limits, flags, storage | Accepted |
| 0020 | German as a third app locale | Accepted |
| 0021 | Shaped loading files for cold navigation | Accepted |
| 0022 | verify:affected on pre-commit | Accepted |
| 0023 | Vitest through Turbo tasks | Accepted |
| 0024 | Typecheck in its own CI job | Accepted |
| 0025 | Package-owned env modules | Accepted |
| 0026 | Workflows started outside apps/api | Accepted |
| 0027 | React Compiler memoization policy | Accepted |
| 0028 | Path-scoped architecture rule | Accepted |
| 0029 | ISO 8601 strings in contracts | Accepted |
Last updated on