Skip to main content

A lightspeed toolchain manager for languages and their dependency managers.

Supports Bun, Deno, Node.js (npm, pnpm, yarn), and Go.

  • # Install proto
  • curl -fsSL https://moonrepo.dev/install/proto.sh | bash
  • # Install Node.js
  • proto install node 18
  • proto install pnpm
  • # Use immediately
  • pnpm install
  • pnpm run dev

Backed by

  • Lightspeed interface

    Download, install, and run tools with lightspeed, thanks to our Rust based foundation.

  • Universal toolchain

    Manage multiple languages and dependency managers through a single interface.

  • Ecosystem aware

    Detects and infers from a language's ecosystem for maximum compatibility.

  • Granular configuration

    Configure tools and their versions per directory, or per project.

Get started

Install proto for Linux, macOS, or WSL:

curl -fsSL https://moonrepo.dev/install/proto.sh | bash

Or Windows:

irm https://moonrepo.dev/install/proto.ps1 | iex

Install a tool

proto install node 18

Run the tool

node ./main.mjs

# Or with proto
proto run node -- ./main.mjs

Supported tools

+ npm, pnpm, yarn

Why another version manager?

To start, proto powers moon's toolchain and integrated developer environment. We believed that the toolchain would be extremely beneficial for developers as a whole, and so we extracted proto out into a standalone Rust CLI and Rust crates that moon inherits.

Furthermore, we believe that requiring multiple ad-hoc version managers for all your languages, each with different workflows, CLI commands, and configuration files, is a poor developer experience.

Our goal is to unify all of these into a single performant interface. A toolchain manager is the next step in the version manager evolution.