← All posts

CLI

Starship: A Fast, Informative Prompt for Any Shell

Starship is a fast, customizable shell prompt that shows git status, language versions, and context in any shell.

S CLI

Your shell prompt is on screen every second you work, yet most people run whatever their distro shipped. Starship makes it worth caring about. It's a single fast Rust binary that gives you a smart, informative prompt in Bash, Zsh, Fish, PowerShell, and more - showing the current git branch and status, the language version for the project you're in, and other context, all rendered quickly enough that you never feel it.

One Prompt Everywhere

Because it works across shells from one config, you set it up once and get the same prompt on every machine and every shell:

# Add to the end of ~/.bashrc eval "$(starship init bash)" # Configure in ~/.config/starship.toml [git_branch] symbol = ' '

Context Without the Clutter

Starship shows modules only when they're relevant - the Node version appears in a Node project, the Python virtualenv when one is active, git state only in a repo. You get the information when it matters and a clean prompt when it doesn't, and every module is tunable in a single TOML file.

Rough Edges and Limitations

  • It's cosmetic-plus. The wins are speed and information density, not new capability.
  • Fonts for the fancy bits. Icons and glyphs want a Nerd Font installed.
  • Config can sprawl. The customization is deep enough to rabbit-hole in.

A good prompt quietly saves you a hundred tiny lookups a day - which branch, which version, is the tree dirty - and Starship is the easiest way to get one.

Internal link suggestion: link "the same prompt on every machine" to the chezmoi post for syncing that config across machines.