Getting Started

rnr (pronounced “runner”) is a cross-platform task runner that achieves zero-setup execution. Clone a repository, run tasks immediately - no dependency installs, no global tools required.

Core Philosophy

Clone a repo. Run tasks. No setup required.

All binaries are checked into your repository (.rnr/bin/), supporting Windows, macOS, and Linux natively with intelligent platform detection.

Quick Start for Maintainers

Set up rnr in your repository with a one-time initialization.

Linux (x86_64)

curl -fsSL https://rnrcli.io/linux-amd64 -o rnr
chmod +x rnr
./rnr init

macOS (Intel)

curl -fsSL https://rnrcli.io/macos-amd64 -o rnr
chmod +x rnr
./rnr init

macOS (Apple Silicon)

curl -fsSL https://rnrcli.io/macos-arm64 -o rnr
chmod +x rnr
./rnr init

Windows (PowerShell)

iwr -Uri "https://rnrcli.io/win-amd64" -OutFile "rnr.exe"
.\rnr.exe init

Interactive Platform Selection

When you run rnr init, you’ll see an interactive prompt to select which platforms to support:

? Select platforms to support:
  [x] linux-amd64 (760 KB)
  [ ] macos-amd64 (662 KB)
  [x] macos-arm64 (608 KB)
  [x] windows-amd64 (584 KB)
  [ ] windows-arm64 (528 KB)

  Total size: 1.95 MB

  [Space] Toggle  [a] All  [n] None  [Enter] Confirm  [Esc] Cancel

What Gets Created

After initialization, your repository will contain:

your-repo/
├── .rnr/
│   ├── config.yaml           # Platform configuration
│   └── bin/
│       ├── rnr-linux-amd64
│       ├── rnr-macos-arm64
│       └── rnr-windows-amd64.exe
├── rnr                        # Unix shell wrapper
├── rnr.cmd                    # Windows batch wrapper
└── rnr.yaml                   # Your task definitions

For Contributors

After a repository has rnr set up, contributors simply clone and run:

git clone <repo>
./rnr build    # On macOS/Linux
rnr build      # On Windows

No installation required. The wrapper scripts automatically detect the platform and execute the correct binary.

Next Steps