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 apps -
heroku addons
- tools and services for developing, extending, and operating your app -
heroku apps
- manage apps on Heroku -
heroku auth
- check 2fa status -
heroku authorizations
- OAuth authorizations -
heroku autocomplete
- display autocomplete installation instructions -
heroku buildpacks
- scripts used to compile apps -
heroku certs
- a topic for the ssl plugin -
heroku ci
- run an application test suite on Heroku -
heroku clients
- OAuth clients on the platform -
heroku config
- environment variables of apps -
heroku container
- Use containers to build and deploy Heroku apps -
heroku domains
- custom domains for apps -
heroku drains
- forward logs to syslog or HTTPS -
heroku features
- add/remove app features -
heroku git
- manage local git repository for app -
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 members
- manage organization members -
heroku orgs
- manage organizations -
heroku pg
- manage postgresql databases -
heroku pipelines
- manage pipelines -
heroku plugins
- List installed plugins. -
heroku ps
- Client tools for Heroku Exec -
heroku redis
- manage heroku redis instances -
heroku regions
- list available regions for deployment -
heroku reviewapps
- manage reviewapps in pipelines -
heroku run
- run a one-off process inside a Heroku dyno -
heroku sessions
- OAuth sessions -
heroku spaces
- manage heroku private spaces -
heroku status
- display current status of the Heroku platform -
heroku teams
- manage teams -
heroku update
- update the Heroku CLI heroku 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.