packagehall-ctl is the administration and inspection CLI for Packager.io. Hosted users use it over HTTPS at go.packager.io.
Install
The install script supports Linux and macOS on x86-64 and ARM64:
curl -fsSL https://raw.githubusercontent.com/pkgr/packagehall-ctl/main/install.sh | shWindows and manual downloads are available from GitHub Releases.
Confirm the installation:
packagehall-ctl --versionConfigure the hosted endpoint
packagehall-ctl configureThe prompts ask for:
- Endpoint: accept
https://go.packager.io. - Token: paste the organization administrator token supplied by Packager.io.
The CLI writes ~/.packagehall/config.yaml with permissions limited to your user. Inspect the active values without revealing the full token:
packagehall-ctl config showConfiguration precedence
The CLI resolves settings in this order:
- Explicit
--adminand--tokenflags. - Values in
~/.packagehall/config.yaml. - Built-in defaults.
Override the saved endpoint when testing a different server:
packagehall-ctl \ --admin=https://go.packager.io \ --token="$PACKAGER_TOKEN" \ repo list --org=acmeAvoid putting tokens directly in shell history. Prefer the configuration file or an environment variable expanded from a secret store.
Output formats
Commands return readable tables by default:
packagehall-ctl package list --org=acme --repo=widgetUse JSON for jq, scripts, and continuous integration:
packagehall-ctl --format=json package list \ --org=acme \ --repo=widget \ | jq '.[] | {name, version, channels}'Everyday commands
# Repositoriespackagehall-ctl repo list --org=acmepackagehall-ctl repo create widget --org=acme --public
# Tokenspackagehall-ctl token list --org=acme --repo=widgetpackagehall-ctl token create github-actions \ --org=acme --repo=widget --permissions=push
# Channelspackagehall-ctl channel list --org=acme --repo=widgetpackagehall-ctl channel set-default stable --org=acme --repo=widget
# Packagespackagehall-ctl package list --org=acme --repo=widgetpackagehall-ctl package show PACKAGE_UUID --org=acme --repo=widgetRun packagehall-ctl COMMAND --help for the flags supported by your installed release.
Permission levels
Permissions are hierarchical:
| Permission | Typical use |
|---|---|
org_admin |
Manage repositories, tokens, and signing configuration across an organization. |
repo_admin |
Change one repository’s settings. |
push |
Publish packages; use for GitHub Actions. |
pull |
Read private repository metadata and packages. |
Higher permissions inherit lower capabilities. Keep your organization token local and create narrow repository tokens for automation.