Docs

Start local. Add sync later.

Aliaz is an MIT-licensed open-source CLI that works as a local alias manager before any account exists. Add aliases, generate shell output, and only register when you want encrypted sync.

Quickstart

Add an alias and initialize your shell.

Add aliases to the local store, list them, then write the shell integration for the shell you use. After shell integration is active, alias changes refresh in the current shell.

quickstart
$ aliaz add gs "git status"
Added gs

$ aliaz list
gs	git status

$ aliaz init zsh
Wrote ~/.config/aliaz/aliases.sh
Configured ~/.zshrc
Shell integration

Generate stdout or write managed files.

generate

Prints alias definitions to stdout. It does not write files.

$ aliaz generate zsh
$ aliaz generate bash
$ aliaz generate fish

init

Writes managed integration files. zsh and bash add the startup source line once; fish writes its managed configuration file directly.

$ aliaz init zsh
$ aliaz init bash
$ aliaz init fish
Migration

Import existing zsh-style aliases.

Migration reads lines that start with alias . Commented aliases and shell functions are ignored.

migrate
$ aliaz migrate --from ~/.zshrc
$ aliaz migrate
Sync privacy

Encrypted sync keeps alias contents client-side.

Alias names and commands are encrypted before upload. The sync server stores encrypted records and metadata, while the recovery phrase stays local and is required to decrypt aliases on a new computer.

New computer

$ aliaz login --username ada
$ aliaz sync
$ aliaz init zsh

Threat model

A database-only compromise should expose encrypted blobs, not readable aliases. Read the sync page for the full model.

Storage

Local data stays in standard OS directories.

Aliases are stored in a local SQLite database under the operating system's standard data directory. Sync config is stored under the standard config directory. Recovery phrases are stored in the OS credential store.

For tests and isolated runs, set ALIAZ_DATA_HOME or ALIAZ_CONFIG_HOME.
Troubleshooting

Check local state before changing config.

If an alias does not appear in your shell, list aliases, rerun init for your shell, then use doctor. Once integration is loaded, add, edit, rm, migrate, import, and sync refresh aliases automatically.

doctor
$ aliaz list
$ aliaz init zsh
$ aliaz doctor