Usage
amoxide organizes aliases in three layers, from broadest to most specific:
- Global — always active, available in every shell session
- Profiles — named groups of aliases you can activate/deactivate
- Project — local
.aliasesfiles that auto-load per directory
Each layer can override the previous one. Project aliases override profile aliases, which override global aliases.
All three layers also support subcommand aliases — short forms for programs that use subcommands (like jj, git, cargo, or kubectl).
🌐 global
│ ╰─ ll → ls -lha
│
├─● rust (active: 1)
│ ├─ i → cargo install --path .
│ ├─ l → cargo clippy --locked --all-targets -- -D warnings
│ ╰─ t → cargo test --all-features
│
├─● git (active: 2)
│ ├─ gm → git commit -S --signoff -m
│ ╰─◆ git (subcommands)
│ ├─ psh → push
│ ╰─ st → status --short
│
╰─📁 project (~/path/to/project/.aliases)
├─ b → ./x.py build
╰─ t → ./x.py test
○ node
╰─ nr → npm run- Global Aliases — always-on aliases for every session
- Profiles — managing named alias groups
- Project Aliases — directory-scoped
.aliasesfiles - Subcommand Aliases — short forms for subcommand-based tools
- Variables — named placeholders shared across aliases
- Sharing — export, import, and share with others