@zigai/pi-footer
Pi package that replaces Pi's footer with a compact status line.
Package details
Install @zigai/pi-footer from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@zigai/pi-footer- Package
@zigai/pi-footer- Version
0.3.0- Published
- Jul 8, 2026
- Downloads
- 2,243/mo · 748/wk
- Author
- zigai
- License
- MIT
- Types
- extension
- Size
- 68 KB
- Dependencies
- 1 dependency · 2 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi Footer
This Pi extension replaces Pi's footer with a single compact plain-text status line.

Footer contents:
- current working directory
- git branch
- provider and model
- thinking level
- MCP status
- context usage
Install
pi install npm:@zigai/pi-footer
Configuration
Configure global settings at ~/.pi/agent/pi-footer/config.json.
| Option | Type | Default | Description |
|---|---|---|---|
separator |
string |
"·" |
Visible separator placed between footer status segments. Whitespace-only values are ignored. |
layout.left |
string[] |
["path", "branch", "provider", "model", "thinking"] |
Left-side slot order. Earlier slots are kept first when the footer narrows. |
layout.right |
string[] |
["context"] |
Right-side slot order. Later slots are kept first when the footer narrows. |
layout.hidden |
string[] |
[] |
Slots omitted even when configured on a side or registered by another extension. |
{
"$schema": "./config.schema.json",
"separator": "·",
"layout": {
"left": ["path", "branch", "provider", "model", "thinking"],
"right": ["context"],
"hidden": []
}
}
Custom slots registered by other extensions use namespaced ids such as my-extension.status.
Extension API
Other extensions can register custom footer slots through @zigai/pi-footer/api.
import { registerFooterSlot } from "@zigai/pi-footer/api";
const status = registerFooterSlot({
id: "my-extension.status",
defaultSide: "right",
text: "ready",
});
status.setText("working");
status.clear();
status.dispose();
License
MIT