Getting Started
Welcome to UniRTM! UniRTM is a universal runtime manager written in pure Go. It serves as a polyglot tool manager, an environment variable loader, and a task runner.
If you have used tools like asdf, mise, nvm, pyenv, or rbenv, you will feel right at home—but with significantly better performance and built-in security features.
Why UniRTM?
- Lightning Fast: Written in Go, it avoids the slow startup times of Bash/Ruby-based tools.
- Secure by Default: Integrates with Trivy, Syft, and Gitleaks to scan your tools and environments for vulnerabilities and secrets.
- Cross-Platform: Windows, macOS, and Linux are all treated as first-class citizens.
- All-in-One: Replaces your tool manager,
.envloaders (likedirenv), and task runners (likemake).
1. Install UniRTM
The easiest way to install UniRTM is via our installation script:
curl -sL https://raw.githubusercontent.com/snowdreamtech/UniRTM/main/install.sh | bashFor more installation methods (Homebrew, Cargo, APT), see Installing UniRTM.
2. Hook into your Shell
For UniRTM to magically switch your tools and environments when you cd into a directory, it needs to hook into your shell.
# For Zsh
echo 'eval "$(unirtm env --shell zsh)"' >> ~/.zshrc
# For Bash
echo 'eval "$(unirtm env --shell bash)"' >> ~/.bashrcRestart your terminal for the changes to take effect.
3. Install your first tools
Navigate to your project directory and declare the tools you need.
$ unirtm use node@20 python@3.11 go@1.22
✓ wrote .unirtm.toml
$ unirtm install
✓ installed 3 toolsYou can verify they are active:
$ node -v
v20.x.x
$ go version
go version go1.22.x4. Setup Environment Variables
Create a .env file in your project:
echo "DATABASE_URL=postgres://localhost:5432/mydb" > .envUniRTM automatically loads these variables when you enter the directory and unloads them when you leave.
5. Define Tasks
Open your .unirtm.toml and add a task:
[tasks.test]
description = "Run the test suite"
run = "go test ./..."Run it with:
unirtm run testNext Steps
- Take the Full Walkthrough to explore advanced features.
- Learn about The
.unirtm.tomlFile. - Dive into Tasks.
