[PR #22] [MERGED] feat: add adapters for Codex CLI, Copilot CLI, Cline, and Windsurf #22

Closed
opened 2026-08-10 19:08:46 +02:00 by zaph0d · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/niels-emmer/myace/pull/22
Author: @niels-emmer
Created: 8/9/2026
Status: Merged
Merged: 8/9/2026
Merged by: @niels-emmer

Base: mainHead: feat/agent-adapters


📝 Commits (1)

  • 594f1bc feat: add adapters for Codex CLI, Copilot CLI, Cline, and Windsurf

📊 Changes

6 files changed (+537 additions, -0 deletions)

View changed files

📝 backend/app/adapters/__init__.py (+8 -0)
backend/app/adapters/cline.py (+60 -0)
backend/app/adapters/codex_cli.py (+85 -0)
backend/app/adapters/copilot_cli.py (+72 -0)
backend/app/adapters/windsurf.py (+58 -0)
📝 backend/tests/test_adapters.py (+254 -0)

📄 Description

Summary

Adds four new target adapters that translate Canonical IR artifacts into each tool's native configuration format, expanding the supported targets from 3 (Claude Code, OpenCode, Cursor) to 7.

New adapters

Adapter Rules Skills Agents Model Config
Codex CLI AGENTS.md (## sections) .agents/skills/<name>/SKILL.md .agents/agents/<name>.md .codex/config.toml
Copilot CLI .github/copilot-instructions.md .github/instructions/<name>.instructions.md (YAML frontmatter + applyTo globs) .github/instructions/agent-<name>.instructions.md N/A
Cline .clinerules/<name>.md (YAML frontmatter) .clinerules/skill-<name>.md .clinerules/agent-<name>.md N/A
Windsurf .windsurf/rules/<name>.md (YAML frontmatter + trigger modes) .windsurf/rules/skill-<name>.md .windsurf/rules/agent-<name>.md N/A

Key design decisions

  • No new dependencies — the Codex CLI adapter renders TOML manually rather than pulling in a toml package
  • Trigger modes (Windsurf): priority ≥80 → always_on, ≥50 → model_decision, <50 → manual
  • Zero changes to compiler/API — all adapters auto-register via the existing dynamic get_adapter()/list_adapters() pattern

Testing

All 51 tests pass (38 existing + 13 new adapter tests).


🔄 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/22 **Author:** [@niels-emmer](https://github.com/niels-emmer) **Created:** 8/9/2026 **Status:** ✅ Merged **Merged:** 8/9/2026 **Merged by:** [@niels-emmer](https://github.com/niels-emmer) **Base:** `main` ← **Head:** `feat/agent-adapters` --- ### 📝 Commits (1) - [`594f1bc`](https://github.com/niels-emmer/myace/commit/594f1bcebfa7304d671c2671dca652351529a334) feat: add adapters for Codex CLI, Copilot CLI, Cline, and Windsurf ### 📊 Changes **6 files changed** (+537 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `backend/app/adapters/__init__.py` (+8 -0) ➕ `backend/app/adapters/cline.py` (+60 -0) ➕ `backend/app/adapters/codex_cli.py` (+85 -0) ➕ `backend/app/adapters/copilot_cli.py` (+72 -0) ➕ `backend/app/adapters/windsurf.py` (+58 -0) 📝 `backend/tests/test_adapters.py` (+254 -0) </details> ### 📄 Description ## Summary Adds four new target adapters that translate Canonical IR artifacts into each tool's native configuration format, expanding the supported targets from 3 (Claude Code, OpenCode, Cursor) to 7. ## New adapters | Adapter | Rules | Skills | Agents | Model Config | |---------|-------|--------|--------|-------------| | **Codex CLI** | `AGENTS.md` (## sections) | `.agents/skills/<name>/SKILL.md` | `.agents/agents/<name>.md` | `.codex/config.toml` | | **Copilot CLI** | `.github/copilot-instructions.md` | `.github/instructions/<name>.instructions.md` (YAML frontmatter + `applyTo` globs) | `.github/instructions/agent-<name>.instructions.md` | N/A | | **Cline** | `.clinerules/<name>.md` (YAML frontmatter) | `.clinerules/skill-<name>.md` | `.clinerules/agent-<name>.md` | N/A | | **Windsurf** | `.windsurf/rules/<name>.md` (YAML frontmatter + trigger modes) | `.windsurf/rules/skill-<name>.md` | `.windsurf/rules/agent-<name>.md` | N/A | ## Key design decisions - **No new dependencies** — the Codex CLI adapter renders TOML manually rather than pulling in a `toml` package - **Trigger modes** (Windsurf): priority ≥80 → `always_on`, ≥50 → `model_decision`, <50 → `manual` - **Zero changes to compiler/API** — all adapters auto-register via the existing dynamic `get_adapter()`/`list_adapters()` pattern ## Testing All 51 tests pass (38 existing + 13 new adapter tests). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
zaph0d 2026-08-10 19:08:46 +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#22
No description provided.