rig

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2026 License: MIT

README

rig

The all-in-one modern toolchain, task runner, and developer environment for Go.

rig = Cargo’s clarity and reliability + Bun’s DX + uv's hygiene + Go’s simplicity and no-nonsense ideology

build status latest release license

rig is an opinionated project orchestrator: it helps you define tasks, pin dev tools, and compose build profiles via a single rig.toml. It complements the Go toolchain; it does not replace go build, go test, or go mod.

Why Rig?

  • One manifest: rig.toml is the source of truth for project tasks, tools, and build intent.
  • Project-local tooling: installs pinned tools into .rig/bin to avoid global conflicts.
  • Reproducible tooling: rig sync writes rig.lock (deterministic, schema=0) and uses it to install and verify tools.
  • Fast parity checks: also writes .rig/manifest.lock (a hash cache) so commands can quickly detect drift.
  • Ergonomic DX: dry-runs, task listing, JSON output (where supported), and sensible init templates.

Install

Via Shell (Recommended for CI/Mac/Linux)

curl -fsSL https://rig.sh/install | sh

Via Go Install

go install github.com/divijg19/rig@latest

Ensure $GOPATH/bin is in your system's PATH.


Quick Start

cd my-go-project

# scaffold a rig.toml
rig init

# install tools declared in [tools] (writes rig.lock + .rig/manifest.lock)
rig sync

# discover tasks
rig run --list

# run a task
rig run test

Example tooling pins:

[tools]
golangci-lint = "1.62.0"
github.com/vektra/mockery/v2 = "v2.46.0"

Command Reference

Command Description
rig init Generate a rig.toml (interactive or flags).
rig run <task> Run a task from [tasks] (aliases: rig r, rig ls).
rig build Compose and run go build using optional profiles.
rig tools Manage tools declared in [tools] (sync/check/outdated).
rig sync Shortcut for rig tools sync.
rig check Shortcut for rig tools sync --check.
rig outdated Shortcut for rig tools outdated.
rig x Run a tool ephemerally (installs into .rig/bin if needed).
rig doctor Verify local environment and toolchain sanity.
rig setup Convenience installer for [tools] (similar to sync).

Documentation


Made with ❤️ for the Go community, and dedicated to Tarushi, this project's origin.

Directories

Path Synopsis
cmd
ric command
rid command
rig command
rir command
ris command
internal
cli
rig

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL