wrappi is a command wrapper manager — create persistent command configurations with preconfigured arguments and environment variables.
Complex commands with many flags and environment variables are tedious to type repeatedly. Shell aliases help but don't handle environment variables cleanly. wrappi lets you define a command once and run it with a simple name.
# Create a wrapper
wrappi init api-dev --env DEBUG=1 --env API_KEY --arg --verbose ./api-server
# Run it
wrappi api-dev
# Pass additional args
wrappi api-dev --port 8080| Feature | Description |
|---|---|
| Literal env vars | --env KEY=value — stored securely in .env files |
| Passthrough env vars | --env KEY — checked at runtime, errors if missing |
| Default arguments | --arg — always prepended to your command |
| Path expansion | ~ expands to home directory in env values |
| Process replacement | Uses syscall.Exec for proper signal handling |
curl -fsSL https://raw.githubusercontent.com/valksor/go-wrappi/master/install.sh | bashThe script auto-detects your OS and architecture, verifies checksums, and installs to ~/.local/bin.
# macOS Apple Silicon example
curl -L https://github.com/valksor/go-wrappi/releases/latest/download/wrappi-darwin-arm64 -o wrappi
chmod +x wrappi
sudo mv wrappi /usr/local/bin/| Platform | Binary |
|---|---|
| macOS Intel | wrappi-darwin-amd64 |
| macOS Apple Silicon | wrappi-darwin-arm64 |
| Linux AMD64 | wrappi-linux-amd64 |
| Linux ARM64 | wrappi-linux-arm64 |
git clone https://github.com/valksor/go-wrappi
cd go-wrappi
make install| Command | Description |
|---|---|
wrappi init <name> <binary> |
Create a new wrapper |
wrappi <name> [args...] |
Run a wrapper |
wrappi list |
List all wrappers |
wrappi show <name> |
Show wrapper configuration |
wrappi edit <name> |
Edit wrapper in $EDITOR |
wrappi remove <name> |
Remove a wrapper |
Full documentation: valksor.com/docs/wrappi/nightly
BSD-3-Clause — see LICENSE for details.
Created by Valksor