@@ -74,7 +74,7 @@ State-of-the-art industrial standard. Every time. Would you stake your reputatio
7474
7575** Tooling:** Biome (lint/format), Bunup (build), Bun test
7676
77- ** CLI:** Vercel CLI, Neon CLI, Modal CLI, GitHub CLI — use directly, install if missing, never ask user to run manually
77+ ** CLI:** Vercel CLI, Neon CLI, Atlas CLI, Modal CLI, GitHub CLI — use directly, install if missing, never ask user to run manually
7878
7979## Execution
8080
@@ -185,17 +185,30 @@ Errors should be:
185185- E2E tests for critical user flows
186186- Test the behavior, not the implementation
187187
188- ## Database (Drizzle )
188+ ## Database (Atlas )
189189
190- ** Source of truth = migration SQL, not schema. **
190+ ** Schema management via Atlas. ** Drizzle ORM is for queries only — never use ` drizzle-kit ` for migrations.
191191
192- Write migration SQL directly. Update ` _journal.json ` . Skip ` drizzle-kit generate ` — it's not AI-friendly.
192+ ** Source of truth = ` schema.sql ` ** (or ` .hcl ` ) in the repo. Atlas diffs it against the live database and generates migrations.
193+
194+ ``` bash
195+ # Generate migration from schema changes
196+ atlas migrate diff --env local
197+
198+ # Apply pending migrations
199+ atlas migrate apply --env local
200+
201+ # Lint migrations for safety (destructive changes, locks)
202+ atlas migrate lint --env local --latest 1
203+ ```
204+
205+ ** ` atlas.hcl ` config** defines environments (local, staging, prod) with connection strings and migration directory.
193206
194207** Build-time verification:**
195208``` bash
196- drizzle-kit migrate && drizzle-kit push --dry-run
209+ atlas migrate lint --env ci --latest 1
197210```
198- If there's any diff, migration is incomplete — fail the build .
211+ If lint fails (data loss, long locks), block the deploy .
199212
200213## Hono RPC
201214
0 commit comments