Motivation
Currently users must manually download .tar.xz archives from GitHub Releases and extract the binary manually. vipune has a simpler one-line install pattern:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/randomm/vipune/releases/latest/download/vipune-installer.sh | sh
This improves user experience by providing a familiar, frictionless installation method.
User Story
As an AI agent developer installing oo, I want a one-line install command so that I can quickly get started without manually downloading and extracting archives.
Proposed Solution
Enable cargo-dist's shell installer generation by updating Cargo.toml:
[workspace.metadata.dist]
installers = ["shell"] # ← Change from empty
install-path = "CARGO_HOME" # ← Recommended addition
cargo-dist will then auto-generate oo-installer.sh as part of the existing release pipeline. The installer will:
- Detect OS/architecture automatically (Apple Silicon macOS, ARM64 Linux, x64 Linux)
- Download the correct binary from GitHub Releases
- Verify SHA256 checksum
- Install to
$CARGO_HOME/bin (or $HOME/.cargo/bin)
- Configure PATH if needed
Release flow remains unchanged:
- Merge to main → release-plz creates version bump PR
- Merge that PR → release-plz creates git tag + publishes to crates.io
- Tag push triggers cargo-dist → builds binaries + generates installer + creates GitHub Release
Acceptance Criteria
Definition of Done
Motivation
Currently users must manually download
.tar.xzarchives from GitHub Releases and extract the binary manually. vipune has a simpler one-line install pattern:This improves user experience by providing a familiar, frictionless installation method.
User Story
As an AI agent developer installing oo, I want a one-line install command so that I can quickly get started without manually downloading and extracting archives.
Proposed Solution
Enable cargo-dist's shell installer generation by updating
Cargo.toml:cargo-dist will then auto-generate
oo-installer.shas part of the existing release pipeline. The installer will:$CARGO_HOME/bin(or$HOME/.cargo/bin)Release flow remains unchanged:
Acceptance Criteria
installers = ["shell"]andinstall-path = "CARGO_HOME"added to Cargo.tomloo-installer.shartifact in GitHub ReleaseDefinition of Done
cargo fmt --check,cargo clippy -- -D warnings)