pi-extensible-workflows

extensionmaintained

Deterministic multi-agent workflow orchestration for Pi

by — · v5.17.0 · published 3d ago

$ pi install npm:pi-extensible-workflows
downloads/mo
4.5K
stars
234
last push
3d ago
open issues
11

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

11.1K downloads · last 12 weeks (weekly)

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.

Animated workflow: a task fans out to parallel agents, merges into review, and either completes or loops back

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-workflows

Quick 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/core

License

MIT