[PR #120] [MERGED] feat: add pi.dev (Pi Coding Agent) adapter #120

Closed
opened 2026-08-18 07:31:08 +02:00 by zaph0d · 0 comments
Owner

📋 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: mainHead: feat/pi-dev-adapter


📝 Commits (1)

  • 7f8d5b0 feat: 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

  • Adds PiDevAdapter (backend/app/adapters/pi_dev.py), registers it, and adds pi-dev to ProfileCompileRequest's CompileTarget Literal — following the checklist in docs/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.
  • Verified against pi.dev's real docs (/docs/latest/usage, /skills, /prompt-templates, /settings) rather than guessing:
    • ruleAGENTS.md sections (Pi reads AGENTS.md/CLAUDE.md hierarchically, 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 into AGENTS.md (Pi has no documented subagent concept — no "agents" page anywhere in the docs nav)
    • model_config (model:*) → merges into .pi/settings.json's defaultProvider/defaultModel/enabledModels
    • model_config (mcp:*) → deliberately skipped: pi.dev/docs/latest/mcp 404s, and the only MCP config shape I could find (~/.pi/agent/mcp.json with a mcpServers object) comes from third-party sources, not primary docs. Flagged as a follow-up in the adapter's docstring and docs/adapters-research.md, not fabricated.
  • Adds TestPiDevAdapter (8 tests) to backend/tests/test_adapters.py, covering every artifact type the adapter handles specially.
  • Updates README.md, docs/architecture.md, docs/adapters-research.md (moves pi.dev from "unbuilt candidates" to a full verified entry), and cli/myace_cli/audit.py's hand-maintained ADAPTER_EXPECTED_PATHS mirror (rule 35).

Closes #90.

Test plan

  • pytest backend/tests/test_adapters.py -q — 58 passed (50 existing + 8 new)
  • pytest (full backend suite) — 338 passed
  • pytest (full CLI suite) — 81 passed
  • ruff check . — all checks passed
  • mypy app — zero new errors introduced by this change (pre-existing errors in collections.py/auth.py/admin.py/opencode.py confirmed present on main before 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.

## 📋 Pull Request Information **Original PR:** https://github.com/niels-emmer/myace/pull/120 **Author:** [@niels-emmer](https://github.com/niels-emmer) **Created:** 8/17/2026 **Status:** ✅ Merged **Merged:** 8/17/2026 **Merged by:** [@niels-emmer](https://github.com/niels-emmer) **Base:** `main` ← **Head:** `feat/pi-dev-adapter` --- ### 📝 Commits (1) - [`7f8d5b0`](https://github.com/niels-emmer/myace/commit/7f8d5b000653efef114872fbd7590523b9eebd51) feat: add pi.dev (Pi Coding Agent) adapter ### 📊 Changes **8 files changed** (+301 additions, -14 deletions) <details> <summary>View changed files</summary> 📝 `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) </details> ### 📄 Description ## Summary - Adds `PiDevAdapter` (`backend/app/adapters/pi_dev.py`), registers it, and adds `pi-dev` to `ProfileCompileRequest`'s `CompileTarget` Literal — following the checklist in `docs/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. - Verified against pi.dev's real docs (`/docs/latest/usage`, `/skills`, `/prompt-templates`, `/settings`) rather than guessing: - `rule` → `AGENTS.md` sections (Pi reads `AGENTS.md`/`CLAUDE.md` hierarchically, 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 into `AGENTS.md` (Pi has no documented subagent concept — no "agents" page anywhere in the docs nav) - `model_config` (`model:*`) → merges into `.pi/settings.json`'s `defaultProvider`/`defaultModel`/`enabledModels` - `model_config` (`mcp:*`) → **deliberately skipped**: `pi.dev/docs/latest/mcp` 404s, and the only MCP config shape I could find (`~/.pi/agent/mcp.json` with a `mcpServers` object) comes from third-party sources, not primary docs. Flagged as a follow-up in the adapter's docstring and `docs/adapters-research.md`, not fabricated. - Adds `TestPiDevAdapter` (8 tests) to `backend/tests/test_adapters.py`, covering every artifact type the adapter handles specially. - Updates `README.md`, `docs/architecture.md`, `docs/adapters-research.md` (moves pi.dev from "unbuilt candidates" to a full verified entry), and `cli/myace_cli/audit.py`'s hand-maintained `ADAPTER_EXPECTED_PATHS` mirror (rule 35). Closes #90. ## Test plan - [x] `pytest backend/tests/test_adapters.py -q` — 58 passed (50 existing + 8 new) - [x] `pytest` (full backend suite) — 338 passed - [x] `pytest` (full CLI suite) — 81 passed - [x] `ruff check .` — all checks passed - [x] `mypy app` — zero new errors introduced by this change (pre-existing errors in `collections.py`/`auth.py`/`admin.py`/`opencode.py` confirmed present on `main` before this branch, unrelated to this PR) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
zaph0d 2026-08-18 07:31:08 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
github-mirrors/myace#120
No description provided.