Skip to main content

PyPI version License: MIT Python 3.7+ Platform

🚀 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

  • 🐚 Multi-shell - Works with both bash and zsh
  • ⚡ Auto-Reload - Changes apply instantly without manual shell reload
  • 🔄 Auto-Sync - Sync aliases across machines using Git (optional)
  • 🎯 Simple CLI - Easy commands to add, remove, and list aliases
  • 📁 Category Support - Organize aliases by category (git, docker, navigation, etc.)
  • 📥 Quick Migration - Import your current shell aliases
  • 📝 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

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

pipx install turboalias

Alternative

If you prefer using pip:

pip install turboalias

Note: 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.

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 dps 'docker ps' --category docker

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

3. Use your aliases!

dps

📖 Usage

Add an alias

turboalias add <name> '<command>' [-c <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

Edit config directly

turboalias edit

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

Clear all aliases

turboalias clear

Removes all turboalias-managed aliases (with confirmation)

Remove entire config

turboalias nuke

Removes turboalias<->shell bridge, config, and all turboalias-managed aliases (with confirmation)


🔄 Git Sync

Sync your aliases across multiple workstations using Git.

Setup sync on your first machine

# Initialize git sync with a remote repository
turboalias sync init --remote https://github.com/<username>/my-turboalias-config.git

⚡ **Share your setup!** You can also use one shared by the community..

# Check sync status
turboalias sync status

# Push your aliases to the remote
turboalias sync push

Restore aliases on a new machine

# Clone your aliases configuration
turboalias sync clone https://github.com/yourusername/my-aliases.git

# That's it! All your aliases are now available
# Reload your shell to use them

Sync commands

# Initialize git sync
turboalias sync init [--remote <url>] [--branch <name>]

# Clone existing config
turboalias sync clone <url> [--branch <name>]

# Push local changes
turboalias sync push

# Pull remote changes
turboalias sync pull

# Check sync status
turboalias sync status

# Enable auto-sync (commits & pushes after every change)
turboalias sync auto on

# Disable auto-sync
turboalias sync auto off

How it works

  • Git repository is created in ~/.config/turboalias/
  • Only aliases.json is synced (your aliases data)
  • aliases.sh (shell script) is generated locally on each machine
  • sync_config.json (git settings) stays local
  • Auto-sync runs in background without blocking your commands
  • All operations work offline-first, sync is completely optional

Example workflow

# Machine 1: Set up and push
turboalias init
turboalias add ll 'ls -lah'
turboalias add gst 'git status' -c git
turboalias sync init --remote https://github.com/mcdominik/my-turboalias-config.git
turboalias sync push

# Machine 2: Clone and use
turboalias sync clone https://github.com/mcdominik/my-turboalias-config.git
# All aliases restored automatically!

# Optional: Enable auto-sync for convenience
turboalias sync auto on
# Now every add/remove/clear will auto-sync in background

⚙️ 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 Sync via Git across all your machines
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
Fast Auto-sync runs in background, never blocks your workflow

🗺️ Roadmap

  • Git sync support for automatic syncing across machines
  • 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

Metadata

Release files for turboalias 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for turboalias 0.0.5
File Size Uploaded
turboalias-0.0.5.tar.gz 20.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for turboalias 0.0.5
File Interpreter ABI Platform
turboalias-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 41.6 kB

Release files / turboalias-0.0.5.tar.gz

Download URL turboalias-0.0.5.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7e6618a18d0bdd8be77b30a0067c0becb50cef844b342122b90a489e8f1c573f
BLAKE2b-256 checksum
How to use checksums
d2207312ccfe9b1d2b5e2d843930221ea98afbaca66cdb27c3e5f88b32d684d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.

Transparency log

Release files / turboalias-0.0.5-py3-none-any.whl

Download URL turboalias-0.0.5-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
518412fb2db5ef12bcae955da4f00ad0bdc40e879090294a6e89b5e0e5c157bb
BLAKE2b-256 checksum
How to use checksums
f3121eff75403f79a0a1199916e47edd13b46fa30b436925b3ddbe5283bfb8a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page