pi-zentui

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

Package details

extension

Install pi-zentui from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-zentui
Package
pi-zentui
Version
0.1.2
Published
Apr 8, 2026
Downloads
315/mo · 33/wk
Author
lmilojevic
License
MIT
Types
extension
Size
33.3 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "image": "https://raw.githubusercontent.com/lmilojevicc/pi-zentui/main/assets/zentui.png"
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Zentui

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

Screenshots

Zentui

What is this?

Zentui brings two popular aesthetics to Pi:

  • Starship footer — shows your current directory, git branch, git status indicators, and runtime/version detection in a compact, icon-rich format
  • Opencode editor and messages — clean bordered input box with accent rail, transparent previous messages, and model/provider display inside the editor frame

Features

Footer (Starship-inspired)

  • 󰝰 dirname — current directory with icon
  • on branch — git branch with icon
  • [!?↑] — git status indicators (modified, untracked, ahead/behind, stashed, etc.)
  • via v5.5.0 — runtime detection with version (Bun, Deno, Node, Python, Go, Rust, Lua, Java, Ruby, PHP)
  • Right side shows context usage, token counts, and cost

Editor (Opencode-inspired)

  • Bordered input box with accent-colored left rail
  • Model name and provider displayed inside the editor frame
  • Thinking level indicator when enabled
  • Matching style for previous user messages

Git Status Icons

Icon Meaning
! Modified
? Untracked
+ Staged
Deleted
» Renamed
= Conflicted
$ Stashed
Ahead
Behind
Diverged

Runtime Detection

Detects project type and shows runtime version:

Runtime Detection
Bun bun.lock, bun.lockb
Deno deno.json, deno.jsonc, deno.lock
Node.js package.json, .nvmrc, .node-version
Python pyproject.toml, requirements.txt, setup.py, Pipfile
Go go.mod
Rust Cargo.toml
Lua stylua.toml, .luarc.json, init.lua, lua/ dir
Java pom.xml, build.gradle
Ruby Gemfile, .ruby-version
PHP composer.json

Install

# From npm
pi install npm:pi-zentui

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

Config

On first run, Zentui creates a config file at:

~/.pi/agent/zentui.json

Default config

{
  "icons": {
    "cwd": "󰝰",
    "git": "",
    "ahead": "↑",
    "behind": "↓",
    "diverged": "⇕",
    "conflicted": "=",
    "untracked": "?",
    "stashed": "$",
    "modified": "!",
    "staged": "+",
    "renamed": "»",
    "deleted": "✘",
    "typechanged": "T"
  },
  "colors": {
    "cwdText": "syntaxOperator",
    "git": "syntaxKeyword",
    "gitStatus": "error",
    "contextNormal": "muted",
    "contextWarning": "warning",
    "contextError": "error",
    "tokens": "muted",
    "cost": "success",
    "separator": "borderMuted"
  }
}

Color values

Colors can be:

  • Pi theme token names (e.g., accent, error, syntaxKeyword)
  • Hex colors (e.g., #89b4fa)

This means Zentui works with any Pi theme — it uses your theme's colors by default.

Requirements

Development

If you use mise:

mise install
mise run setup
mise run verify
mise run fmt
mise run ci

Without mise:

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

Credits

Inspired by:

  • Starship — the minimal, blazing-fast, and infinitely customizable prompt
  • Opencode — terminal-based AI coding assistant

License

MIT