id = "heroku" name = "Heroku CLI" homepage = "https://devcenter.heroku.com/articles/heroku-cli" description = "The Heroku Command Line Interface (CLI) is an essential part of using Heroku, letting you create and manage Heroku apps from the terminal." icon = "theSVG:heroku" executables = ["heroku"] [dotfiles] # https://devcenter.heroku.com/articles/heroku-cli — "The CLI saves your email # address and an API token to ~/.netrc for future use", and the same page names # _netrc as the Windows spelling of that file. The CLI prefers the system # keychain and only falls back to netrc when no supported keychain is available, # which is exactly when the token is on disk in the clear. # # Nothing else the CLI keeps under the home directory is configuration. The same # page puts self-updated CLI versions and installed plugins in # ~/.local/share/heroku ($XDG_DATA_HOME when set) and the cache and error log in # ~/Library/Caches/heroku, ~/.cache/heroku and %LOCALAPPDATA%\heroku — state the # CLI rewrites for itself. There is no user-editable config file at all, so # `paths` is empty and the entry records where the credential is instead, which # is the one thing a consumer needs to know about this tool. paths = [] exclude = [] # The whole file is machine names, logins and API tokens. It is shared with # curl, wget and anything else that reads netrc — that this entry names it says # where Heroku's token lands, not that Heroku owns the file. secret = ["~/.netrc", "~/_netrc"] [commands] format = 1 label = "Heroku CLI" description = "Create a Heroku app with apps:create. Other commands, team and private-space options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["apps:create"] label = "Create an app" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://raw.githubusercontent.com/heroku/cli/HEAD/docs/apps.md" revision = "v11.12.1" evidence = """ $ heroku apps:create [APP] [--prompt] [--addons ] [-b ] [--json] [-n] [--region ] [-r [APP] name of app to create -b, --buildpack= buildpack url to use for this app -n, --no-remote do not create a git remote -r, --remote= [default: heroku] the git remote to create, default "heroku" -s, --stack= the stack to create the app on --addons= comma-delimited list of addons to install --region= specify region for the app to run in""" [[commands.subcommand.field]] id = "app" label = "App name" description = "Leave empty for a generated name." type = "string" position = 0 min = 0 sources = ["docs"] [[commands.subcommand.field]] id = "buildpack" label = "Buildpack URL" type = "url" option = ["--buildpack", "-b"] sources = ["docs"] [[commands.subcommand.field]] id = "remote" label = "Git remote name" type = "string" option = ["--remote", "-r"] sources = ["docs"] [[commands.subcommand.field]] id = "no_remote" label = "Do not create a git remote" type = "boolean" option = ["--no-remote", "-n"] sources = ["docs"] [[commands.subcommand.field]] id = "region" label = "Region" type = "string" option = ["--region"] suggestions = [{ value = "us", label = "US" }, { value = "eu", label = "EU" }] sources = ["docs"] [[commands.subcommand.field]] id = "stack" label = "Stack" type = "string" option = ["--stack", "-s"] sources = ["docs"] [[commands.subcommand.field]] id = "addons" label = "Add-ons" description = "Comma-delimited list." type = "string" option = ["--addons"] sources = ["docs"] [[commands.subcommand.task]] id = "create" label = "Create an app" fields = ["app", "region", "buildpack"] [[commands.subcommand.task]] id = "staging" label = "Create a staging app" fields = ["app", "remote", "region"] required = ["app", "remote"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["app", "region", "remote", "no_remote"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["buildpack", "stack", "addons"]