mirror of
https://github.com/niels-emmer/myace.git
synced 2026-09-14 07:36:39 +02:00
[PR #120] [MERGED] feat: add pi.dev (Pi Coding Agent) adapter #120
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
github-mirrors/myace#120
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/niels-emmer/myace/pull/120
Author: @niels-emmer
Created: 8/17/2026
Status: ✅ Merged
Merged: 8/17/2026
Merged by: @niels-emmer
Base:
main← Head:feat/pi-dev-adapter📝 Commits (1)
7f8d5b0feat: add pi.dev (Pi Coding Agent) adapter📊 Changes
8 files changed (+301 additions, -14 deletions)
View changed files
📝
README.md(+3 -2)📝
backend/app/adapters/__init__.py(+2 -0)➕
backend/app/adapters/pi_dev.py(+124 -0)📝
backend/app/models/profile.py(+1 -1)📝
backend/tests/test_adapters.py(+125 -0)📝
cli/myace_cli/audit.py(+5 -4)📝
docs/adapters-research.md(+39 -5)📝
docs/architecture.md(+2 -2)📄 Description
Summary
PiDevAdapter(backend/app/adapters/pi_dev.py), registers it, and addspi-devtoProfileCompileRequest'sCompileTargetLiteral — following the checklist indocs/extending.md(written with pi.dev as the worked example) and step 2's warning about the silent-422 bug that's shipped for four other adapters before./docs/latest/usage,/skills,/prompt-templates,/settings) rather than guessing:rule→AGENTS.mdsections (Pi readsAGENTS.md/CLAUDE.mdhierarchically, same mechanism as OpenCode/Goose)skill→.pi/skills/<name>/SKILL.md(real skills system, same frontmatter shape as OpenCode's)workflow→.pi/prompts/<name>.md(Pi's real slash-command "prompt templates" mechanism)agent→ also folds intoAGENTS.md(Pi has no documented subagent concept — no "agents" page anywhere in the docs nav)model_config(model:*) → merges into.pi/settings.json'sdefaultProvider/defaultModel/enabledModelsmodel_config(mcp:*) → deliberately skipped:pi.dev/docs/latest/mcp404s, and the only MCP config shape I could find (~/.pi/agent/mcp.jsonwith amcpServersobject) comes from third-party sources, not primary docs. Flagged as a follow-up in the adapter's docstring anddocs/adapters-research.md, not fabricated.TestPiDevAdapter(8 tests) tobackend/tests/test_adapters.py, covering every artifact type the adapter handles specially.README.md,docs/architecture.md,docs/adapters-research.md(moves pi.dev from "unbuilt candidates" to a full verified entry), andcli/myace_cli/audit.py's hand-maintainedADAPTER_EXPECTED_PATHSmirror (rule 35).Closes #90.
Test plan
pytest backend/tests/test_adapters.py -q— 58 passed (50 existing + 8 new)pytest(full backend suite) — 338 passedpytest(full CLI suite) — 81 passedruff check .— all checks passedmypy app— zero new errors introduced by this change (pre-existing errors incollections.py/auth.py/admin.py/opencode.pyconfirmed present onmainbefore this branch, unrelated to this PR)🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.