Installation

Install from PyPI

pip install toast-cli

View on PyPI

Install from GitHub

pip install git+https://github.com/opspresso/toast-cli.git

Development Mode

git clone https://github.com/opspresso/toast-cli.git
cd toast-cli
pip install -e .

Dependencies

  • Python 3.9+
  • Click - Command-line interface creation
  • External tools:
    • git - Repository operations
    • aws-cli - AWS command line interface
    • kubectl - Kubernetes command line tool
  • Python packages:
    • rich - Terminal formatting and JSON output

Shell Integration

A program cannot change the directory of its shell, so toast cdw alone prints a path. Add one line to ~/.zshrc or ~/.bashrc, then open a new terminal. toast cdw typed at the terminal then changes to the selected directory; search and selection stay in toast cdw. A cancelled picker keeps the current directory.

eval "$(toast shell-init zsh)"    # ~/.zshrc
eval "$(toast shell-init bash)"   # ~/.bashrc

toast cdw toast-cli               # Change directory
dir="$(toast cdw toast-cli)"      # Scripts still receive the path
unset -f toast                    # Remove from the current shell

Only bash and zsh are supported. toast shell-init changes no file; to remove the integration, delete the eval line. Pipes, scripts, help and other commands run toast unchanged.

Recommended Aliases

# Main alias
alias t='toast'

# Let toast cdw change directory (bash: toast shell-init bash)
eval "$(toast shell-init zsh)"
alias c='toast cdw'     # Change to a workspace directory

# Common Command Aliases
alias m='toast am'      # Show AWS identity
alias x='toast ctx'     # Manage Kubernetes contexts
alias d='toast dot'     # Manage .env.local files
alias e='toast env'     # Manage AWS profiles
alias g='toast git'     # Manage Git repositories
alias r='toast region'  # Manage AWS region
alias p='toast prompt'  # Manage .prompt.md files
alias ssm='toast ssm'   # Manage SSM parameters