HPC Environment Manager

Tired of manual
`module load`?

menv is a Go-native CLI that snapshots your HPC environment into portable YAML files. It automatically restores your modules as soon as you cd into your project.

Explicitly built for researchers.

Comparing the traditional Lmod approach vs. the menv workflow.

Traditional Lmod
  • Opaque: module save creates hidden, binary-like files.
  • Manual: You must remember to load modules for every project session.
  • Local-only: Environments aren't easily shared via Git or between clusters.
The menv Solution
  • Transparent: Snapshots are stored in human-readable .menv.lock YAML files.
  • Auto-Load: Shell integration loads your environment automatically via a native hook.
  • Git-Ready: Version your environments alongside your code for perfect reproducibility.

menv save

Captures your current loaded modules and environment variables into a single portable file.

menv doctor

Checks if all modules defined in your lockfile are still available on the current cluster (Jean Zay, TGCC, etc).

menv hook

Generates a zero-latency shell integration for Bash/Zsh that triggers load when you enter a directory.

HPC TERMINAL — AUTO-LOAD DEMO
$ cd project-alpha
[menv] .menv.lock detected in current directory.
[menv] Loading: gcc/11.2, openmpi/4.1, cuda/11.8...
[menv] Environment is now active.
$ module list
Currently Loaded Modules:
  1) gcc/11.2.0  2) openmpi/4.1.4  3) cuda/11.8

Ready to try it?

Single binary. No dependencies. No root required.

curl -sSL https://raw.githubusercontent.com/Thedtk24/menv/main/install.sh | bash

Compatible with Bash & Zsh on Linux/macOS