If you only have a handful of shell aliases in your dotfiles, you're missing out. amoxide (
am) lets you define aliases per project, per toolchain, or globally — and loads the right ones automatically when youcdinto a directory. Think direnv, but for aliases.
$ cd ~/my-rust-project
am: loaded .aliases
i → cargo install --path crates/am && cargo install --path crates/am-tui
l → cargo clippy --locked --all-targets -- -D warnings
t → cargo test --all-features
$ cd ~/my-node-project
am: loaded .aliases
i → npm install
l → npm run lint
t → npm test
# same aliases, different commands, loaded automatically
# the rust ones are gone — no pollutionam tuilaunches the tui to navigate, select, move, add, and delete aliases visually:
am lsthe regular cli
brew install sassman/tap/amoxide sassman/tap/amoxide-tuicurl -fsSL https://github.com/sassman/amoxide-rs/releases/latest/download/amoxide-installer.sh | sh
curl -fsSL https://github.com/sassman/amoxide-rs/releases/latest/download/amoxide-tui-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/sassman/amoxide-rs/releases/latest/download/amoxide-installer.ps1 | iex"
powershell -ExecutionPolicy Bypass -c "irm https://github.com/sassman/amoxide-rs/releases/latest/download/amoxide-tui-installer.ps1 | iex"cargo binstall amoxide amoxide-tuicargo install amoxide amoxide-tuiThe crate is called amoxide, but the binary it installs is simply am (short for amoxide).
| Shell | Status |
|---|---|
| Fish | Fully supported and tested |
| PowerShell | Supported and tested (5.1 + 7) |
| Zsh | Supported, not yet tested |
| Bash | Supported (3.2+) |
| Brush | Supported (bash-compatible) |
| Nushell | Not yet implemented |
am setup fish # or: zsh, bash, brush, powershellThen add your first alias:
am add -l t cargo test # project-local alias
am add -p rust t cargo test # profile alias
am add -g ll ls -lha # global alias
am add -g jj:ab abandon # subcommand alias: jj ab → jj abandonFull documentation — usage guides, profiles, project aliases, parameterized aliases, subcommand aliases, and more:


