Skip to content

sassman/amoxide-rs

Repository files navigation

amoxide (am) - alias manager oxidized

amoxide banner

amoxide on crates.io amoxide-tui on crates.io license

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 you cd into 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 pollution

Screenshots

  • am tui launches the tui to navigate, select, move, add, and delete aliases visually:

am tui

  • am ls the regular cli

am ls

Installation

Homebrew (macOS and Linux)

brew install sassman/tap/amoxide sassman/tap/amoxide-tui

Shell Script (macOS and Linux)

curl -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 | sh

PowerShell (Windows)

powershell -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 (pre-built)

cargo binstall amoxide amoxide-tui

Cargo (from source)

cargo install amoxide amoxide-tui

The crate is called amoxide, but the binary it installs is simply am (short for amoxide).

Shell Support

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

Quick Setup

am setup fish          # or: zsh, bash, brush, powershell

Then 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 abandon

Documentation

Full documentation — usage guides, profiles, project aliases, parameterized aliases, subcommand aliases, and more:

amoxide.rs

About

amoxide (am) helps to manage your shell aliases either globally, profile- or project-specific. It loads context specific relevant aliases automatically

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors