Repolode
zenstackhq

zenstackhq/zenstack

Prisma互換ORM、組み込みのアクセス制御、自動生成されるCRUD APIとTanStack Query hooksを備えたTypeScriptデータレイヤー。

代替できる製品:Prisma

スター
2,960
フォーク
160
未解決の Issue
178
最終コミット
一昨日

これは何?

ZenStackは、フルスタックまたはバックエンドのNode.js・Bunアプリケーション向けデータベースツールキットです。Prisma互換のスキーマとクエリAPIを使うスキーマファーストのアプローチを採用しています。バージョン3のORMはKyselyをベースとしているため、高水準のORMクエリと、より細かな制御が必要な場合に使える型付きのKyselyクエリビルダーを組み合わせられます。

アクセス制御とデータ検証をデータモデルに直接追加できるため、権限ルールをアプリケーションコードに散在させず、スキーマと一緒に管理できます。また、一般的なフレームワーク向けアダプターを備えたCRUD Web API、フロントエンドでのデータ取得に使うTanStack Query hooks、Zodスキーマも生成できます。

ドキュメントによると、ZenStack V3はRustやWASMのコンポーネントを含まない純粋なTypeScript実装で、ポリモーフィズムなどの高度なモデリングパターンにも対応しています。

主な機能

  • 01KyselyをベースにしたPrisma互換のスキーマとクエリAPI
  • 02データモデルに組み込まれたアクセス制御とデータ検証
  • 03フレームワークアダプターを備えたCRUD Web APIの自動生成
  • 04フロントエンドでのデータアクセスに使えるTanStack Query hooksの生成
  • 05Zodスキーマの生成
  • 06RustやWASMのコンポーネントを含まない純粋なTypeScript実装

ユースケース

  • 行レベルの権限ルールが必要なフルスタックTypeScript SaaSアプリの構築
  • クエリAPIを維持したまま、Node.jsバックエンドでPrismaを置き換える
  • データスキーマからCRUDエンドポイントとフロントエンド用hooksをすばやく公開する
  • ORMと並行して、型付きの生クエリを使える手段を追加する

クイックスタート

  1. 1

    ZenStackを設定した新しいプロジェクトをスキャフォールドする

    npm create zenstack@latest my-project
  2. 2

    または、CLIで既存のプロジェクトを初期化する

    npx @zenstackhq/cli@latest init

使う前に知っておきたいこと

  • バージョン3は大幅に書き換えられ、Prisma ORMを新しいエンジンに置き換えているため、以前のバージョンとは異なる場合があります。

トピック

よくある質問

zenstack とは?
Prisma互換ORM、組み込みのアクセス制御、自動生成されるCRUD APIとTanStack Query hooksを備えたTypeScriptデータレイヤー。 ZenStackは、フルスタックまたはバックエンドのNode.js・Bunアプリケーション向けデータベースツールキットです。Prisma互換のスキーマとクエリAPIを使うスキーマファーストのアプローチを採用しています。バージョン3のORMはKyselyをベースとしているため、高水準のORMクエリと、より細かな制御が必要な場合に使える型付きのKyselyクエリビルダーを組み合わせられます。
zenstack は無料で使えますか?ライセンスは?
zenstack は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
zenstack は今もメンテナンスされていますか?
活発にメンテナンス中。zenstack の最終コミットは 2026年11月6日 です。
zenstack は何に使えますか?
行レベルの権限ルールが必要なフルスタックTypeScript SaaSアプリの構築 クエリAPIを維持したまま、Node.jsバックエンドでPrismaを置き換える データスキーマからCRUDエンドポイントとフロントエンド用hooksをすばやく公開する ORMと並行して、型付きの生クエリを使える手段を追加する
zenstack のインストール方法は?
ZenStackを設定した新しいプロジェクトをスキャフォールドする: npm create zenstack@latest my-project または、CLIで既存のプロジェクトを初期化する: npx @zenstackhq/cli@latest init
zenstack はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/zenstackhq/zenstack

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト