Previous featureNext feature

CLI

Develop locally, manage migrations, and deploy from the terminal.

Stage:
General Availability
Available on self-hosted:
Yes

The Supabase CLI runs the full Supabase stack on your machine or in CI, captures schema changes as migrations, and pushes them to a hosted project. Run one local project or several at once, in Docker containers or as native processes.

Key features

  1. Local development: Run a local project with Docker, or opt into the experimental setting for several projects at once and the native runtime. See Local development.
  2. Migrations: Generate, apply, and roll back database migrations, or write declarative schema files and let the CLI diff them.
  3. Config as code: Define project settings in config.toml and apply them to hosted projects.
  4. Deployments: Push migrations, deploy Edge Functions, and apply config to a linked project, each with its own command.
  5. Type generation: Generate TypeScript types from your database schema.
  6. Seed data: Populate local databases with test data on every reset.
  7. CI/CD: Run every command headlessly in GitHub Actions or any other runner.

When to use it

  • Teams that want schema changes reviewed in pull requests
  • Projects that need reproducible local environments
  • Coding agents that set up, test, and deploy a backend without a browser
  • Deployments managed from CI
Share

Build in a weekend, scale to millions