Starship — Minimal Blazing-Fast Customizable Shell Prompt
Starship is a minimal, blazing-fast, and infinitely customizable prompt for any shell. Works with bash, zsh, fish, PowerShell, nushell, and more. Single TOML config file and Rust-powered speed with gorgeous defaults.
Installation avec revue préalable
Cet actif nécessite une revue. Le prompt copié demande un dry-run, affiche les écritures, puis continue seulement après confirmation.
npx -y tokrepo@latest install 85b6c0d9-35bd-11f1-9bc6-00163e2b0d79 --target codexDry-run d'abord, confirmez les écritures, puis lancez cette commande.
What it is
Starship is a minimal, fast, and customizable prompt for any shell. Written in Rust, it renders contextual information like git status, language versions, Kubernetes context, and cloud profiles without measurable latency. Configuration lives in a single TOML file.
Starship works with bash, zsh, fish, PowerShell, nushell, cmd, xonsh, ion, elvish, and more. It targets developers who spend significant time in the terminal and want context-rich prompts without slowdowns.
How it saves time or tokens
Starship eliminates manual checks for project context. Instead of running git status, node --version, or kubectl config current-context separately, the prompt shows all of this inline. It detects package managers, Docker contexts, and cloud profiles automatically. The Rust implementation keeps rendering under 1ms even with many modules enabled.
How to use
- Install Starship via Homebrew, curl, or scoop.
- Add the init script to your shell configuration file.
- Customize
~/.config/starship.tomlto enable or disable modules.
# Install
brew install starship
# Add to ~/.zshrc
eval "$(starship init zsh)"
# Add to ~/.bashrc
eval "$(starship init bash)"
Example
A custom Starship configuration showing git branch, Node.js version, and directory info:
add_newline = true
[character]
success_symbol = '[>](bold green)'
error_symbol = '[x](bold red)'
[directory]
truncation_length = 3
truncate_to_repo = true
[git_branch]
symbol = 'branch '
[nodejs]
format = 'via [node $version](bold green) '
[kubernetes]
disabled = false
format = 'on [k8s $context](blue) '
This produces a prompt like: ~/projects/my-app branch main via node v20.11 on k8s prod >
Related on TokRepo
- AI Tools for Coding — Development tools that pair well with terminal workflows
- Featured Workflows — Discover popular developer tools and configurations
Common pitfalls
- Nerd Fonts are required for icons. Without them, the prompt shows garbled characters. Install a patched font from nerdfonts.com.
- Enabling too many modules slows the prompt on older machines. Disable modules you do not need in
starship.toml. - Fish shell users must use
starship init fish | sourcesyntax, noteval. The init command differs per shell.
Questions fréquentes
Starship supports bash, zsh, fish, PowerShell, nushell, cmd, xonsh, ion, elvish, and tcsh. Each shell has its own init command. The configuration file is shared across all shells, so switching shells does not require reconfiguration.
No. Starship is written in Rust and renders in under 1ms for most configurations. It only runs the detection logic for modules that are enabled and relevant to the current directory. Disabling unused modules makes it even faster.
Edit the file at ~/.config/starship.toml. Each module (git, node, python, kubernetes, etc.) has its own configuration section where you can set format strings, symbols, colors, and enable/disable the module entirely.
Yes. Starship works in any terminal emulator including the VS Code integrated terminal. Set your VS Code terminal to use a Nerd Font for proper icon rendering, and ensure the shell init script is in your shell config file.
Out of the box, Starship shows the current directory, git branch and status, detected language versions (Node, Python, Rust, Go, etc.), command duration for slow commands, and error indicators. The defaults are designed to be useful without configuration.
Sources citées (3)
- Starship GitHub— Starship cross-shell prompt with 56K+ stars
- Starship Docs— Starship configuration and module documentation
- Nerd Fonts— Nerd Fonts required for icon rendering
En lien sur TokRepo
Fil de discussion
Actifs similaires
Lightning CSS — Blazing-Fast CSS Parser and Minifier in Rust
An extremely fast CSS parser, transformer, bundler, and minifier written in Rust, designed to replace PostCSS and Autoprefixer with a single tool.
Yazi — Blazing Fast Terminal File Manager in Rust
Yazi is a blazing fast terminal file manager written in Rust, based on async I/O. Preview images and videos in terminal, fuzzy search, batch operations, plugin system, and seamless integration with tools like fzf, zoxide, and rg.
fzf — Blazing Fast Command-Line Fuzzy Finder
fzf is a general-purpose command-line fuzzy finder written in Go. Blazing fast, portable, and composable with any list-producing command. Interactive picker for files, commands, history, git branches, processes, and more.
GitUI — Blazing-Fast Terminal UI for Git Written in Rust
GitUI brings a Rust-fast terminal interface to Git: browse commits, stage hunks, view diffs, manage branches, and resolve conflicts — all without leaving the keyboard. A great complement (or alternative) to lazygit.