# starship

> Cross-shell prompt that displays contextual information about Git repos, programming languages, and system status

Stars: 60.6k · Language: Rust · License: ISC · Categories: Shell

- Repository: https://github.com/starship/starship
- Website: https://starship.rs
- Page: https://www.trmn.sh/tools/starship

## Install

- Homebrew: `brew install starship`
- Cargo: `cargo install starship --locked`
- Script: `curl -sS https://starship.rs/install.sh | sh`

## Overview

Starship is a shell prompt customization tool that works across Bash, Zsh, Fish, PowerShell, and other shells on any operating system. It replaces the default shell prompt with a context-aware display that shows relevant information about the current directory, Git repository status, active programming language versions, and system state.

The prompt intelligently detects the current environment and displays modules for detected tools and frameworks. For example, it shows Node.js version when in a JavaScript project, Python version in Python projects, Git branch and status in repositories, and battery level on laptops. Each module is configurable through a TOML configuration file, allowing users to customize colors, symbols, format, and which modules appear.

Starship is written in Rust and emphasizes performance, claiming to be significantly faster than alternative prompt tools. It supports over 50 modules covering programming languages, version control systems, cloud platforms, package managers, and system information. The tool requires a Nerd Font for proper symbol rendering and integrates with shells through initialization scripts that evaluate the prompt on each command execution.

### Installation

```bash
# via Homebrew
brew install starship
```

```bash
# via Cargo
cargo install starship --locked
```

```bash
# via Script
curl -sS https://starship.rs/install.sh | sh
```

![Starship with iTerm2 and the Snazzy theme](https://media.trmn.sh/cached/4ec4ea8195c16ac21f1d73e99d495e0288d7fe035f353776a5802efbde5760b4.gif)

## Alternatives

- [Nushell](https://www.trmn.sh/tools/nushell.md): Structured data shell that treats commands and files as typed data rather than raw text streams (Rust, 40.8k stars)
- [zoxide](https://www.trmn.sh/tools/zoxide.md): Smart cd replacement that remembers frequently used directories for quick navigation (Rust, 40.4k stars)
- [fish](https://www.trmn.sh/tools/fish.md): Interactive command line shell with syntax highlighting, autosuggestions, and tab completions that work without configuration (Rust, 34.4k stars)
- [atuin](https://www.trmn.sh/tools/atuin.md): Shell history management with SQLite storage, search interface, and encrypted sync across machines (Rust, 32.2k stars)
- [genact](https://www.trmn.sh/tools/genact.md): Terminal program that prints fake activity output (compilers, builds, botnets, downloads) to look busy. Runs natively or in a browser via WebAssembly. (Rust, 12.2k stars)

## Guides

- [Set up a fast cross-shell prompt with starship](https://www.trmn.sh/guides/starship-prompt-setup): Install starship, load it in bash, zsh or fish, edit starship.toml, apply a preset, and fix slow prompts or missing Nerd Font glyphs.
- [Best Shell Prompts](https://www.trmn.sh/best/shell-prompts): Compare starship, Spaceship Prompt, Pure: workflows, strengths and tradeoffs.
- [starship vs Spaceship Prompt](https://www.trmn.sh/compare/starship-vs-spaceship-prompt): Compare starship, Spaceship Prompt: workflows, strengths and tradeoffs.

---

Canonical: https://www.trmn.sh/tools/starship
