Skip to main content
Version: 3.0 Alpha

Welcome

Welcome to ZenStack - the data layer for modern TypeScript applications.

ZenStack is built with the belief that most applications should use the data model as their center pillar. If that model is well-designed, it can serve as the single source of truth throughout the app's lifecycle and be used to derive many other aspects of the app. The result is a smaller, more cohesive code base that scales well as your team grows while maintaining a high level of developer experience.

Inside the package you'll find:

  • Intuitive schema language

    That helps you model data, relations, access control, and more, in one place. 🔗

  • Powerful ORM

    With awesomely-typed API, built-in access control, and unmatched flexibility. 🔗

  • Query-as-a-Service

    That provides a full-fledged data API without the need to code it up. 🔗

  • Utilities

    For deriving artifacts like Zod schemas, frontend hooks, OpenAPI specs, etc., from the schema. 🔗

ZenStack originated as an extension to Prisma ORM. V3 is a complete rewrite that removed Prisma as a runtime dependency and replaced it with an implementation built from scratch ("scratch" = Kysely 😆). On its surface, it continues to use a "Prisma-superset" schema language and a query API compatible with PrismaClient. This blog post contains more background about the thoughts behind the v3 refactor.

Comments
Feel free to ask questions, give feedback, or report issues.

Don't Spam


You can edit/delete your comments by going directly to the discussion, clicking on the 'comments' link below