Skip to content
/ drx Public

Run Dart tools and GitHub release binaries like npx/uvx

License

Notifications You must be signed in to change notification settings

leehack/drx

Repository files navigation

drx

drx runs CLI tools on demand, similar to npx / uvx.

  • Use pub.dev packages when Dart SDK is available.
  • Use GitHub release binaries when Dart SDK is not available.

Install

With Dart SDK (pub.dev)

dart pub global activate drx
drx --version

If PATH is not set for pub executables:

dart pub global run drx:drx --version

Without Dart SDK (precompiled binary)

Linux / macOS:

curl -fsSL "https://raw.githubusercontent.com/leehack/drx/main/tool/install.sh" | DRX_REPO=leehack/drx sh

Windows (PowerShell):

$env:DRX_REPO = "leehack/drx"
iwr "https://raw.githubusercontent.com/leehack/drx/main/tool/install.ps1" -UseBasicParsing | iex

Both installers verify checksums before installing.

Quick Usage

Default source is pub:

drx <package[@version]> [--] [args...]
drx <package:executable[@version]> [--] [args...]

Explicit source selection:

drx --from pub:<package[@version]> <command> [--] [args...]
drx --from gh:<owner>/<repo[@tag]> <command> [--] [args...]

Examples:

drx melos -- --version
drx mason_cli:mason -- --help
drx --from pub:very_good_cli very_good -- --help

drx --from gh:cli/cli@v2.70.0 gh -- version
drx --from gh:BurntSushi/ripgrep rg -- --version
drx --from gh:junegunn/fzf fzf -- --version
drx --from gh:charmbracelet/gum gum -- --version

# Some repos do not publish checksums:
drx --allow-unsigned --from gh:sharkdp/fd fd -- --version

Useful Commands

drx cache list
drx cache clean
drx cache prune --max-age-days 30 --max-size-mb 2048

drx versions melos --limit 5
drx versions gh:cli/cli --limit 10

drx --json versions gh:cli/cli
drx --json cache list

Runtime Modes (pub source)

  • --runtime auto (default): prefer AOT, fallback to JIT
  • --runtime jit: dart run
  • --runtime aot: compile and run native executable

Security Defaults

  • GitHub assets require checksum verification by default.
  • Unsigned assets are blocked unless you pass --allow-unsigned.

Platform Support

  • Linux: x64, arm64
  • macOS: x64 (Intel), arm64 (Apple Silicon)
  • Windows: x64, arm64

More Docs

About

Run Dart tools and GitHub release binaries like npx/uvx

Resources

License

Stars

Watchers

Forks

Packages

No packages published