Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

Zentui

A Starship-inspired statusline and Opencode-style TUI for Pi.

npm version npm monthly downloads CI status GitHub contributors MIT license

Screenshot of Zentui with a framed user message, spacious Opencode Editor, model metadata, and Starship Footer.

What is this?

Zentui gives four Pi surfaces independent ownership and styling:

  • Editor — Opencode, Opencode copy-friendly, Accent Rail, and Minimalist input treatments
  • User messages — framed, framed copy-friendly, compact, and labeled transcript messages
  • Working line — optional ownership of Pi's complete in-progress row and settled turn summary
  • Footer — Pi's native Footer, a Starship-style statusline, or a hidden zero-row Footer

Editor, User messages, Working line, and selector borders have independent enabled fields. Footer uses one style: native, starship, or hidden. Use /zentui to configure each component without coupling it to the others.

Highlights

Surface Default Available treatments
Editor opencode Opencode, copy-friendly, Accent Rail, Minimalist
User messages framed Framed, copy-friendly, Compact, Labeled
Working line disabled Five spinner presets, live tool/time/thinking/token segments, turn summary
Footer starship Native, Starship, Hidden
Selector borders zentui Independent enablement and color source

The Starship Footer shows directory, Git, runtime, context, tokens, and cost. Optional segments include model/provider, package version, session duration, user@host, time, OS, Git commit, Git metrics, and third-party extension statuses. The layout is segment-driven by default and supports a complete Starship-style format template.

Zentui detects a broad set of runtime and language modules, preserves Nerd Font icons with an ASCII mode, and can source colors from the active Pi theme or directly from the terminal palette.

Screenshots

Editors

opencode

Zentui Opencode editor with an accent rail, model metadata, Nerd Font Git branch, and Starship footer.

opencode-copy-friendly

Zentui copy-friendly Opencode editor with model metadata, Nerd Font Git branch, and Starship footer.

accent-rail

Zentui Accent Rail editor with a filled single-left-rail input and Starship footer.

minimalist

Zentui Minimalist editor with session, cost, model, Git, and path metadata in a rounded frame with the Footer hidden.

User messages

framed

Zentui Framed user-message style with horizontal borders, spacer rows, and an accent rail.

framed-copy-friendly

Zentui copy-friendly Framed user-message style with horizontal borders, spacer rows, and a copyable left edge.

compact

Zentui Compact user-message style with a slim accent rail and no surrounding borders.

labeled

Zentui Labeled user-message style in a rounded frame with the label User.

Install

# From npm
pi install npm:pi-zentui
# From git
pi install git:github.com/lmilojevicc/pi-zentui

Configure

Run /zentui inside Pi to configure Appearance, Editor, User messages, Working line, Footer, Segments, Git, and Extensions. Use Tab and Shift+Tab to switch sections. Changes are applied live and saved to:

~/.pi/agent/zentui.json

A small starter config:

{
 "components": {
 "editor": {
 "enabled": true,
 "style": "accent-rail"
 },
 "userMessages": {
 "enabled": true,
 "style": "framed"
 },
 "workingLine": {
 "enabled": false
 },
 "footer": {
 "style": "starship"
 }
 },
 "icons": {
 "mode": "auto"
 }
}

Detailed reference:

The Starship Footer path defaults to basename. Opt into components.footer.styles.starship.pathDisplay.mode: "repository" to omit the repository directory itself: the repository root renders ., while /repo/extensions/zentui renders extensions/zentui. depth keeps the final N components in full and repository modes; 0 is unlimited. Until a current, safely contained repository root is available, repository mode silently uses the unlimited full path with ~ home abbreviation.

Useful shortcuts:

/zentui editor toggle
/zentui messages toggle
/zentui working-line
/zentui statusline toggle
/zentui viewport-indicators toggle
/zentui format "$cwd on branch $git_branch$git_status using $runtime $fill $context"
/zentui format clear

Pi 0.84 also provides a native fullscreen TUI with a sticky editor and Footer. Zentui does not enable it automatically; select fullscreen from Pi's /settings, set "tuiMode": "fullscreen" in Pi settings, or launch Pi with --tui-mode fullscreen.

Requirements

  • Pi coding agent 0.80.5 or newer
  • A Nerd Font for icons, or icons.mode: "ascii"

Development

npm install
npm run fmt
npm run verify
npm run pack:check

Run Pi with only the local extension:

npm run pi:dev

Install the checkout as a local Pi package:

npm run pi:install-local

Override the globally installed Pi binary when needed:

PI_BIN=/path/to/pi npm run pi:dev

See CONTRIBUTING.md for manual UI-test and pull-request expectations.

Inspiration and credits

  • Starship — inspiration for the informative, segment-based Footer
  • Opencode — inspiration for the Opencode editor treatment
  • Oh My Pi (omp) by Can Bölük — visual inspiration for the filled, single-left-rail Accent Rail editor
  • Pi Custom Input by Vinh Le — visual inspiration for Minimalist's framed, border-embedded session, model, context, Git, and path metadata

Zentui's implementations are independent; these credits acknowledge product and visual inspiration rather than source-code reuse.

License

Zentui is licensed under the MIT License. Wallpaper photo by Mohammad Alizade on Unsplash, used under the Unsplash License. The photograph appearing in showcase screenshots is not relicensed under MIT.

About

A Starship-inspired statusline and Opencode-style TUI for Pi

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /