A stateless, zero-config CLI distribution proxy. Install any tool from GitHub Releases with a single command.
alt install user/repo
No sudo. No package manager. No config files. Just one command and the binary is on your PATH.
curl -fsSL https://raw.githubusercontent.com/altlimit/alt/main/scripts/install.sh | shpowershell -Command "iwr https://raw.githubusercontent.com/altlimit/alt/main/scripts/install.ps1 -useb | iex"Run any tool instantly — alt is installed automatically on first use:
Linux & macOS:
curl -fsSL https://raw.githubusercontent.com/altlimit/alt/main/scripts/run.sh | sh -s -- user/repo [args...]Windows (PowerShell):
powershell -Command "$env:ALT_RUN='user/repo [args...]'; iwr https://raw.githubusercontent.com/altlimit/alt/main/scripts/run.ps1 -useb | iex"# Install tools (supports multiple at once)
alt install altlimit/sitegen altlimit/taskr
# Install a specific version
alt install altlimit/[email protected]
# Run a tool without installing it
alt run altlimit/sitegen -serve
# Force re-download
alt install -f altlimit/sitegen
# Create a short alias
alt link altlimit/sitegen sg
# Update everything
alt update
# See what's installed
alt list altlimit
# Find a binary
alt which taskr
# Free up old versions and run cache
alt clean
# Remove an alias
alt unlink sg
# Remove completely
alt purge altlimit/taskrWhen you run alt install user/repo, alt:
- Fetches the latest release from the GitHub Releases API
- Scores each asset for compatibility with your OS and architecture
- Downloads the best match (skips if already cached)
- Verifies the checksum (if the release includes one)
- Extracts the binary (if it's an archive)
- Links it to your
PATH
That's it. No package manifests, no build steps, no elevated permissions.
alt automatically picks the right binary for your machine using a scoring algorithm:
Score = (OS × 100) + (Arch × 100) + Preference
| Factor | Score |
|---|---|
OS matches (e.g., linux, darwin, macos) |
+100 |
Architecture matches (e.g., amd64, x86_64, arm64) |
+100 |
Raw binary / .exe |
+50 |
Archive (.tar.gz, .zip, .tgz) |
+20 |
System installer (.msi, .pkg, .deb, .rpm) |
-50 |
Checksum files (.sha256, checksums.txt, SHA256SUMS) are automatically filtered out.
| Command | Usage | Description |
|---|---|---|
install |
alt install [-f] user/repo[@tag] [...] |
Install one or more tools from GitHub |
run |
alt run user/repo[@tag] [args] |
Run a tool without installing it |
update |
alt update [user/repo] |
Update installed tools to latest release |
list |
alt list [user] |
Show installed tools |
link |
alt link user/repo <alias> |
Create a custom command alias |
unlink |
alt unlink <alias> |
Remove an alias without uninstalling |
clean |
alt clean [user/repo|user] |
Remove old versions and run cache |
purge |
alt purge user/repo|user [...] |
Remove everything for one or more tools |
versions |
alt versions user/repo |
List locally cached versions |
which |
alt which <command> |
Show binary path |
Flags:
-f,--force— Force re-download even if cached (install only)-h,--help— Show help-v,--version— Show version
All files are stored in user space — no root/admin required.
~/.local/share/alt/
├── manifest.json
├── bin/ # symlinks to active binaries
├── internal/ # alt binary itself
├── run/ # cached one-shot binaries (cleaned by alt clean)
└── storage/
└── github.com/
└── user/
└── repo/
├── v1.0.0/
└── v1.1.0/
On Windows, %LOCALAPPDATA%\alt\ is used instead with the same structure.
- Checksums: Validated automatically when the release includes a
checksums.txtor.sha256file - User-space: Never requests
sudoor admin privileges - Transparency: Downloads directly from official GitHub Release URLs
- Zero dependencies: Single static binary, no runtime dependencies
| Variable | Description |
|---|---|
GITHUB_TOKEN |
GitHub personal access token — raises API rate limit from 60 to 5,000 requests/hour |
Your users can install your tool with:
# One-time setup
curl -fsSL https://raw.githubusercontent.com/altlimit/alt/main/scripts/install.sh | sh
# Install your tool
alt install your-username/your-repoOr let them run it instantly with zero setup:
curl -fsSL https://raw.githubusercontent.com/altlimit/alt/main/scripts/run.sh | sh -s -- your-username/your-repoJust publish your binaries as GitHub Release assets. alt handles OS/architecture detection automatically.
MIT — see LICENSE.