use-drzl/drzl(新しいタブで開きます)
主要言語: TypeScript
Zero‑friction codegen for Drizzle ORM. Analyze your schema. Generate validation, services, and routers — fast.
- star 数
- 111
- watcher 数
- 0
- fork 数
- 5
- issue 数
- 3
- 最終更新
- 2026/08/30
主要言語: TypeScript
Zero‑friction codegen for Drizzle ORM. Analyze your schema. Generate validation, services, and routers — fast.
Zero‑friction codegen for Drizzle ORM. Analyze your schema. Generate validation, services, and routers fast.
sponsor-wanted (or open one) and DM @omardulaimidev so we can reserve it for you.@drzl/cli brings every one of themPostgres in-process via PGlite, SQLite via node:sqlite, and MySQL as a CI service container, on
every commit. The run behind this README printed:
1476 probes against a real Postgres (41 columns)
59 CHECK probes against a real Postgres (15 constrained columns)
rows Postgres rejects and the validator accepts: DRZL 0, drizzle-orm 24
32 CHECK probes against a real SQLite (10 constrained columns)
37 probes against a real MySQL
Those lines are compared against the run itself, line by line, by
scripts/verify/stages/35-docs-numbers.sh, so a number here that stops being true fails the build
rather than sitting in a README nobody rechecks. See how it is
verified.
pnpm add @drzl/cli -D pnpm drzl init
pnpm drzl generate -c drzl.config.ts
Minimal config
// drzl.config.ts import { defineConfig } from '@drzl/cli/config'; export default defineConfig({ schema: 'src/db/schemas/index.ts', outDir: 'src/api', generators: [ { kind: 'zod', path: 'src/validators/zod' }, { kind: 'service', path: 'src/services', dataAccess: 'drizzle' }, { kind: 'orpc', template: '@drzl/template-orpc-service' }, ], });
Runtime
drzl CLI, which is what its own dependencies requirepackages/analyzer: schema analysispackages/cli: CLI (drzl)packages/generator-orpc: oRPC router generatorpackages/generator-trpc: tRPC v11 router generatorpackages/generator-hono: Hono route generatorpackages/generator-express: Express 5 router generatorpackages/generator-fastify: Fastify 5 plugin generatorpackages/generator-nestjs: NestJS DTO and entity class generatorpackages/generator-graphql: GraphQL SDL and resolver-stub generatorpackages/generator-effect-http: Effect Platform HttpApi generatorpackages/generator-h3: h3 and Nitro route handler generatorpackages/generator-elysia: Elysia route generatorpackages/generator-seed: constraint-satisfying seed data generatorpackages/generator-fast-check: constraint-bounded fast-check arbitrary generatorpackages/generator-pothos: Pothos schema builder generatorpackages/generator-ts-rest: ts-rest contract generatorpackages/generator-openapi-fetch: typed openapi-fetch client generatorpackages/generator-forms: react-hook-form and TanStack Form resolver and field-metadata generatorpackages/generator-ai: AI SDK tool generatorpackages/generator-mcp: Model Context Protocol tool generatorpackages/generator-next: Next.js server action generatorpackages/generator-tanstack-start: TanStack Start server function generatorpackages/generator-service: typed service generatorpackages/generator-zod: Zod generatorpackages/generator-valibot: Valibot generatorpackages/generator-arktype: ArkType generatorpackages/generator-typebox: TypeBox generatorpackages/generator-effect: Effect Schema generatorpackages/generator-json-schema: JSON Schema and OpenAPI generatorpackages/validation-core: shared validation utilitiespackages/template-orpc-service: oRPC router template (service‑backed)packages/template-standard: minimal oRPC router templateSee each package’s README for details.
pnpm installpnpm -r run buildpnpm -r testpnpm lintRunnable applications live in examples/. They are workspace members that depend on the
workspace copy of @drzl/cli, so pnpm build and pnpm -r test cover them and a regression in a
generator breaks them.
examples/nextjs-server-actions: a Drizzle schema,
drzl generate, and the emitted zod schemas validating what a form posts to a Next.js server
action, with field errors attributed to the constraint that caused them.VitePress site lives in docs/ (kept out of releases). Local dev:
pnpm -C docs dev
Contributions welcome. See CONTRIBUTING.md.
Apache-2.0