https://github.com/sassman/amoxide-rs
amoxide (am) helps to manage your shell aliases either globally, profile- or project-specific. It loads context specific relevant aliases automatically
https://github.com/sassman/amoxide-rs
alias-management aliases cli community ratatui shell tools tui
Last synced: 2 months ago
JSON representation
amoxide (am) helps to manage your shell aliases either globally, profile- or project-specific. It loads context specific relevant aliases automatically
- Host: GitHub
- URL: https://github.com/sassman/amoxide-rs
- Owner: sassman
- License: gpl-3.0
- Created: 2024-10-21T06:31:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-13T19:24:40.000Z (2 months ago)
- Last Synced: 2026-04-13T19:30:59.637Z (2 months ago)
- Topics: alias-management, aliases, cli, community, ratatui, shell, tools, tui
- Language: Rust
- Homepage: https://amoxide.rs
- Size: 9.28 MB
- Stars: 84
- Watchers: 1
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
amoxide (am) - alias manager oxidized
> 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](https://direnv.net), but for aliases.
```sh
$ 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 ls` the regular cli
## Installation
### Homebrew (macOS and Linux)
```sh
brew install sassman/tap/amoxide sassman/tap/amoxide-tui
```
### Shell Script (macOS and Linux)
```sh
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
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)
```sh
cargo binstall amoxide amoxide-tui
```
### Cargo (from source)
```sh
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
```sh
am setup fish # or: zsh, bash, brush, powershell
```
Then add your first alias:
```sh
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](https://amoxide.rs)**