pi-extensible-workflows
v5.17.0
Published
Deterministic multi-agent workflow orchestration for Pi
Maintainers
Readme
pi-extensible-workflows
Deterministic multi-agent workflow orchestration for Pi. Build named jobs that fan out, pause for approval, use isolated worktrees, and recover without rerunning completed work.
The repository README is the canonical product overview, package map, and documentation index.
Install
Requires Node.js 22.19 or newer. This is trusted Pi host code with the same filesystem and process access as Pi.
The core installation includes workflow orchestration, the reviewLoop starter for implementation-and-review cycles, packaged developer/reviewer/scout/oracle/researcher roles with ready-made slash commands (/scout, /oracle, /review, /parallel-review, /review-loop, /deep-research, and more), and durable standalone subagent tools. See the Subagents guide for the bundled tools.
Trajectory live monitoring is included in the package. Restart existing Pi processes after upgrading the package so their publisher protocol matches the detached Trajectory server.
pi install npm:pi-extensible-workflowsQuick start
A workflow is a named inline or file-backed JavaScript script. Pi normally writes the script for the current task.
const reports = await parallel("review", {
api: () => agent("Review the API."),
tests: () => agent("Review the tests."),
});
return agent(prompt("Summarize these reports:\n\n{reports}", { reports }));Launch with a non-empty name and exactly one of script or scriptPath. Registered functions are available as globals, and JSON-compatible launch values are available through args. Runs are backgrounded by default; set foreground: true to wait for the final value.
Programmatic integration
The package exports the workflow registry, runtime, persistence, validation, settings, role, lifecycle, and local Pi session APIs used by trusted hosts and extensions.
Direct consumers of createLocalPiSession() receive a session with extensions already bound. Always await session.dispose() so session_shutdown runs before the native session is released; disposal is idempotent.
References
Development
From the repository root:
npm run build --workspace=packages/core
npm test --workspace=packages/core
npm run lint --workspace=packages/coreLicense
MIT
