# eget

> Downloads and extracts pre-built binaries from GitHub releases with automatic platform detection

Stars: 2.1k · Categories: Dev Tools

- Repository: https://github.com/zyedidia/eget
- Page: https://www.trmn.sh/tools/eget

## Install

- Homebrew: `brew install eget`
- Go: `go install github.com/zyedidia/eget@latest`
- Chocolatey: `choco install eget`

## Overview

Eget is a command-line tool that automates the installation of pre-built binaries from GitHub releases. It analyzes release assets to identify compatible binaries for your system architecture and operating system, then downloads and extracts them to a specified directory. The tool handles various archive formats and provides automatic SHA-256 checksum verification when corresponding hash files are available.

The tool supports multiple installation patterns including specific release tags (`--tag nightly`), asset filtering with glob patterns (`--asset ^musl`), and directory extraction for complex packages. Eget can install to custom locations via the `--to` flag or use the `EGET_BIN` environment variable for consistent binary placement. It includes GitHub API rate limiting management through personal access tokens and supports configuration via TOML files for per-repository settings.

Eget is designed for developers and system administrators who frequently install CLI tools distributed as single binaries on GitHub. It works particularly well with software written in Go, Rust, or Haskell that typically ship as standalone executables. The tool includes upgrade detection (`--upgrade-only`) to avoid unnecessary downloads and supports both direct GitHub repository targets (`user/repo`) and direct URL downloads.

### Installation

```bash
# via Homebrew
brew install eget
```

```bash
# via Go
go install github.com/zyedidia/eget@latest
```

```bash
# via Chocolatey
choco install eget
```

![Eget demonstration](https://media.trmn.sh/cached/5438abadd769e2b138f77c4f1472931ea232436b52b58fb91da7484b1a8fab3f.gif)

## Alternatives

- [nap](https://www.trmn.sh/tools/nap.md): Code snippet manager with CLI and TUI for creating, organizing, and accessing snippets in the terminal (Go, 2.2k stars)
- [cgdb](https://www.trmn.sh/tools/cgdb.md): Console frontend for GDB that provides a split-screen interface with source code viewing and vim-style navigation (1.8k stars)
- [Supabase CLI](https://www.trmn.sh/tools/supabase-cli.md): Runs the Supabase stack locally, manages Postgres migrations, deploys Edge Functions, and generates TypeScript types from your database schema. (TypeScript, 2.4k stars)
- [flyctl](https://www.trmn.sh/tools/flyctl.md): Command-line interface for fly.io that authenticates accounts, lists apps, and checks app status; also invoked as fly. (Go, 1.7k stars)
- [astroterm](https://www.trmn.sh/tools/astroterm.md): Terminal-based star map displaying real-time positions of celestial objects with ASCII rendering (2.5k stars)

---

Canonical: https://www.trmn.sh/tools/eget
