mvx

Universal Build Environment Bootstrap

Get Started - 2min ⏱️
🚀

Zero Dependencies

No need to install Java, Maven, Node.js, or Go. mvx downloads and manages everything automatically. New team members can start building immediately with a single command.

🌍

Cross-Platform Scripts

Write scripts that work on Linux, macOS, and Windows. Platform-specific scripts or built-in cross-platform interpreter. No more "works on my machine" script issues.

🔧

Universal Tool Management

Supports Maven, Go, Node.js, Java, and more. One configuration file to manage your entire development environment. Version-specific tool isolation per project.

🔄

Enhanced Maven Wrapper

Drop-in replacement for Maven Wrapper (mvnw) with enhanced capabilities. Natural Maven syntax, automatic Java setup, and transparent argument passing.

Simple Configuration

Define your tools and commands in a simple JSON5 configuration file. Custom commands become top-level commands. Command hooks and overrides for maximum flexibility.

Get Started in Seconds

1

Install

curl -fsSL https://raw.githubusercontent.com/gnodet/mvx/main/install-mvx.sh | sh
2

Initialize

mvx init
3

Configure

{
  "tools": {
    "maven": { "version": "3.9.6" },
    "java": { "version": "21" }
  },
  "commands": {
    "build": {
      "script": "mvn clean install",
      "interpreter": "mvx-shell"
    }
  }
}
4

Build

# Setup tools and build
./mvx setup && ./mvx build

Or use Maven directly

./mvx mvn -V clean install

Perfect For

🏢 Enterprise Teams

Eliminate "works on my machine" problems. Consistent development environments across all team members.

🔄 CI/CD Pipelines

Reproducible builds in any environment. No more dependency installation scripts in your CI.

📚 Open Source Projects

Lower the barrier for contributors. One command setup for any technology stack.

🎓 Educational Projects

Students can focus on learning, not environment setup. Works on any school computer.