Package-manager channels
Doc type: How-to · Applies to: POSE 1.4.x
Every channel below installs the exact same signed release artifact used by
the verified install contract — no channel ever
builds from source or repackages independently. Manifests are generated
deterministically from checksums.txt and the release tag by
pose release-package-manifests, run in CI only after the compatibility
gate, the security gate and artifact-identity verification have all passed
(spec pose-package-manager-distribution, R2).
Channels and support tiers
Linux and macOS have a one-line fast path through the release install.sh; the
reproducible path on every platform remains the verified download: fetch the
archive and checksums.txt, verify and extract — see
Quickstart. The package-manager channels below are
additive; Homebrew is not currently an end-user install channel.
| Channel | Format | Publication mechanism | Publication lag | Support tier |
|---|---|---|---|---|
| Homebrew | pose.rb formula |
Attached to the GitHub release as an asset. No install channel: Homebrew requires a formula to be in a tap, and installing one from a path or URL is rejected — so the published formula is consumable only by a tap that does not exist yet | n/a | Generated and install-tested on every tagged release, through a throwaway tap on the clean-host matrix; not consumable by an end user |
| WinGet | 3-file manifest set (version/installer/locale.en-US) |
Generated in CI and attached to the release; a maintainer submits it as a PR to microsoft/winget-pkgs |
Days, gated by upstream Microsoft review — tracked per release in the closing spec's follow-ups until publication is automated | Maintained: manifest generation and local install exercised on every tagged release; upstream publication is a manual, tracked step |
Install commands:
# Linux/macOS fast path
curl -fsSLO https://github.com/oseiaspereira88/pose/releases/latest/download/install.sh && bash install.sh
# Every platform verified path: see the install contract
# WinGet (Windows), once published to winget-pkgs
winget install Harne8.Pose
Homebrew is not an install channel
Earlier versions of this page offered
brew install --formula <url>. Homebrew rejects that: a formula must be in
a tap, and installing from a path or a URL is unsupported. The formula is
still generated, published and install-tested every release, so a tap can
be stood up without regenerating anything — but until one exists there is
no brew command that installs POSE, and the verified download is the
supported path on macOS.
Verification
The Package channels CI workflow (.github/workflows/package-channels.yml)
installs, runs pose doctor --json and uninstalls through each channel on
an unmodified macOS and Windows runner for every published release (spec
pose-package-manager-distribution, R3). On macOS the formula is installed
through a throwaway local tap, since that is the only supported way to install
a formula file — the artifact under test is the published pose.rb, not the
tap. A channel that fails this matrix blocks that release's support-tier claim,
not the release itself — package channels are additive to the verified
download-and-checksum contract, never a replacement for it.
That matrix ran for the first time on v0.21.0 and exposed two install-path
defects: Homebrew requires a tap, and WinGet requires local-manifest policy to
be enabled. The repaired clean-host run (31240578941) then passed artifact
validation, install and pose doctor --json on both macOS and Windows. This is
why the formula remains release-tested while this page still does not present
it as an end-user Homebrew channel: a throwaway CI tap is proof of the artifact,
not a maintained public tap.
Rollback
Every channel installs a specific pinned version. To roll back:
- Homebrew: not applicable — there is no install channel to roll back. Re-run the verified download against the prior tag.
- WinGet:
winget install Harne8.Pose --version <prior-version>, or uninstall and reinstall from the prior release's manifest artifact.
pose update handles the repository contract/schema side of moving
between versions once the new binary is on PATH; channel rollback only
changes which binary is installed.