← All reportsPublic report

starship/starship

☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

60k stars Rust View on GitHubprofiled 14d ago
Try GitZoid
44PRs this week
8Contributors
0Deps scanned
0Issues found
01 · Repo overview

How starship is put together

Starship is a cross-shell terminal prompt written in Rust (edition 2024), distributed as a single static binary via crates.io and many OS package managers. It works as a CLI invoked by shell init scripts (src/init/*.{bash,zsh,fish,...}): the shell calls `starship prompt` (and related subcommands) on each prompt render, and the binary builds a Context from environment variables and the current directory, runs ~100 independent 'modules' (git status, language versions, cloud profiles) largely in parallel via rayon, formats output through a pest-based format-string parser, and prints ANSI-styled text. Configuration is read from a user TOML file (~/.config/starship.toml by default); each module has a paired config struct under src/configs/. There are no servers, databases, or network services; all I/O is local filesystem, environment, and subprocesses.

Languages

RustShell (bash/zsh/fish/pwsh/nushell/elvish/xonsh/tcsh/ion/lua init scripts)TOML (config/presets)

Frameworks

clap 4 (CLI arg parsing)serde/serde_json (config deserialization)gix (pure-Rust git access)pest/pest_derive (format string grammar)nu_ansi_term (ANSI styling)rayon (parallel module execution)schemars (JSON schema generation)shadow-rs (build metadata)mockall (test mocking)

Infrastructure

GitHub Actions CI (workflow.yml badge)release-please (release-please-config.json)cargo-deny policy (deny.toml)dprint formatter (.dprint.json)rustfmt/clippy configscodecov (.codecov.yml)crowdin translations (crowdin.yml)curl|sh installer (install/install.sh)macOS package build/notarize scripts (install/macos_packages/)Windows MSI/WiX (install/windows/main.wxs)

Major components

CLI entrypoint (src/main.rs)

Defines all clap subcommands (prompt, module, init, config, preset, explain, timings, completions, session, bug-report, config-schema) and dispatches them.

Context (src/context/)

Builds the runtime environment snapshot (env vars, cwd, repo detection incl. git_repo.rs and jj_repo.rs) shared by all modules.

Module system (src/modules/, src/module.rs)

~100 pluggable prompt segments (aws, git_status, nodejs, claude_*, etc.), each producing a Module value from its config and context.

Configuration layer (src/config.rs, src/configs/)

Parses the user's TOML config into per-module typed structs with defaults, unknown-key warnings, and optional JSON-schema generation.

Formatter (src/formatter/)

Parses starship's `$var`/style format-string DSL (spec.pest grammar) and renders styled prompt text including variable substitution.

Shell init scripts (src/init/)

Per-shell bootstrap functions (starship.bash, .zsh, .fish, .ps1, .nu, etc.) that invoke the binary and wire up prompt hooks.

Config management commands (src/configure.rs)

Implements `starship config` get/set/toggle/edit, writing TOML atomically and launching $VISUAL/$EDITOR.

Printing & presets (src/print.rs, src/segment.rs)

Orchestrates parallel module execution, prompt/right-prompt/profile rendering, explain/timings output, and preset emission.

Over the past five weeks, the Starship project has been mostly in maintenance mode, with a steady stream of dependency updates and tooling refreshes keeping the codebase healthy. The most user-visible work was the addition of a new Jujutsu (jj) bookmark module, supported by internal refactoring to prepare the codebase for Jujutsu integration, plus a handful of bug fixes like quieter sudo error handling and better Gradle version detection.

Week by week

2026-08-24A quiet week with a single update to the code-signing automation.latest1 change

Chore

Updated signing request action

The automated tool that submits files for signing was bumped to version 2.3.

2026-08-17A new module for tracking Jujutsu bookmarks landed alongside routine dependency updates.5 changes

Feature

New jj_bookmark module

Starship can now show information about bookmarks from the Jujutsu version control system directly in your prompt.

Chore

Rust cache action updated

The build caching tool used during development was refreshed to speed up builds.

Chore

yaml-rust2 updated to 0.12.0

An underlying library used for reading YAML configuration files was upgraded.

Chore

pest crates updated to 2.9.0

Libraries used for parsing text patterns were upgraded to their latest version.

Chore

Install action updated

The helper that installs development tools during testing was bumped to a newer release.

2026-08-10A busy maintenance week with ten changes, including a fix for OpenStack config file discovery.6 changes

Fix

OpenStack clouds.yaml lookup fixed

The OpenStack module now correctly finds its settings file when you run commands from your current folder instead of only looking elsewhere.

Chore

CI tooling simplified

The project stopped pinning exact versions of an installer tool, letting it use newer releases automatically.

Chore

clap libraries updated

The libraries behind Starship's command-line interface were refreshed.

Chore

Windows installer tooling updated

The tool used to build Windows installers was upgraded to version 0.3.9.

Chore

Typo checker updated

The automated spell-checking tool used on the codebase was bumped to v1.49.0.

Chore

Miscellaneous dependency updates

Several supporting libraries (whoami, open, clap_complete_nushell) were refreshed to their latest versions.

2026-08-03Bug fixes for sudo noise and Gradle projects arrived amid a wave of dependency updates.5 changes

Fix

Quieter sudo failures

When Starship checks whether you have admin rights, it no longer writes system error logs every time the check doesn't succeed.

Fix

Gradle version detection improved

The package version display now understands Kotlin-based Gradle build files (build.gradle.kts), not just older Groovy ones.

Docs

Sponsors list refreshed

The documentation's list of project sponsors was brought up to date.

Chore

Node.js updated to 24.19.0

The JavaScript runtime used by development tooling was upgraded.

Chore

Core libraries refreshed

Key dependencies including clap, schemars, and toml were all updated to newer versions.

2026-07-27Preparation for Jujutsu support began with an internal refactor, plus many tooling updates.6 changes

Refactor

Git repo access extracted

Code that talks to Git repositories was pulled into its own shared piece, clearing the way for adding support for the Jujutsu version control system.

Chore

gix library updated to 0.86.0

The main library Starship uses to read Git information was upgraded.

Chore

GitHub Actions refreshed

Several automation tools (checkout, setup-node, cargo-deny, homebrew formula bumping) were updated to their latest versions.

Chore

JSON parser library updated

The jsonc-parser library, which reads JSON-style config with comments, was bumped to 0.33.1.

Chore

Date/time library updated

The jiff library used for handling dates and times was upgraded to 0.2.35.

Chore

JSON formatter plugin updated

The dprint JSON formatting plugin used to keep code tidy was refreshed to v0.23.0.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required