Skip to main content

Cross-workstation alias manager for bash and zsh

Project description

🚀 Turboalias

Cross-workstation alias manager for bash and zsh

Turboalias is a simple, powerful tool to manage your shell aliases across multiple workstations. Store your aliases in a clean JSON config, organize them by category, and sync them easily.


✨ Features

  • 🎯 Simple CLI - Easy commands to add, remove, and list aliases
  • Auto-Reload - Changes apply instantly without manual shell reload
  • 📁 Category Support - Organize aliases by category (git, docker, navigation, etc.)
  • 📥 Import Existing - Import your current shell aliases
  • 🔄 Git Sync - Sync aliases across machines using Git
  • 🐚 Multi-shell - Works with both bash and zsh
  • 📝 JSON Config - Clean, editable configuration file
  • 🎨 Clean Output - Aliases organized by category in your shell

🖥️ Supported Platforms

Platform Shells Status
macOS bash, zsh ✅ Fully supported
Linux bash, zsh ✅ Fully supported
Windows WSL (bash, zsh) ✅ Via WSL

📦 Installation

macOS (recommended)

Using Homebrew:

brew tap mcdominik/turboalias
brew install turboalias

Linux, macOS & Windows (WSL)

Using pipx (recommended for Python CLI tools):

# Install pipx if you don't have it
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Install turboalias
pipx install turboalias

Note: This method works on Linux, macOS, and Windows (via WSL). Modern Linux distributions discourage system-wide pip install without virtual environments (PEP 668). pipx is the recommended way to install Python CLI applications as it automatically manages isolated environments.

Alternative: pip with virtual environment

If you prefer using pip, use a virtual environment:

python3 -m venv ~/.venvs/turboalias
source ~/.venvs/turboalias/bin/activate
pip install turboalias

From source

git clone https://github.com/mcdominik/turboalias.git
cd turboalias
pip install -e .

🚀 Quick Start

1. Initialize turboalias

turboalias init

2. Add some aliases

turboalias add ll 'ls -lah'
turboalias add gst 'git status' --category git
turboalias add gco 'git checkout' --category git
turboalias add dps 'docker ps' --category docker
turboalias add hg 'history | grep'

3. Use your aliases!

ll
gst
dps
hg npm

📖 Usage

Initialize turboalias

turboalias init

Add an alias

turboalias add <name> <command> [--category <category>]

Examples:

turboalias add ll 'ls -lah'
turboalias add gst 'git status' -c git

Remove an alias

turboalias remove <name>

Example:

turboalias remove dps

Changes apply instantly! No need to reload your shell after removing aliases.

List aliases

# List all aliases
turboalias list

# List aliases in a category
turboalias list --category git

List categories

turboalias categories

Import existing aliases

turboalias import

Scans your current shell for aliases and imports them into turboalias

Clear all aliases

turboalias clear

Removes all turboalias-managed aliases (with confirmation)

Edit config directly

turboalias edit

Opens the config file in your $EDITOR (defaults to nano)


⚙️ Configuration

Turboalias stores its configuration in ~/.config/turboalias/:

File Purpose
aliases.json Your aliases and categories
aliases.sh Generated shell script (sourced by your shell)

Config file format

{
  "aliases": {
    "ll": {
      "command": "ls -lah",
      "category": null
    },
    "gst": {
      "command": "git status",
      "category": "git"
    }
  },
  "categories": {
    "git": ["gst", "gco", "glog"]
  }
}

You can edit this file directly with turboalias edit or manually.


💡 Why Turboalias?

Benefit Description
Instant Updates Changes apply immediately without manual shell reload
Centralized Management All your aliases in one place
Organized Categories keep things tidy
Portable Easy to backup and sync (just copy ~/.config/turboalias/)
Safe Doesn't modify your existing aliases, creates a separate file
Transparent Generated aliases.sh is human-readable
Cross-platform Works seamlessly on macOS and Linux

🗺️ Roadmap

  • Git sync support for automatic syncing across machines
  • Alias search functionality
  • Shell completion support
  • Export/import to different formats
  • Alias templates and snippets

🤝 Contributing

Contributions welcome! Please feel free to submit a Pull Request.


📄 License

MIT License - see LICENSE file for details


👤 Author

Dominik - @mcdominik


Made with ❤️ for unix enthusiasts

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

turboalias-0.0.3.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turboalias-0.0.3-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file turboalias-0.0.3.tar.gz.

File metadata

  • Download URL: turboalias-0.0.3.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turboalias-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0d02082a395e451b0d727dd3c4d5bd8abc11367f69b157013b7e1de82b8d4929
MD5 2e311e2d5efcd62dbf8e7f5e55df6514
BLAKE2b-256 94d9d818f0cc9b125b6c9bcff84bcac7a79f18b330a42b9c38bbe2d38f9dd18a

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboalias-0.0.3.tar.gz:

Publisher: publish-package.yml on mcdominik/turboalias

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboalias-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: turboalias-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turboalias-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 78cb937bab15670559a514dd868c3fc46533d0ea4c64875f97efa2ea4f321009
MD5 44e21f55c5e65aee2b613dd65685c60b
BLAKE2b-256 c062896c772aed51a6aab7c7daf56d0ddd32ab61489aaa4e4c401fe317ed7f7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboalias-0.0.3-py3-none-any.whl:

Publisher: publish-package.yml on mcdominik/turboalias

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page