@compn3rd/pi-web-pendant-theme
Pendant-inspired theme for PI WEB: Source Sans 3 body font, Press Start 2P pixel accents, sharp corners, flat surfaces, subtle pixel grid. Includes 6 dark variants (Amber CRT, Green Phosphor, Cyan/Teal, Nearly Monochrome, Muted Everything, plus the origin
Package details
Install @compn3rd/pi-web-pendant-theme from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@compn3rd/pi-web-pendant-theme- Package
@compn3rd/pi-web-pendant-theme- Version
0.3.0- Published
- Aug 14, 2026
- Downloads
- 566/mo · 29/wk
- Author
- compn3rd
- License
- MIT
- Types
- theme
- Size
- 759.6 KB
- Dependencies
- 0 dependencies · 0 peers
Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
PI WEB Pendant Theme
A Pendant-inspired theme pack for PI WEB with retro 8-bit aesthetics: sharp corners, flat surfaces, a subtle pixel grid, Source Sans 3 body font, and Press Start 2P pixel accents on section headers.
Version 0.3 and later targets PI WEB's browser plugin API v2. PI WEB releases that reject browser API v1 will not discover older 0.2.x packages.
Command logos
When a Pendant theme is active, bash tool cards (tool-execution-view →
section.tool-card) get an unobtrusive brand logo in their title, matching
the first token of the command to a Simple Icons
slug — the same idea as the Pendant VS Code extension.
- 247 commands mapped across git, shells, every major language/runtime, package managers, build tools, test runners, linters, bundlers, containers, Kubernetes, IaC, clouds, databases, and observability tools.
- 124 brand icons (Simple Icons, CC0) + 13 hand-crafted generic glyphs
(
symbol:search,symbol:cloud,symbol:hammer,symbol:terminal, …) for commands with no brand mark. - The
bashtool title is visually replaced with the tool's name (Git,uv,PDM,Python,PyPI,Rust,Docker, …); generic glyphs keepbash. cd <dir> && <cmd>/cd <dir>; <cmd>prefixes are stripped, socd ~/repo && git pushshows the Git logo.- Pendant Dark and Pendant Light use each brand's official hex;
all experiment themes (Amber CRT, Green Phosphor, Cyan/Teal, Nearly
Monochrome, Muted Everything) desaturate logos to
--pi-text-secondaryso they stay on-palette. - Fully gated behind the Pendant theme toggle: switching to a stock theme
strips every logo and restores the original
bashtitle.
The mapping + icon path data live in logos/manifest.json
(commandToSlug, brands, symbols). Brand icons are CC0 (Simple Icons);
the generic symbol:* glyphs are MIT-licensed part of this plugin. Brand
logos are trademarks of their owners and are used here only to identify
tools the agent is running.
Themes
This package contributes 7 themes to PI WEB's theme picker:
| Theme | Description |
|---|---|
| Pendant Dark | Original dark palette (blue accent, green success, red danger) |
| Pendant Light | Light variant |
| Amber CRT | Pitch black bg, warm amber glow — old monochrome terminal |
| Green Phosphor | Deep black bg, classic matrix green — green-screen retro |
| Cyan/Teal | Near-black bg, cool cyan accents — modern-retro hybrid |
| Nearly Monochrome | Pure grayscale — every accent is a different shade of gray |
| Muted Everything | Desaturated hints at ~5–10% saturation |
All dark themes share the same structural styling: sharp border-radius: 0, flat surfaces (no box-shadows), image-rendering: pixelated, and a 32px subtle pixel-grid background.
Fonts are bundled as WOFF2/TTF (no external requests):
- Source Sans 3 (variable) — body text
- Source Code Pro (variable) — code
- Press Start 2P — section header arcade kickers
Installation
Via Pi (recommended)
pi install -g @compn3rd/pi-web-pendant-theme
Then reload the PI WEB browser tab and select a Pendant theme from the theme picker (gear icon or action palette). If upgrading from package version 0.2.x after a PI WEB upgrade, update/reinstall the package and hard-reload the tab so the v2 browser entry is discovered.
Manual
Clone or symlink into ~/.pi-web/plugins/pendant/:
mkdir -p ~/.pi-web/plugins
git clone https://github.com/CompN3rd/pi-web-pendant-theme.git ~/.pi-web/plugins/pendant
Hard-reload the PI WEB browser tab.
Fonts & assets
| File | License |
|---|---|
fonts/SourceSans3VF-* |
SIL OFL 1.1 |
fonts/SourceCodeVF-* |
SIL OFL 1.1 |
fonts/PressStart2P-Regular.ttf |
SIL OFL 1.1 |
logos/manifest.json brand icons |
CC0 1.0 — from Simple Icons |
logos/manifest.json symbol:* glyphs |
MIT (this plugin) |
Development
git clone https://github.com/CompN3rd/pi-web-pendant-theme.git
cd pi-web-pendant-theme
# edit pi-web-plugin.js, then symlink for live testing:
ln -s "$PWD" ~/.pi-web/plugins/pendant
# hard-reload browser
Tests
npm test # parser, command-logo layout, and PI WEB browser-v2 package contracts
The source-contract tests check fixed logo sizing, SVG containment, PI WEB API version, required browser metadata, and module-relative asset URLs. They do not compute browser layout or load the package in PI WEB. Computed dimensions, responsive widths, DOM injection/re-render behavior, and theme transitions still require manual testing against a live PI WEB instance.
Rebuilding the icon manifest
logos/manifest.json is generated from simple-icons (CC0) plus hand-crafted
symbol:* glyphs. To regenerate after bumping the Simple Icons set:
node scripts/build-manifest.js
License
MIT — plugin code and the symbol:* generic glyphs. Fonts have their own
OFL licenses (see above). Brand icons in logos/manifest.json are CC0 from
Simple Icons; the brand marks themselves are trademarks of their owners,
used here only to identify which tool the agent is running.