pi-ember-ui
A UI-only Ember theme and animated terminal interface for Pi, with no extra LLM calls or prompt injection.
Package details
Install pi-ember-ui from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-ember-ui- Package
pi-ember-ui- Version
1.0.7- Published
- Oct 29, 2026
- Downloads
- 1,235/mo · 444/wk
- Author
- jonyplo
- License
- MIT
- Types
- extension, theme
- Size
- 6.6 MB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"image": "https://raw.githubusercontent.com/JonyPlo/pi-ember-ui/main/assets/ember-preview.png",
"video": "https://raw.githubusercontent.com/JonyPlo/pi-ember-ui/main/assets/ember-intro.mp4",
"themes": [
"./themes/ember.json"
],
"extensions": [
"./extensions/ember-ui.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Ember — Pi Theme & UI Extension
Ember is a warm, dark theme and custom terminal UI for Pi. It combines a brown-black background and amber accents with a Tetris-inspired startup animation and an information-rich interface.
Preview

Startup animation

Watch the startup animation as an MP4 video
Features
- Tetris-style startup animation — pieces fall into an empty well and assemble the Pi logo, a line clears, and the logo floats into the header. The header, footer, and input then fade in. The animation can be turned off (see Disabling the startup animation).
- Custom welcome header — Pi version, model, context-window size, thinking level, loaded skills/prompts, and useful shortcuts.
- Two-line footer — project path, Git branch, LSP status when available, current model, context usage, thinking level, time to first token (TTFT), and a tokens-per-second estimate.
- Live activity status — shows whether Pi is processing, thinking, generating, or running a tool, and how long the last run took.
- Animated editor border — while the agent is working, the input's bottom border plays a subtle line of Tetris: pieces in the logo colors lock in from left to right, the finished line blinks, and it clears from the center outward.
- Context usage bar — a thin bar that fills with half-cell precision and shifts from cyan through yellow to coral as the context fills. It follows the selected model, so the window size updates as soon as you switch models.
- Responsive layout — the header adapts to narrower terminals.
Disabling the startup animation
If you would rather skip the Tetris intro, turn it off with the /ember-intro command:
/ember-intro
Pi shows a prompt:
Disable the startup intro animation? (currently enabled)
Yes, disable it (everything just fades in)
No, keep the Tetris animation
You can also skip the prompt:
| Command | Effect |
|---|---|
/ember-intro |
Opens the prompt above |
/ember-intro off |
Disables the intro |
/ember-intro on |
Enables the intro again |
The change takes effect the next time Pi starts. With the intro disabled, the header (logo included), footer, and input simply fade in right away, so the interface still appears smoothly instead of popping in.
The setting is stored in ember-ui.json in your Pi agent directory (for example ~/.pi/agent/ember-ui.json, or C:\Users\<you>\.pi\agent\ember-ui.json on Windows). You can also edit it by hand:
{ "intro": false }
If the file is missing or cannot be read, the intro is enabled.
UI-only by design
Ember is intended exclusively to change the appearance and live status display of Pi's terminal interface. It does not add prompt prefill, modify the system prompt, or register tools, skills, prompt templates, providers, or subagents. Its only command is /ember-intro, which toggles the startup animation. It makes no additional LLM/API calls and does not send telemetry.
Ember writes only small local files: the theme marker described in Theme behavior, and ember-ui.json, which is created only when you change the intro setting.
The animations and UI updates do use a small amount of local CPU and memory to render; they do not consume additional model tokens or context by themselves.
Install
pi install npm:pi-ember-ui
Restart Pi after installing so the package's extension and theme are loaded.
Theme behavior
On the first interactive startup after installing Ember, the extension selects the included ember theme and Pi saves it as the user's theme preference. A small marker is written to the Pi agent directory so this automatic selection happens only once.
After that first startup, users can freely select another theme in /settings. Ember will not force its palette again on later sessions or restarts. The marker is stored outside the package so updating the package does not normally reset the choice.
Terminal requirements
For the best result, use a terminal with:
- Truecolor (24-bit) support, such as Windows Terminal, iTerm2, WezTerm, Kitty, or Alacritty. The fade-in effects rely on truecolor; in terminals limited to 256 colors, elements appear without the fade.
- A font and terminal that render Unicode box and block characters (
━ ╾ ▏ ▕ ▔ █) cleanly. - At least about 24 rows for the full startup animation. On shorter terminals the falling pieces start closer to the logo.
In macOS Terminal.app, the startup animation is skipped and a compact header is used instead.
Troubleshooting
The startup animation shows an empty well with "starting…" for a moment. This is intentional. Some extensions do heavy work right after Pi starts, which can freeze the terminal for a fraction of a second. Ember waits on a still, empty well (for up to about two seconds) until that work has finished, so it does not stutter in the middle of the animation.
The animation stutters anyway. Run Pi with the environment variable EMBER_INTRO_DEBUG=1. When the intro finishes, Ember appends a log of any stalls to ember-intro-debug.log in your system's temporary directory. A line like event loop stalled 650ms means another extension or package blocked Pi at that moment. Disabling the extensions one at a time will show which one. You can also turn the intro off with /ember-intro off.
Compatibility
Ember was developed and tested with Pi 1.4. Compatibility with Pi 0.x has not been tested, and older versions may not provide every API used by the extension.
Ember is designed for Pi's interactive terminal UI (TUI). The startup animation is skipped in terminal environments where the extension detects that the custom intro is unsupported.
Package contents
extensions/ember-ui.ts— startup animation, header, footer, editor border, activity status, performance measurements, and the/ember-introcommand.themes/ember.json— Ember's color palette and theme tokens.assets/ember-preview.png— static screenshot used in this README and as the package gallery image.assets/ember-intro.gif— inline animated preview for GitHub.assets/ember-intro.mp4— video preview for the Pi package gallery.
License
MIT © 2026 JonyPlo
