gh-install

command module
v0.0.0-...-e9233d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2026 License: MIT Imports: 1 Imported by: 0

README

gh-install

A GitHub CLI extension to easily install binaries from GitHub releases.

[!WARNING] Very much a work in progress. Currently only supports binaries, doesn't support compressed assets or archived assets. Also does not support system packages. Initial focus is on binaries (tested with Go/Rust binaries)

Overview

gh-install is a command-line tool that simplifies the process of downloading binaries published on GitHub releases. It automates the following tasks:

  • Detecting the appropriate binary for your operating system and architecture
  • Downloading releases (latest or a specific version)
  • Verifying checksums to ensure integrity
  • Saving binaries to the appropriate location on your system

Installation (When I actually cut a release)

gh extension install esacteksab/gh-install

Usage

Basic Usage (current API expected to be set, future flags may exist as things progress)
# Install the latest release
gh install owner/repo

# Install a specific version
gh install owner/repo@v1.2.3
# If you want more verbose logging
GH_INSTALL_INIT_DEBUG=true gh install owner/repo@latest
Options
Flags:
  -b, --binName string   name to save binary as
  -h, --help             help for install
  -p, --path string      directory location to save binary. Default: $XDG_BIN_HOME
  -s, --sha string       SHA algorithm to use for checksum verification. Valid algorithms are: blake2b, blake2s, crc32, md5, sha224, sha384, sha256, sha1, sha512, sha3-224, sha3-384, sha3-256, sha3-512.
  -v, --version          version
Examples
# Install the latest release of esacteksab/go-pretty-toml
gh install esacteksab/go-pretty-toml

# Install a specific version of esacteksab/go-pretty-toml
gh install esacteksab/go-pretty-toml@v0.1.3

# Install esacteksab/go-pretty-toml with a custom binary name
gh install esacteksab/go-pretty-toml -b toml-fmt

# Install to a specific directory
gh install esacteksab/go-pretty-toml -p /usr/local/bin -b toml-fmt

# Specify SHA algorithm for checksum verification sha256 is the default if no sha is passed
gh install esacteksab/go-pretty-toml -s sha256

Features

  • ✅ Automatic OS/architecture detection
  • ✅ Checksum verification
  • ✅ Custom binary name support
  • ✅ Custom installation path support
  • ✅ Latest or specific version installation
  • ✅ Progress bar during downloads
  • ⏳ Automatic extraction for archives (coming soon)
  • ⏳ Post-installation steps (coming soon)

Technical Details

  • Automatically detects release assets matching your system
  • Downloads selected assets with progress visualization
  • Downloads and verifies checksums when available
  • Supports various checksum algorithms
    • some attempt is made to detect algorithm used, but if verification fails, pass -s/--sha algorithm
  • Configurable binary name and installation path

License

MIT

$XDG_BIN_HOME

Platform Default Path
Unix/Linux ~/.local/bin
macOS ~/.local/bin
Plan 9 $home/bin
Windows UserProgramFiles or %LOCALAPPDATA%\Programs

Contributing

This project is still in development

Feel free to file issues, or suggest new features.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
SPDX-License-Identifier: MIT
SPDX-License-Identifier: MIT
SPDX-License-Identifier: MIT
SPDX-License-Identifier: MIT

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL