cenv-cli
v1.0.1
Published
CLI tool to manage and switch environment variable groups instantly in current shell session
Maintainers
Readme
cenv
CLI tool to manage and switch environment variable groups instantly in the current shell session — no need to source any file after switching.
Install
npm install -g cenvQuick Start
# 1. Install shell function (one-time setup)
cenv init
source ~/.zshrc
# 2. Create a group
cenv add prod
# > ANTHROPIC_BASE_URL=https://api.anthropic.com/
# > ANTHROPIC_API_KEY=sk-xxx
# > (empty line to finish)
# 3. Switch — takes effect immediately in current session
cenv use prod
echo $ANTHROPIC_API_KEY # ✓ already setHow It Works
cenv init injects a tiny shell function into ~/.zshrc:
cenv() { eval "$(command cenv --eval "$@")"; }When you run cenv use <group>, the shell function intercepts the call, runs the Node binary with --eval, captures the export statements from stdout, and evals them directly in the parent shell — modifying the current session's environment variables without writing any files.
Commands
| Command | Description |
|---------|-------------|
| cenv init | Install shell function (run once) |
| cenv use <group> | Switch to group, effective immediately |
| cenv list | List all groups |
| cenv show [group] | Show variables in a group |
| cenv add <group> | Create/update group interactively |
| cenv set <group> KEY=VALUE | Set a single variable |
| cenv del <group> | Delete a group |
| cenv rename <old> <new> | Rename a group |
| cenv current | Show active group |
Config
Groups are stored in ~/.cenv/groups.json — plain JSON, editable by hand.
{
"active": "prod",
"groups": {
"default": {
"ANTHROPIC_BASE_URL": "https://api.anthropic.com/",
"ANTHROPIC_API_KEY": "sk-..."
},
"prod": {
"ANTHROPIC_BASE_URL": "https://my-proxy.com/",
"ANTHROPIC_API_KEY": "sk-..."
}
}
}License
MIT
