src/**/*.sql.ts.<entity>_id; indexes are <table>*<column>\_idx.drizzle.config.ts (schema: ./src/**/*.sql.ts, output: ./migration).bun run db generate --name <slug>.migration/<timestamp>_<slug>/migration.sql and snapshot.json._journal.json).Instructions to follow when writing Effect.
Schema.Class for data types with multiple fields.Schema.brand) for single-value types.ServiceMap.Service<ServiceName, ServiceName.Service>()("@console/<Name>").Layer.effect, always return service implementations with ServiceName.of({ ... }), never a plain object.Schema.TaggedErrorClass for typed errors.Schema.Defect instead of unknown.Effect.gen, prefer yield* new MyError(...) over yield* Effect.fail(new MyError(...)) for direct early-failure branches.Effect.gen(function* () { ... }) for composition.Effect.fn("ServiceName.method") for named/traced effects and Effect.fnUntraced for internal helpers.Effect.fn / Effect.fnUntraced accept pipeable operators as extra arguments, so avoid unnecessary flow or outer .pipe() wrappers.DateTime.nowAsDate over new Date(yield* Clock.currentTimeMillis) when you need a Date.Effect.gen/fn, prefer yield* new MyError(...) over yield* Effect.fail(new MyError(...)) for direct early-failure branches.