Base class for Heroku CLI commands. Built off of oclif.
This package provides the core functionality for Heroku CLI commands, including a comprehensive set of completion handlers for various Heroku resources. It serves as the foundation for building Heroku CLI commands with built-in support for command-line completion.
The package includes completion handlers for various Heroku resources:
- Apps: Autocomplete for Heroku application names
- Addons: Autocomplete for add-ons associated with specific apps
- Dynos: Autocomplete for dyno names within apps
- Buildpacks: Common Heroku buildpack options
- Dyno Sizes: Available dyno size options
- Files: Local file system completion
- Pipelines: Heroku pipeline names
- Process Types: Process types from Procfile
- Regions: Available Heroku regions
- Git Remotes: Git remote names
- Roles: User role options (admin, collaborator, member, owner)
- Scopes: Permission scope options
- Spaces: Heroku Private Spaces
- Stacks: Available Heroku stacks
- Stages: Pipeline stage options
- Teams: Heroku team names
The package includes a built-in APIClient
for making authenticated requests to the Heroku Platform API:
- Handles authentication and request formatting
- Provides a simple interface for making GET requests to Heroku resources
- Automatically parses JSON responses
- Used internally by completion handlers to fetch resource lists
- Supports configurable request options through the CLI config
Example usage:
const heroku = new APIClient(config)
const {body: resources} = await heroku.get('/apps')
This package is primarily used as a dependency in other Heroku CLI plugins and commands. It provides the base functionality needed to implement Heroku CLI commands with proper completion support.
Built with TypeScript and uses the oclif framework for CLI command development.