Files
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

87 lines
5.2 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "supabase",
Description: "Supabase CLI",
Subcommands: []spec.Subcommand{
{Name: "completion", Description: "Generate the autocompletion script for the specified shell"},
{Name: "bash", Description: "Generate the autocompletion script for bash"},
{Name: "fish", Description: "Generate the autocompletion script for fish"},
{Name: "powershell", Description: "Generate the autocompletion script for powershell"},
{Name: "zsh", Description: "Generate the autocompletion script for zsh"},
{Name: "db", Description: "Manage local Postgres databases"},
{Name: "branch", Description: "Manage local database branches"},
{Name: "create", Description: "Create a branch"},
{Name: "delete", Description: "Delete a branch"},
{Name: "list", Description: "List branches"},
{Name: "switch", Description: "Switch the active branch"},
{Name: "diff", Description: "Diffs the local database for schema changes"},
{Name: "dump", Description: "Dumps data or schemas from the remote database"},
{Name: "lint", Description: "Checks local database for typing error"},
{Name: "pull", Description: "Pull schema from the remote database"},
{Name: "push", Description: "Push new migrations to the remote database"},
{Name: "remote", Description: "Manage remote databases"},
{Name: "changes", Description: "Show changes on the remote database"},
{Name: "commit", Description: "Commit remote changes as a new migration"},
{Name: "reset", Description: "Resets the local database to current migrations"},
{Name: "functions", Description: "Manage Supabase Edge functions"},
{Name: "deploy", Description: "Deploy a Function to Supabase"},
{Name: "new", Description: "Create a new Function locally"},
{Name: "serve", Description: "Serve a Function locally"},
{Name: "gen", Description: "Run code generation tools"},
{Name: "types", Description: "Generate types from Postgres schema"},
{Name: "typescript", Description: "Generate types for TypeScript"},
{Name: "init", Description: "Initialize a local project"},
{Name: "link", Description: "Link to a Supabase project"},
{Name: "login", Description: "Authenticate using an access token"},
{Name: "migration", Description: "Manage database migration scripts"},
{Name: "repair", Description: "Repair the migration history table"},
{Name: "squash", Description: "Squash migrations to a single file"},
{Name: "up", Description: "Apply pending migrations to local database"},
{Name: "orgs", Description: "Manage Supabase organizations"},
{Name: "projects", Description: "Manage Supabase projects"},
{Name: "secrets", Description: "Manage Supabase secrets"},
{Name: "set", Description: "Set a secret(s) on Supabase"},
{Name: "unset", Description: "Unset a secret(s) on Supabase"},
{Name: "start", Description: "Start containers for Supabase local development"},
{Name: "status", Description: "Show status of local Supabase containers"},
{Name: "stop", Description: "Stop all local Supabase containers"},
{Name: "help", Description: "Help about any command"},
},
Options: []spec.Option{
{Name: "--no-descriptions", Description: "Disable completion descriptions"},
{Name: "--file", Description: "Saves schema diff to a file"},
{Name: "--schema", Description: "List of schema to include"},
{Name: "--use-migra", Description: "Use migra to generate schema diff"},
{Name: "--data-only", Description: "Dumps only data records"},
{Name: "--db-url", Description: "Prints the pg_dump script that would be executed"},
{Name: "-h", Description: "Help for dump"},
{Name: "--keep-comments", Description: "Keeps commented lines from pg_dump output"},
{Name: "--linked", Description: "Dumps from the linked project. (default true)"},
{Name: "--local", Description: "Dumps from the local database"},
{Name: "--password", Description: "Password to your remote Postgres database"},
{Name: "--role-only", Description: "Dumps only cluster roles"},
{Name: "--use-copy", Description: "Uses copy statements in place of inserts"},
{Name: "--level", Description: "Error level to emit"},
{Name: "--dry-run", Description: "Print the migrations that would be applied, but don't actually apply them"},
{Name: "--project-ref", Description: "Project ref of the Supabase project"},
{Name: "--no-verify-jwt", Description: "Disable JWT verification for the Function"},
{Name: "--env-file", Description: "Path to an env file to be populated to the Function environment"},
{Name: "--status", Description: "Version status to update"},
{Name: "--version", Description: "Squash up to the specified version"},
{Name: "--db-password", Description: "Database password of the project"},
{Name: "--interactive", Description: "Enables interactive mode"},
{Name: "--org-id", Description: "Organization ID to create the project in"},
{Name: "--plan", Description: "Select a plan that suits your needs"},
{Name: "--region", Description: "Select a region close to you for the best performance"},
{Name: "--debug", Description: "Output debug logs to stderr"},
{Name: "--help", Description: "Display help"},
},
})
}