Overview
The Heroku CLI is a command-line interface for managing Heroku applications and services. Built with Node.js and oclif, it provides an extensible architecture for interacting with the Heroku platform.
For more about Heroku see https://www.heroku.com/home
To get started see https://devcenter.heroku.com/start
Key features of the CLI include:
- App management - Deploy, scale, and monitor your applications
- Heroku Postgres database management - Backup, restore, and manage Heroku Postgres databases
- Heroku CI/CD pipelines - Run automated tests and manage review apps for streamlined deployment workflows
- Add-ons marketplace - Provision and manage tools and services to extend your application
- SSL certificates and domains - Configure custom domains and automatically manage SSL/TLS certificates
- Team collaboration - Manage organization and team access with granular permissions
- Private Spaces - Deploy applications in network-isolated environments with VPN support
- Logs and monitoring - Stream application logs and forward them to external services
- Plugin ecosystem - Extend functionality with community and custom plugins
For more on developing plugins, read Developing CLI Plugins
Issues
For problems directly related to the CLI, add an issue on GitHub.
For other issues, submit a support ticket.
Contributors
Command Topics
heroku access - manage user access to apps
heroku accounts - list the Heroku accounts in your cache
heroku addons - tools and services for developing, extending, and operating your app
heroku apps - manage apps on Heroku
heroku auth - manage authentication for your Heroku account
heroku authorizations - OAuth authorizations
heroku autocomplete - display autocomplete installation instructions
heroku buildpacks - scripts used to compile apps
heroku certs - SSL certificates
heroku ci - test runner for Heroku Pipelines
heroku clients - OAuth clients on the platform
heroku config - environment variables of apps
heroku container - deploy your Docker-based app to Heroku
heroku data - list maintenances for an app's data addons
heroku domains - custom domains for apps
heroku drains - forward logs to syslog or HTTPS
heroku features - add/remove app features
heroku git - set git remote and clone Heroku repository
heroku help - Display help for heroku.
heroku keys - add/remove account ssh keys
heroku labs - add/remove experimental features
heroku local - run Heroku app locally
heroku logs - display recent log output
heroku maintenance - enable/disable access to app
heroku mcp - starts the Heroku platform MCP server in stdio mode
heroku members - manage organization members
heroku notifications - display notifications
heroku orgs - manage organizations
heroku pg - manage postgresql databases
heroku pipelines - manage pipelines
heroku plugins - List installed plugins.
heroku ps - manage app dynos
heroku redis - manage heroku redis instances
heroku regions - list available regions for deployment
heroku releases - display the releases for an app
heroku repl - enter an interactive REPL session to run Heroku CLI commands
heroku reviewapps - manage reviewapps in pipelines
heroku run - run a one-off process inside a Heroku dyno
heroku search - Search for a command.
heroku sessions - OAuth sessions
heroku spaces - list available spaces
heroku status - display current status of the Heroku platform
heroku teams - manage teams
heroku telemetry - list telemetry drains
heroku update - update the Heroku CLI
heroku usage - list usage for metered add-ons attached to an app or apps within a team
heroku version - display changelog information for a specific CLI version
heroku webhooks - list webhooks on an app
Developing
After cloning the repo
- Run
npm install to install dependencies
- Run
npm run build to build the CLI. This will need to be re-run any time you make changes and want to test them locally.
To execute Heroku CLI commands locally, use ./bin/run <command>. For example, to run the heroku apps command with your local code, run ./bin/run apps from the root directory.
Testing
Run all tests with npm test.
Debugging
Using WebStorm (from JetBrains / IntelliJ), you can run/debug an individual test case.
- Create a new run/debug configuration
- Select the 'Mocha' type
Contributing
Please review our Contributing guidelines as well as our PR template.