# Documentation ## Pages - [Overview](/docs.md): Write your storage layer once and let Farming Labs ORM handle the translation across databases and ORM stacks. - [CLI Generation](/docs/cli.md): How the CLI loads schemas and writes Prisma, Drizzle, and SQL output. - [Getting Started](/docs/getting-started.md): Define a schema, add a config file, and generate your first artifacts. - [Integrations](/docs/integrations.md): How Farming Labs ORM fits into Prisma, Drizzle, Kysely, MikroORM, TypeORM, Sequelize, EdgeDB / Gel, Neo4j, SurrealDB, Cloudflare D1, Cloudflare KV, Redis / Upstash, SQL-first, Supabase, Xata, Firestore, DynamoDB, Unstorage, and MongoDB-oriented workflows. - [Cloudflare D1](/docs/integrations/cloudflare-d1.md): How to use Farming Labs ORM with Cloudflare D1 through a worker-native runtime. - [Cloudflare KV](/docs/integrations/cloudflare-kv.md): How to use Farming Labs ORM with Cloudflare KV through a worker-native key-value runtime. - [Drizzle](/docs/integrations/drizzle.md): How the unified schema and runtime fit into Drizzle-based apps. - [DynamoDB](/docs/integrations/dynamodb.md): How to use Farming Labs ORM with AWS DynamoDB through one unified key-value/document runtime. - [EdgeDB / Gel](/docs/integrations/edgedb.md): How to use Farming Labs ORM with the official Gel SQL client as a runtime-only relational path. - [Firestore](/docs/integrations/firestore.md): How to use Farming Labs ORM with Firebase / Firestore through one unified document runtime. - [Kysely](/docs/integrations/kysely.md): How the unified schema and runtime fit into Kysely-based apps. - [MikroORM](/docs/integrations/mikroorm.md): How the unified schema and runtime fit into MikroORM-based PostgreSQL and MySQL apps. - [MongoDB](/docs/integrations/mongodb.md): How MongoDB fits into Farming Labs ORM through the native MongoDB and Mongoose runtime packages. - [Neo4j](/docs/integrations/neo4j.md): How the unified schema and runtime fit into Neo4j-backed graph applications. - [Prisma](/docs/integrations/prisma.md): How the unified schema generates Prisma schema output and how the live Prisma runtime driver fits into Prisma-based apps. - [Redis & Upstash Redis](/docs/integrations/redis.md): How to use Farming Labs ORM with Redis and Upstash Redis through one key-value runtime family. - [Sequelize](/docs/integrations/sequelize.md): How the unified schema and runtime fit into Sequelize-based PostgreSQL and MySQL apps. - [SQL Databases](/docs/integrations/sql-databases.md): How safe SQL generation and the direct SQL runtime fit PostgreSQL, MySQL, and SQLite workflows. - [Supabase](/docs/integrations/supabase.md): How to use Farming Labs ORM with Supabase through either its PostgreSQL connection layer or the direct Supabase JS client. - [Support Matrix](/docs/integrations/support-matrix.md): A simpler support overview for generation, live runtime support, and setup coverage across the supported stacks, including SurrealDB. - [SurrealDB](/docs/integrations/surrealdb.md): How to use Farming Labs ORM with the official SurrealDB client through one schema and one shared runtime surface. - [TypeORM](/docs/integrations/typeorm.md): How the unified schema and runtime fit into TypeORM DataSource-based apps. - [Unstorage](/docs/integrations/unstorage.md): How to use Farming Labs ORM with Unstorage through one unified key-value/document runtime. - [Xata](/docs/integrations/xata.md): How to use Farming Labs ORM with the official Xata client through one schema and one shared runtime surface. - [Runtime](/docs/runtime.md): What runtime means in Farming Labs ORM and how it differs from generation. - [Memory Driver](/docs/runtime/memory-driver.md): The current live runtime driver for tests, demos, and docs examples. - [Query API](/docs/runtime/query-api.md): Typed query and mutation methods, nested select, filters, sorting, paging, transactions, and auth-style workflows. - [Runtime Helpers](/docs/runtime/runtime-helpers.md): Create a driver or ORM directly from a raw Prisma, Drizzle, Kysely, MikroORM, TypeORM, Sequelize, EdgeDB / Gel, Neo4j, SurrealDB, Cloudflare D1, Cloudflare KV, Redis / Upstash, Supabase, Xata, SQL, Firestore, DynamoDB, Unstorage, MongoDB, or Mongoose runtime. - [Unified Schema](/docs/schema.md): One source of truth for fields, constraints, defaults, references, and relationships. - [Fields](/docs/schema/fields.md): Field builders, defaults, mapping, nullability, uniqueness, and references. - [Relations](/docs/schema/relations.md): One-to-one, one-to-many, and many-to-many relation patterns. - [Use Cases](/docs/use-cases.md): Where the generator-first approach fits best. - [Adapter Ecosystem](/docs/use-cases/auth-adapter-ecosystem.md): How to replace repeated adapter packages with one schema definition, one unified ORM/runtime layer, and one setup path. - [Auth Libraries](/docs/use-cases/auth-libraries.md): How to build auth-style storage integrations on top of Farming Labs ORM. - [Billing Modules](/docs/use-cases/billing-modules.md): How reusable billing packages can ship one storage contract across many apps and runtime stacks. - [Framework Authors](/docs/use-cases/framework-authors.md): How frameworks and reusable platform layers can build one storage contract and let apps bring the final runtime. - [Full-Stack Frameworks](/docs/use-cases/fullstack-frameworks.md): How full-stack frameworks can integrate Farming Labs ORM without owning every backend-specific storage branch. - [Internal Platforms](/docs/use-cases/internal-platforms.md): Shared schema packages for organizations, permissions, and platform modules. - [Multi-Storage Walkthrough](/docs/use-cases/multi-storage-walkthrough.md): Build one reusable platform layer that keeps durable state in a relational runtime and fast state in a key-value runtime.