cli icon indicating copy to clipboard operation
cli copied to clipboard

Heroku CLI

Heroku CLI

Heroku logo

CircleCI CircleCI Snap Status npm ISC License

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.

Contributors

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 notifications - display notifications
  • 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 psql - open a psql shell to the database
  • heroku redis - manage heroku redis instances
  • heroku regions - list available regions for deployment
  • heroku releases - display the releases for an app
  • 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 - status of the Heroku platform
  • heroku teams - manage teams
  • heroku update - update the Heroku CLI
  • heroku webhooks - list webhooks on an app

Developing

This project is built with lerna. The core plugins are located in ./packages. Run lerna bootstrap after cloning the repository to set it up.

The standard oclif ./bin/run script serves as your entry point to the CLI in your local development environment.

Testing

Run all tests with lerna run test.

Run one test, in this case plugin-certs-v5, with 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.