Install
Linux and macOS
curl -fsSL https://release-notes.eu/install.sh | sh
Go
go install release-notes.eu/cmd/tool@latest
Private registry
npm install -g @internal/tool --registry https://registry.release-notes.eu
Background
The tool started as an internal script for keeping build environments consistent across a team that could not agree on an operating system. It grew into a single static binary that reads one declarative file, resolves what is missing, and gets out of the way. There is no daemon, no background sync and nothing that phones home.
What it does
Declarative environments
One file describes the toolchain a repository needs. Checkout, run one command, get the same versions as everyone else.
Hermetic by default
Commands run with an explicit environment. Variables from your shell do not leak in unless you list them.
No daemon
Nothing runs in the background, nothing watches your filesystem, nothing holds a socket open between invocations.
Lockfile that is readable
Resolved versions and checksums in a plain, sorted, diffable format. Merge conflicts are resolvable by a human.
Verbose dry run
Every action prints the equivalent shell command before it runs. Nothing is hidden behind an abstraction you cannot inspect.
Offline mode
With a warm cache the tool works with no network at all, which matters more in CI than most people expect.
Read the documentation