id = "supabase" name = "Supabase CLI" homepage = "https://supabase.com/docs/reference/cli/introduction" description = "Supabase CLI. Manage postgres migrations, run Supabase locally, deploy edge functions." icon = "SimpleIcons:supabase" executables = ["supabase"] [dotfiles] # No user-level config to sync: a Supabase project is configured by the # project's own supabase/config.toml, which lives in the repository, not in the # home directory. The only thing the CLI keeps in $HOME is the access token # below plus the local state carved out in `exclude`. paths = [] # `~/.supabase/telemetry.json` is the telemetry consent record and session # clock (apps/cli-go/internal/telemetry/state.go: telemetryPath() joins # SupabaseHomeDir() with "telemetry.json"), and `~/.supabase/profile` is the # name of the profile the last `supabase login` selected on this machine # (apps/cli/src/config/legacy-profile-file.ts). Both are local state, not # config. exclude = [ "~/.supabase/telemetry.json", "~/.supabase/profile", ] # `supabase login` docs (apps/cli/docs/supabase/login.md in supabase/cli): # "Your access token is stored securely in native credentials storage. If # native credentials storage is unavailable, it will be written to a plain text # file at /access-token." # # SUPABASE_HOME defaults to /.supabase on every platform — see # apps/cli/src/shared/config/supabase-home.ts and its Go twin # apps/cli-go/internal/utils/supabase_home.go — so there is no separate Windows # spelling. The file holds the personal access token and nothing else # (credentials.layer.ts writes it with mode 0600). secret = ["~/.supabase/access-token"] [commands] format = 1 label = "Supabase CLI commands" description = "Link a project, push migrations, create migrations and deploy functions. Other subcommands are left out." quality = "ai-draft" base = "fig:supabase" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/supabase.ts" license = "MIT" [[commands.subcommand]] path = ["link"] label = "Link to a project" description = "Link the local directory to a Supabase project." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/supabase.ts" license = "MIT" [[commands.subcommand.field]] id = "project_ref" label = "Project ref" type = "string" option = ["--project-ref"] sources = ["fig"] [[commands.subcommand.field]] id = "password" label = "Database password" type = "string" option = ["--password", "-p"] sources = ["fig"] [[commands.subcommand.task]] id = "link" label = "Link project" fields = ["project_ref", "password"] required = ["project_ref"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["project_ref", "password"] [[commands.subcommand]] path = ["db", "push"] label = "Push migrations" description = "Push new migrations to the remote database." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/supabase.ts" license = "MIT" [[commands.subcommand.field]] id = "dry_run" label = "Dry run" description = "Print the migrations that would be applied." type = "boolean" option = ["--dry-run"] sources = ["fig"] [[commands.subcommand.field]] id = "password" label = "Database password" type = "string" option = ["--password", "-p"] sources = ["fig"] [[commands.subcommand.task]] id = "preview" label = "Preview push" set = { dry_run = [true] } lock = ["dry_run"] fields = ["dry_run"] required = [] [[commands.subcommand.task]] id = "push" label = "Push migrations" fields = ["dry_run", "password"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["dry_run", "password"] [[commands.subcommand]] path = ["migration", "new"] label = "New migration" description = "Create an empty migration script." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/supabase.ts" license = "MIT" [[commands.subcommand.field]] id = "name" label = "Migration name" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "new" label = "Create migration" fields = ["name"] required = ["name"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["name"] [[commands.subcommand]] path = ["functions", "deploy"] label = "Deploy a function" description = "Deploy an Edge Function to Supabase." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/supabase.ts" license = "MIT" [[commands.subcommand.field]] id = "project_ref" label = "Project ref" type = "string" option = ["--project-ref"] sources = ["fig"] [[commands.subcommand.field]] id = "no_verify_jwt" label = "Disable JWT verification" type = "boolean" option = ["--no-verify-jwt"] sources = ["fig"] [[commands.subcommand.task]] id = "deploy" label = "Deploy function" fields = ["project_ref", "no_verify_jwt"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["project_ref", "no_verify_jwt"]