The Ember-owned pi package. It installs the complete Ember agent workflow as one package:
- Primary modes:
/coder,/architect,/doctor,/orchestrator, and/ui-doctor. - Inline
quizUI for decision-oriented questions. Agents are told to prefer it when they need a user choice. - A compact native
editrenderer that shows the filename and a single+N / -Nresult row. - Vendored subagent support with bundled
coderandarchitectdefinitions, plus the upstream bundled roles. - Bundled Devin auth/provider support, including OAuth, model catalog refresh, and streaming transport.
- Cursor subscription support through the official Cursor Agent CLI, with Pi retaining its native session and tool loop.
- A self-contained
Ctrl+Spacemode-cycle shortcut and a footer showing the active mode, model, and thinking variant.
The package has one top-level pi extension which dispatches to the internal
plugins under plugins/. Enable them globally in PI_HOME/pi-ember-stack.json:
{
"plugins": [
"pi-compact-tools",
"devin-auth",
"pi-cursor-auth",
"pi-ember-images",
"pi-custom-agents",
"pi-ember-fff",
"pi-ember-ui",
"pi-ember-tps",
"pi-ember-webtools"
]
}Remove a plugin ID to disable it, or use /stack-plugins to toggle one from
the TUI. Restart pi after changing the list. The available plugins are:
pi-compact-tools: collapsed native edit rendering.pi-custom-agents: quiz UI, primary modes, plans, subagent tool, and bundled agent definitions.devin-auth: Devin provider, OAuth, catalog refresh, and streaming.pi-cursor-auth: Cursor subscription auth, model refresh, and native Pi streaming.pi-ember-fff: FFF-powered grep/find with compact rendering.pi-ember-images: Windows/macOS clipboard image attachments with compact chat previews.pi-ember-ui: Ember accent theme and TUI chrome.pi-ember-tps: tokens-per-second meter.pi-ember-webtools: web search, URL fetching, and related extraction tools.
The Ember repository contains a project-local .pi/settings.json entry for:
"npm:@nmzpy/pi-ember-stack@0.1.6"On a new clone, start pi from the project directory. Pi will ask for a
one-time project trust decision before it installs the package into the
project-local .pi/npm/ directory. The same decision can be approved
non-interactively with:
pi --approve
Project trust is intentionally a user decision; a repository cannot safely
bypass it. After trust, normal startup is just pi from the Ember directory.
When a new version is intentionally released, update the pinned version in the project settings and run:
pi update --extensions
Third-party utilities such as pi-fff and image paste remain separate package entries. Devin auth is now bundled as a stack plugin, but credentials and provider secrets stay in the machine-local pi configuration and are not part of this repository.
The package entrypoint is plugins/index.ts. Compact tools are under
plugins/pi-compact-tools/, while quiz, primary modes, plans,
subagents, and bundled agents are under plugins/pi-custom-agents/. Provider
plugins are under plugins/devin-auth/ and plugins/pi-cursor-auth/.
Run the package typecheck with:
npm install
npm run typecheck
Run ./gacp.sh --release to bump the patch version, typecheck, commit, tag,
push, and publish the package to npm. This only publishes the package; update
Ember's pinned package version separately when you want the project to install it.
The package is cross-platform: bundled paths are resolved from import.meta.url
and do not depend on a Windows home directory or the current working
directory.