Heroku CLI
The Heroku CLI is used to manage Heroku apps from the command line. It is built using oclif.
For more about Heroku see https://www.heroku.com/home
To get started see https://devcenter.heroku.com/start
Overview
This is the next generation Node-based Heroku CLI. The goals of this project were to make plugins more flexible, remove Ruby as a runtime dependency, and make the CLI faster.
It has identical functionality to the old Ruby CLI. Under the hood, it is a modular CLI made up of node.js 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.
Command Topics
heroku access
- manage user access to appsheroku addons
- tools and services for developing, extending, and operating your appheroku apps
- manage apps on Herokuheroku auth
- check 2fa statusheroku authorizations
- OAuth authorizationsheroku autocomplete
- display autocomplete installation instructionsheroku buildpacks
- scripts used to compile appsheroku certs
- a topic for the ssl pluginheroku ci
- run an application test suite on Herokuheroku clients
- OAuth clients on the platformheroku config
- environment variables of appsheroku container
- Use containers to build and deploy Heroku appsheroku domains
- custom domains for appsheroku drains
- forward logs to syslog or HTTPSheroku features
- add/remove app featuresheroku git
- manage local git repository for appheroku help
- Display help for heroku.heroku keys
- add/remove account ssh keysheroku labs
- add/remove experimental featuresheroku local
- run Heroku app locallyheroku logs
- display recent log outputheroku maintenance
- enable/disable access to appheroku members
- manage organization membersheroku orgs
- manage organizationsheroku pg
- manage postgresql databasesheroku pipelines
- manage pipelinesheroku plugins
- List installed plugins.heroku ps
- Client tools for Heroku Execheroku redis
- manage heroku redis instancesheroku regions
- list available regions for deploymentheroku reviewapps
- manage reviewapps in pipelinesheroku run
- run a one-off process inside a Heroku dynoheroku sessions
- OAuth sessionsheroku spaces
- manage heroku private spacesheroku status
- display current status of the Heroku platformheroku teams
- manage teamsheroku update
- update the Heroku CLIheroku version
heroku webhooks
- list webhooks on an app
Developing
This project is built with lerna. The core plugins are located in ./packages.
After cloning the repo
- Run
yarn
to install dependencies - Run
yarn lerna bootstrap
set up Lerna and link the packages together- This repo currently uses an older version of Lerna. We recommend using the version specified in the package.json instead of a newer version that you may have installed globally.
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 yarn lerna run test
.
Run one test, in this case plugin-certs-v5, with yarn lerna run --scope @heroku-cli/plugin-certs-v5 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
- Set the working directory to the directory of the package you are using. (i.e. ~/Heroku/Repos/cli/packages/certs-v5)
Releasing
See the Heroku CLI Release Steps.
Review our PR guidelines.