@saifymatteo/pi-atelier
A responsive status rail and live activity sidebar for Pi
Package details
Install @saifymatteo/pi-atelier from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@saifymatteo/pi-atelier- Package
@saifymatteo/pi-atelier- Version
0.19.2- Published
- Nov 1, 2026
- Downloads
- 1,016/mo · 634/wk
- Author
- saifymatteo
- License
- MIT
- Types
- extension
- Size
- 1 MB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"image": "https://raw.githubusercontent.com/saifymatteo/pi-atelier/main/assets/preview.png",
"extensions": [
"./extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@saifymatteo/pi-atelier
A fork of michaelmjhhhh/pi-atelier — a responsive status rail and live activity sidebar for Pi.
The original work and its full documentation live upstream. Read the upstream README for what Pi Atelier is, how to install and use it, and its complete feature, configuration, and troubleshooting reference. This README covers only what this fork adds or changes on top of upstream v0.18.0. CHANGELOG.md records every fork release.
Install
pi install npm:@saifymatteo/pi-atelier
Published to npm as @saifymatteo/pi-atelier. Releases publish from fork/vX.Y.Z tags through GitHub Actions with npm Trusted Publishing, and a check verifies the scoped package installs cleanly from the packed tarball.
Changes in this fork
Extension statuses on dedicated rows
Upstream renders custom-extension statuses inline in the Status Rail and drops or compacts the rail when they grow. This fork renders them on dedicated rows beneath the rail: statuses wrap as whole items onto further rows, adjacent statuses in a row are separated by the rail's dim separator, and an over-wide status truncates with an ellipsis instead of forcing the rail to compact. Applies to both footer modes.
Configurable extension status ordering
extensionStatusOrder orders individual custom-extension statuses by their exact setStatus() keys. Listed statuses come first; unlisted statuses keep Pi's order. Trusted project configuration can override the user list.
{
"extensionStatusOrder": ["my-extension:sync", "other-extension:build"]
}
Copy-friendly editor
The composer uses the full available width with fixed one-column horizontal padding and no vertical side rails, keeping the session status header, native horizontal rules, scroll hints, and autocomplete placement. The bundled standalone copy-friendly-editor.ts extension is disabled so a single editor owns the composer.
Footer and editor coexistence
While the copy-friendly editor's status header is visible, Atelier shows the telemetry-only footer instead of repeating session information. Extension statuses keep their dedicated rows in both footer modes and are not repeated in the header; the complete footer remains the fallback when the header cannot display them.
Packaging and fixes
- The npm package is scoped to
@saifymatteo, and package metadata points at this fork's repository and homepage. - Tool paths resolve with the path flavor of their inputs, so activity and display paths stay correct when Windows and POSIX forms are mixed.
- Telemetry rows that render to invisible content are no longer dropped.
- The repo's npm script helper strips an inherited
npm_config_allow_scriptsvalue, so a machine-level npm script policy cannot change what the repo's checks run.
Development
Same workflow as upstream: clone this fork, npm ci, then npm run check. See CONTRIBUTING.md and the upstream README's development notes for details.
License
MIT, as upstream.
