# dra

> CLI tool to download and install release assets from GitHub repositories

Stars: 364 · Language: Rust · License: MIT · Categories: Dev Tools

- Repository: https://github.com/devmatteini/dra
- Page: https://www.trmn.sh/tools/dra

## Install

- Homebrew: `brew install dra`
- Arch Linux: `pacman -S dra`
- Install Script: `curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/devmatteini/dra/refs/heads/main/install.sh | bash -s -- --to <DESTINATION>`

## Overview

dra is a command-line tool for downloading release assets from GitHub repositories. It provides both interactive and non-interactive modes for selecting assets, with the ability to automatically detect and download the appropriate asset based on your operating system and architecture. Unlike the official GitHub CLI, dra works without authentication for public repositories and includes built-in pattern generation for asset selection.

The tool supports various download patterns including literal names, untagged patterns (version-free), and wildcard matching. It can automatically install downloaded assets, supporting multiple formats including Debian packages, RPM packages, tar/zip archives, compressed executables, and AppImage files. When installing from archives containing multiple executables, dra can automatically detect which executable to install or allow manual specification via the `-I` flag.

dra handles authentication through GitHub personal access tokens or the GitHub CLI token, with support for private repositories and rate limit avoidance. It includes shell completion generation and provides options for custom output paths, specific release tags, and source code archive downloads. The tool is designed for developers who frequently download GitHub release assets and need a more streamlined workflow than manually browsing release pages or constructing complex gh commands.

### Installation

```bash
# via Homebrew
brew install dra
```

```bash
# via Arch Linux
pacman -S dra
```

```bash
# via Install Script
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/devmatteini/dra/refs/heads/main/install.sh | bash -s -- --to <DESTINATION>
```

![dra demo](https://media.trmn.sh/cached/063cfa56f15ef30bc22116512b1c207bc752d02b56d7c8a596d425ca2c5be7e4.gif)

## Alternatives

- [logss](https://www.trmn.sh/tools/logss.md): CLI tool that splits and visualizes log streams into multiple containers based on regex patterns with real-time filtering (Rust, 296 stars)
- [termframe](https://www.trmn.sh/tools/termframe.md): Non-interactive terminal emulator that executes commands and exports their output as SVG screenshots. (Rust, 144 stars)
- [Railway CLI](https://www.trmn.sh/tools/railway-cli.md): Command-line client for Railway projects: deploy with `railway up`, manage IaC config, configure AI agent tools via MCP, and launch cloud agent VMs. (Rust, 628 stars)
- [lazycelery](https://www.trmn.sh/tools/lazycelery.md): Terminal UI for monitoring and managing Celery workers, queues, and tasks with real-time updates and keyboard navigation. (Rust, 56 stars)
- [tlrc](https://www.trmn.sh/tools/tlrc.md): Official tldr-pages client written in Rust that shows community-maintained command cheat sheets in the terminal, with a local cache and a TOML config. (Rust, 1.1k stars)

---

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