mcpField
S
Supabase CLI

Supabase CLI

公式おすすめ
supabase.comデータベース・データ2.4ksupabase今日更新
リポジトリ公式サイト

Supabase CLI について

Supabase CLI は、PostgreSQL、認証、リアルタイム機能を含む完全な Supabase 開発環境をローカルマシンで実行できます。データベースマイグレーションの管理、Edge Functions のデプロイ、データベース型の自動生成に対応しています。

主な機能

  1. 01ローカルで完全な Supabase 開発スタックを起動する
  2. 02データベーススキーママイグレーションを管理・実行する
  3. 03Edge Functions をデプロイしてテストする

活用シーン

  1. 01PostgreSQL バックエンドアプリケーションをオフラインで開発する
  2. 02本番環境へのプッシュ前にデータベース変更をテストする
  3. 03Edge Functions をローカルで記述・デバッグする

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install supabase/tap/supabase

インストール後にsupabase --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
supabase init
02
supabase start
03
supabase db push

詳細

Supabase CLI

ターミナルからローカルで開発し、Supabase Platform にデプロイできます。

npm ビルド ライセンス Discord


Supabase CLI を使うと、Supabase Platform をターミナルから利用できます。ローカルスタック全体の起動、データベースのマイグレーション管理、Edge Functions のデプロイ、型の生成、プロジェクトのワークフローの自動化が可能です。

インストール

# YOLO
curl -fsSL https://raw.githubusercontent.com/supabase/cli/main/install | bash

# npm
npm install -D supabase                   # or bun/pnpm/yarn add -D supabase
npm install -D supabase@beta              # beta channel

# macOS and Linux
brew install supabase/tap/supabase        # always up to date
brew install supabase                     # official formula, may be delayed
brew install supabase/tap/supabase-beta   # beta channel

# Windows
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
scoop install supabase-beta               # beta channel

# Linux packages
# Download .apk, .deb, .rpm, or .pkg.tar.zst from GitHub Releases.

Linux パッケージは Releases から入手できます。コミュニティが管理するパッケージは、pkgx と Nixpkgs からも入手できます。

ローカル開発を開始する

Supabase ワークスペースを作成し、ローカルスタックを起動します。

supabase init
supabase start
supabase status

ローカルスタックには、Postgres、Auth、Realtime、Storage、Edge Functions、および Supabase API が含まれます。

テンプレートから開始します。

supabase bootstrap

プロジェクトをリンクする

ローカルワークスペースをホストされた Supabase プロジェクトに接続します。

supabase login
supabase link

データベースを管理する

マイグレーションを作成し、スキーマを比較して、ローカルまたはリンク済みプロジェクトに変更を適用します。

supabase migration new create_profiles
supabase db diff
supabase db push
supabase db reset

Edge Functions をデプロイする

同じプロジェクトワークスペースから関数をビルド、サーブ、デプロイします。

supabase functions new hello-world
supabase functions serve
supabase functions deploy hello-world

型を生成する

ローカルデータベースまたはリンク済みプロジェクトから TypeScript の型を生成します。

supabase gen types --local
supabase gen types --linked

リファレンス

任意のコマンドで --help を使うと、フラグや使用例を確認できます。

supabase db --help
supabase functions deploy --help

開発

このリポジトリは pnpm モノレポです。公開パッケージは apps/cli にあります。

pnpm install
pnpm check:all

cd apps/cli

pnpm types:check
pnpm run test:unit && pnpm run test:integration

主なソースコードのエントリーポイント:

パス用途
apps/cliTypeScript/Bun CLI パッケージ
apps/cli-goCLI で使用する Go CLI ソース
packages/stackローカル Supabase スタックのランタイム
packages/config設定スキーマと生成された型
packages/api型付き Supabase Management API クライアント

新規クローン後、エージェントや開発者が調査する際に使用する参照リポジトリをインストールします。

pnpm repos:install

コントリビューション

問題が明確で、変更範囲が小さく、ユーザー向けの動作に即したテストがある、焦点の絞られたプルリクエストを歓迎します。

まず issue を作成し、作業を始める前にメンテナーが open-for-contribution ラベルを付けるまでお待ちください。ラベル付きのオープンな issue にリンクしていない外部からのプルリクエストは、自動的にクローズされます。詳しいワークフローについては、CONTRIBUTING.md を参照してください。

PR を作成する前に、リポジトリのルートからリポジトリ全体の品質チェックを実行し、 次に変更した各ワークスペースから関連するパッケージのテストを実行してください。変更した 各 TypeScript ワークスペース(またはスクリプトを宣言しているワークスペース)では、 pnpm types:check スクリプトも実行してください。例:

# From the repository root:
pnpm check:all

# From apps/cli (a touched TypeScript workspace):
cd apps/cli
pnpm types:check
pnpm run test:unit && pnpm run test:integration

# Repeat the relevant package tests for every touched workspace; run
# pnpm types:check there too when that workspace declares the script.

PR のタイトルには、次のように Conventional Commits の形式を使用してください。

fix(cli): handle linked projects without cached service versions

ライセンス

Supabase CLI パッケージは MIT ライセンスの下で公開されています。

コメント