Skip to content

docs(readme): rewrite around unmodified pi + extensions (M5–M7) - #2

Merged
doodlewind merged 1 commit into
mainfrom
docs/readme-m5-m7
Jul 22, 2026
Merged

docs(readme): rewrite around unmodified pi + extensions (M5–M7)#2
doodlewind merged 1 commit into
mainfrom
docs/readme-m5-m7

Conversation

@doodlewind

Copy link
Copy Markdown
Contributor

What

The README was stale — it described the trimmed agent.bundle.js path as the main story, the old lean api.addTool plugin API, and listed M5 as "blocked on" the QuickJS linker crash. All superseded by the merged M5–M7 work (#1).

Changes

  • Leads with the real story: run the unmodified pi-coding-agent and its extensions on QuickJS, no Node/bun.
  • "Writing an extension" is now a first-class section — the default-factory format, the execute(toolCallId, input, …) → { content: [...] } tool contract, how it loads through our oxc loader (no jiti) via pi's extensionFactories seam, and an honest builtin capability matrix (real: fs/child_process/process/…; partial: crypto = FNV; stubs: http/net/tls/… — use fetch for networking).
  • Rust PiRuntime API framed as the embedding surface for downstream hosts like cat, with the two ways to run pi (trimmed core vs. full unmodified bundle) called out.
  • Status rewritten to "what works today"; build/test commands updated (including the #[ignore] bundle-gated tests).

Docs only — no code changes.

🤖 Generated with Claude Code

The README still described the trimmed agent.bundle.js path as the story, the
old lean `api.addTool` plugin API, and listed M5 as "blocked on" the QuickJS
linker crash — all superseded by the merged M5–M7 work.

Rewrites it around what shipped:
- Leads with "run the unmodified pi-coding-agent + its extensions on QuickJS".
- Makes **writing an extension** a first-class section: the default-factory
  format (registerTool/on, the execute(toolCallId, input, …) → {content:[…]}
  contract), how it's loaded through our oxc loader (no jiti) via pi's
  extensionFactories seam, and an honest builtin capability matrix (fs/
  child_process/process real; crypto=FNV partial; http/net/tls/… stubs — use
  fetch for networking).
- Frames the **Rust `PiRuntime` API** as the embedding surface for downstream
  hosts like cat, and distinguishes the two ways to run pi (trimmed core vs. the
  full unmodified bundle).
- Updates status to "what works today" and the build/test commands.

Docs only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@doodlewind
doodlewind merged commit 505480e into main Jul 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant