Check your toolchain versions match what the project expects. Node, Python, Rust, Go — one command, one table, zero guessing.
cargo install viscacha
Run viscacha in any project directory. It finds version files, checks your installed tools, and tells you what matches and what doesn't.
$ viscacha --fix
Tool Required Installed Source Status
─────────────────────────────────────────────────────────
node 20 20.11.0 .nvmrc ✓
python 3.11 3.11.4 .python-version ✓
rust 1.76.0 1.80.0 rust-toolchain.toml ✗
go 1.22.0 1.22.0 go.mod ✓
node >=18 20.11.0 package.json ✓
npm >=9 10.2.4 package.json ✓
5 passing, 1 failing
Suggested fixes:
rust: rustup toolchain install 1.76.0 && rustup override set 1.76.0
Everything you need to keep your toolchain in sync.
Node.js, Python, Rust, Go, and npm. Reads 8 different version file formats in one scan.
The --fix flag prints the exact commands to resolve every mismatch.
Quiet mode returns exit codes only. Drop it into GitHub Actions and catch mismatches before builds fail.
Written in Rust. Single binary, no runtime. Scans and checks in milliseconds.
| File | Ecosystem | What it reads |
|---|---|---|
| .nvmrc | Node.js | Node version |
| .node-version | Node.js | Node version |
| .tool-versions | asdf / mise | nodejs, python, rust, golang |
| rust-toolchain.toml | Rust | [toolchain] channel |
| rust-toolchain | Rust | Plain version string |
| .python-version | Python | Python version |
| go.mod | Go | go directive |
| package.json | Node.js / npm | engines.node, engines.npm |
$ git clone https://github.com/iamkorun/viscacha.git
$ cd viscacha
$ cargo install --path .
Pre-built binaries for Linux, macOS, and Windows are available on the
GitHub Releases page