Welcome to Multiverse, the command-line tool that's not just a tool, but a portal to effortlessly navigate through the vast landscapes of environment configurations. Think of it as your trusty time machine, zipping you between parallel worlds of development, testing, and production.
Multiverse draws creative inspiration from the powerful simplicity of direnv, a pioneering tool in the realm of environment switching. We owe a cosmic hat tip to direnv for lighting the path and showing us the vast potential of environment management. While Multiverse embarks on its own interstellar journey, we acknowledge the groundbreaking work done by direnv and hope to complement it in the universe of environment configuration tools.
- 🌌 Navigate Through Configurations: Like jumping through different realities, switch between your environments with ease.
- 🚀 Temporal Precision: Apply configurations for your current session, or make them permanent for future explorations.
- 🧙♂️ Magical Incantations: With
--persist
, you can make your settings echo through time and space, persisting them into the.envrc
of your home directory. - 🤫 Whisper Mode: Activate with --quiet to mute the chatter, and enjoy the quiet cosmos while navigating your configurations.
Grab your universal translator (aka your terminal) and type the ancient runes:
# Replace with actual installation instructions
git clone [email protected]:alarreine/multiverse.git
cd multiverse
go build
After building Multiverse, you have a couple of options to ensure it's always within your arm's reach:
- Add Multiverse to Your PATH:
Edit your shell's configuration file (like .bashrc or .zshrc) and append the path to the Multiverse binary. Replace /path/to/multiverse with the actual path to the binary:
export PATH="$PATH:/path/to/multiverse"
- Install Multiverse Globally:
For more universal access, you can install Multiverse in a common directory like /usr/local/bin. This might require superuser access:
sudo install multiverse /usr/local/bin/
Now, with the power of Multiverse at your fingertips, you're ready to navigate the cosmic seas of configuration!
--env
,-e
: Specify the universe (environment) you wish to enter. Ideal for quickly hopping between different settings.--quiet
,-q
: Mute the chatter, enjoy the quiet cosmos. Silence all log messages for a stealthier journey through your config multiverse.
Apply the fabric of your environment settings:
multiverse apply --env=<universe_name>
Remember, if you use --persist, don't forget to recite the spell source $HOME/.envrc in your .bashrc scrolls.
Peer into the cosmic map of your environment variables:
multiverse check
Take a galactic tour of all available environments:
multiverse list
Get an overview of all the mystical environments within your multiverse.yaml, like stars shining in the night sky.
✓: Aligned with the cosmic order. ✗: Venturing into unknown territories. !=: Parallel dimensions detected!
Interested in shaping the cosmos? Pull requests are the wormholes we love! Jump in and let's explore new realms of possibilities together.
Crafted by @alarreine. Licensed under MIT - the license of the cosmic explorers!