Open-Source Wikis

/

Starship

/

How to contribute

starship/starship

How to contribute

A practical map of how work flows from "I want to change something" to "this is in main." For the source-of-truth project policy, see CONTRIBUTING.md. This section condenses what's there and adds context for navigating the codebase.

Where to start

Sub-pages

Topic Page
Develop, test, and submit a PR Development workflow
Test patterns, ModuleRenderer, fixtures Testing
Logs, STARSHIP_LOG, debugging hooks Debugging
Module shape, config conventions, error handling Patterns and conventions
Cargo features, lints, formatters, CI Tooling

Definition of done

A PR is mergeable when:

  • cargo fmt --all passes.
  • cargo clippy --all-targets --all-features -- -D warnings passes.
  • cargo test --all-features --locked --workspace -- --include-ignored passes on Linux, macOS, and Windows (CI runs all three).
  • If you changed any field of any config struct, .github/config-schema.json is up to date (regenerate with cargo run --features config-schema -- config-schema > .github/config-schema.json).
  • If you added a new module, the New Module Checklist in CONTRIBUTING.md is complete.
  • dprint fmt has been run if you touched Markdown / TOML / JSON / YAML.

Pull-request flow

  1. Fork the repo.
  2. git checkout -b my-feature off main.
  3. Commit (use Conventional Commitsrelease-please reads them for the changelog).
  4. Push and open a PR against starship:main.
  5. CI runs the full matrix; review happens when a maintainer is around.
  6. PRs are typically squash-merged.

There's no expectation to assign reviewers; maintainers triage incoming PRs.

What kind of contribution?

Kind Where
Add a new module New .rs files under src/modules/ and src/configs/, plus the seven-place wire-up in CONTRIBUTING.md's checklist
Fix a module bug Edit the relevant src/modules/<name>.rs, add a test
Add a new shell New Shell variant, new src/init/starship.<shell>
Add a preset New .toml under docs/public/presets/toml/
Update docs (English) Edit docs/config/README.md, docs/guide/README.md, etc.
Update docs (other languages) Use Crowdin
Tweak CI .github/workflows/*.yml

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

How to contribute – Starship wiki | Factory