feat(pi): first-class support via pi-subagents + pi-ask-user (#651)
Some checks failed
CI / pr-title (push) Has been cancelled
CI / test (push) Has been cancelled
Release PR / release-pr (push) Has been cancelled
Release PR / publish-cli (push) Has been cancelled

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Trevin Chow
2026-04-22 10:26:29 -07:00
committed by GitHub
parent cce95fb814
commit 7ddfbed33b
53 changed files with 371 additions and 636 deletions

View File

@@ -1680,8 +1680,14 @@ describe("CLI", () => {
expect(stdout).toContain("Converted compound-engineering")
expect(stdout).toContain(piRoot)
expect(await exists(path.join(piRoot, "prompts", "workflows-review.md"))).toBe(true)
expect(await exists(path.join(piRoot, "skills", "repo-research-analyst", "SKILL.md"))).toBe(true)
expect(await exists(path.join(piRoot, "extensions", "compound-engineering-compat.ts"))).toBe(true)
// Claude agents now install at .pi/agents/<name>.md (Pi agent format) so
// nicobailon/pi-subagents can resolve them via the `subagent` tool.
expect(await exists(path.join(piRoot, "agents", "repo-research-analyst.md"))).toBe(true)
// Pi installs no longer ship a plugin-authored compat extension; users install
// community pi-subagents + pi-ask-user extensions directly in Pi. MCP servers
// declared in plugin.json are still translated to mcporter.json so plugins
// with MCP wiring keep their backends after conversion.
expect(await exists(path.join(piRoot, "extensions", "compound-engineering-compat.ts"))).toBe(false)
expect(await exists(path.join(piRoot, "compound-engineering", "mcporter.json"))).toBe(true)
})
@@ -1721,7 +1727,7 @@ describe("CLI", () => {
expect(stdout).toContain("Installed compound-engineering")
expect(stdout).toContain(piRoot)
expect(await exists(path.join(piRoot, "prompts", "workflows-review.md"))).toBe(true)
expect(await exists(path.join(piRoot, "extensions", "compound-engineering-compat.ts"))).toBe(true)
expect(await exists(path.join(piRoot, "extensions", "compound-engineering-compat.ts"))).toBe(false)
})
test("install --to opencode uses permissions:none by default", async () => {