ADR-020: Multi-method distribution strategy
Status: Accepted
Date: 2026-06-30
Context
The skill-auditor binary had no install path beyond go install and manual GitHub release downloads. Users needed to compile from source or navigate release assets. GoReleaser already produced cross-platform tarballs on every tagged release, but no install automation consumed them.
Decision
Adopt a multi-method distribution strategy with four install paths:
- install.sh — curl-pipe POSIX shell script from GitHub Releases (
scripts/install.sh). Detects OS/arch, resolves latest release tag via GitHub API, downloads matching tarball, verifies checksums, installs to/usr/local/bin. - Homebrew tap —
pantheon-org/homebrew-tapwith GoReleaser auto-pushingFormula/skill-auditor.rbon every release (ADR-008). - mise plugin — Use
ubibackend (Option A) initially, which auto-discovers GitHub releases. No custom plugin needed. updatecommand —skill-auditor update --checkthat checks for newer releases and performs a temp-file binary swap.
Consequences
- Four install paths covering POSIX, Homebrew users, mise users, and existing binary users
- Install discovery happens via
README.mdandskill-auditor update --check - Homebrew tap requires separate repo creation and a PAT secret
- mise ubi backend works out of the box for GitHub releases without custom plugin maintenance
- The
updatecommand is the upgrade path for users who installed via install.sh