feat(cpm): official Microsoft APM packages as team examples
Two thin CPM wrappers around official upstream packages, each with a team-profile mapping their primitives to agent roles: - microsoft-design-review: wraps microsoft/apm-sample-package#v1.0.0 (design-standards, design-review, accessibility-audit, style-checker) -> roles: reviewer (oracle), style-checker (fixer), accessibility-auditor - microsoft-issue-autopilot: wraps microsoft/apm/packages/apm-issue-autopilot (triage-panel, shepherd-driver, pr-description-skill) + github-mcp-server -> roles: triager, shepherd, pr-writer (custom), reviewer Both validate with cpm check; README examples table added.
This commit is contained in:
parent
939599441c
commit
913be9d528
5 changed files with 177 additions and 1 deletions
|
|
@ -136,13 +136,23 @@ Alle Zusatzfelder werden 1:1 in den Agent-Eintrag des Presets übernommen.
|
||||||
3. MCPs gegen `~/.config/opencode/opencode.json(c)` abgleichen (**Warnung**, kein Abbruch)
|
3. MCPs gegen `~/.config/opencode/opencode.json(c)` abgleichen (**Warnung**, kein Abbruch)
|
||||||
4. Rollen ohne MCPs/Skills → Hinweis
|
4. Rollen ohne MCPs/Skills → Hinweis
|
||||||
|
|
||||||
## Walkthrough mit dem Beispiel-Package
|
## Beispiele
|
||||||
|
|
||||||
|
| Beispiel | Basis | Team |
|
||||||
|
|---|---|---|
|
||||||
|
| `examples/package/` | Eigenes `job-application`-Package (OpenViking + ShareLaTeX) | `acme.job-applications` – Researcher, Writer, Checker, Notifier |
|
||||||
|
| `examples/microsoft-design-review/` | Offizielles [microsoft/apm-sample-package](https://github.com/microsoft/apm-sample-package) | `acme.design-review` – Reviewer (Oracle), Style-Checker (Fixer), Accessibility-Auditor |
|
||||||
|
| `examples/microsoft-issue-autopilot/` | Offizielles [`apm-issue-autopilot`](https://github.com/microsoft/apm/tree/main/packages/apm-issue-autopilot) aus dem microsoft/apm-Repo | `acme.issue-autopilot` – Triager, Shepherd, PR-Writer, Reviewer (+ GitHub-MCP) |
|
||||||
|
|
||||||
|
Die beiden Microsoft-Beispiele sind dünne CPM-Wrapper: Das eigene `apm.yml` zieht das offizielle Package als versionierte APM-Dependency (`microsoft/apm-sample-package#v1.0.0` bzw. Monorepo-Subpath `microsoft/apm/packages/apm-issue-autopilot`) und liefert nur die Team-Empfehlung dazu.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd corentic-package-manager/examples
|
cd corentic-package-manager/examples
|
||||||
|
|
||||||
# Trockenlauf: was würde generiert?
|
# Trockenlauf: was würde generiert?
|
||||||
python3 ../cpm.py check --package package --mapping model-mapping.yaml
|
python3 ../cpm.py check --package package --mapping model-mapping.yaml
|
||||||
|
python3 ../cpm.py check --package microsoft-design-review --mapping model-mapping.yaml
|
||||||
|
python3 ../cpm.py check --package microsoft-issue-autopilot --mapping model-mapping.yaml
|
||||||
|
|
||||||
# Rendern in das Beispiel-Projekt
|
# Rendern in das Beispiel-Projekt
|
||||||
python3 ../cpm.py render --package package \
|
python3 ../cpm.py render --package package \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
# CPM-Wrapper um das offizielle Microsoft Sample-Package.
|
||||||
|
# Installiert dessen Primitives (design-standards, design-review,
|
||||||
|
# accessibility-audit, style-checker, design-reviewer) und liefert
|
||||||
|
# die Team-Empfehlung dafür.
|
||||||
|
#
|
||||||
|
# Original: https://github.com/microsoft/apm-sample-package
|
||||||
|
|
||||||
|
name: acme/design-review-cpm
|
||||||
|
version: 0.1.0
|
||||||
|
description: >
|
||||||
|
Design-Review-Team auf Basis des offiziellen microsoft/apm-sample-package:
|
||||||
|
Reviewer, Style-Checker und Accessibility-Auditor unter einem Orchestrator.
|
||||||
|
author: Tobias Endres
|
||||||
|
license: MIT
|
||||||
|
type: hybrid
|
||||||
|
targets:
|
||||||
|
- opencode
|
||||||
|
dependencies:
|
||||||
|
apm:
|
||||||
|
- microsoft/apm-sample-package#v1.0.0
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
# team-profile.yaml – Design-Review-Team
|
||||||
|
# Rollen basierend auf den Primitives aus microsoft/apm-sample-package.
|
||||||
|
|
||||||
|
schema: corentic.team-profile/v1
|
||||||
|
|
||||||
|
id: acme.design-review
|
||||||
|
description: >
|
||||||
|
Team für strukturierte Design-Reviews: Style-Guideline-Prüfung,
|
||||||
|
Design-Review nach Vorlage und Accessibility-Audit unter einem
|
||||||
|
koordinierenden Reviewer.
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- id: orchestrator
|
||||||
|
purpose: >-
|
||||||
|
Nimmt Review-Anfragen an, verteilt Style-Check, Design-Review
|
||||||
|
und Accessibility-Audit und konsolidiert die Findings zu einem Report.
|
||||||
|
model_class: strong-generalist
|
||||||
|
capabilities:
|
||||||
|
mcps: []
|
||||||
|
skills: []
|
||||||
|
|
||||||
|
- id: reviewer
|
||||||
|
purpose: >-
|
||||||
|
Führt das Design-Review gemäß der design-review.prompt.md-Vorlage durch.
|
||||||
|
Bewertet UI-Konsistenz gegen die design-standards.instructions.md.
|
||||||
|
Meldet Findings mit Schweregrad, keine eigenmächtigen Codeänderungen.
|
||||||
|
runtime_agent: oracle # tiefes Prüfen = Oracle-Profil
|
||||||
|
model_class: high-reasoning
|
||||||
|
capabilities:
|
||||||
|
mcps: []
|
||||||
|
skills: [style-checker]
|
||||||
|
|
||||||
|
- id: style-checker
|
||||||
|
purpose: >-
|
||||||
|
Prüft Code mechanisch gegen die Style-Guidelines aus dem
|
||||||
|
style-checker-Skill. Liefert Verstoßliste mit Datei/Zeile. Keine Fixes.
|
||||||
|
runtime_agent: fixer # schnelle, gezielte Prüfungen
|
||||||
|
model_class: fast-research
|
||||||
|
capabilities:
|
||||||
|
mcps: []
|
||||||
|
skills: [style-checker]
|
||||||
|
|
||||||
|
- id: accessibility-auditor
|
||||||
|
purpose: >-
|
||||||
|
Auditet die Oberfläche gemäß accessibility-audit.prompt.md.
|
||||||
|
Kategorisiert Verstöße (kritisch/warnung/hinweis) und zitiert die
|
||||||
|
betroffenen Stellen.
|
||||||
|
runtime_agent: librarian # Recherche-/Prüfprofil
|
||||||
|
model_class: fast-research
|
||||||
|
capabilities:
|
||||||
|
mcps: []
|
||||||
|
skills: []
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
# CPM-Wrapper um apm-issue-autopilot aus dem offiziellen microsoft/apm-Repo.
|
||||||
|
#
|
||||||
|
# Das Original-Paket orchestriert bereits Skills (apm-triage-panel,
|
||||||
|
# shepherd-driver, pr-description-skill) und treibt Issues bis zum
|
||||||
|
# mergebaren PR. Das Team-Profil hier bildet genau diese Phasen auf
|
||||||
|
# Agentenrollen ab.
|
||||||
|
#
|
||||||
|
# Original: https://github.com/microsoft/apm/tree/main/packages/apm-issue-autopilot
|
||||||
|
# APM unterstützt Monorepo-Subpaths, daher ist die Dependency direkt
|
||||||
|
# auf das Unterverzeichnis gerichtet.
|
||||||
|
|
||||||
|
name: acme/issue-autopilot-cpm
|
||||||
|
version: 0.1.0
|
||||||
|
description: >
|
||||||
|
Issue-Triage-Team auf Basis von microsoft/apm packages/apm-issue-autopilot:
|
||||||
|
Triage als Gate, Shepherd für den Drive-to-Merge, PR-Beschreibungen und
|
||||||
|
eine prüfende Gegenstimme. Human-in-the-loop: Escalation an den Maintainer
|
||||||
|
bei Zweifel.
|
||||||
|
author: Tobias Endres
|
||||||
|
license: MIT
|
||||||
|
type: hybrid
|
||||||
|
targets:
|
||||||
|
- opencode
|
||||||
|
dependencies:
|
||||||
|
apm:
|
||||||
|
- microsoft/apm/packages/apm-issue-autopilot
|
||||||
|
mcp:
|
||||||
|
- name: io.github.github/github-mcp-server
|
||||||
|
transport: http
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
# team-profile.yaml – Issue-Autopilot-Team
|
||||||
|
# Rollen basierend auf den Phasen des offiziellen apm-issue-autopilot-Pakets:
|
||||||
|
# Triage → Entscheidung → Drive-to-Merge → PR-Beschreibung.
|
||||||
|
|
||||||
|
schema: corentic.team-profile/v1
|
||||||
|
|
||||||
|
id: acme.issue-autopilot
|
||||||
|
description: >
|
||||||
|
Treibt GitHub-Issues vom Intake bis zum mergebaren PR: Triage-Panel
|
||||||
|
als zentrales Gate, Shepherd für jeden akzeptierten Issue,
|
||||||
|
PR-Autor mit verankerter Beschreibung. Escaliert standardmäßig beim
|
||||||
|
Maintainer im Zweifelsfall.
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- id: orchestrator
|
||||||
|
purpose: >-
|
||||||
|
Nimmt die Issue-Liste entgegen, startet pro Issue die Triage und fasst
|
||||||
|
zu EIN konsolidiertem Review zusammen. Eskaliert Zweifelfälle explizit
|
||||||
|
an den Maintainer statt selbst zu entscheiden.
|
||||||
|
model_class: strong-generalist
|
||||||
|
capabilities:
|
||||||
|
mcps: [github]
|
||||||
|
skills: []
|
||||||
|
|
||||||
|
- id: triager
|
||||||
|
purpose: >-
|
||||||
|
Führt die Triage gemäß apm-triage-panel-Rubrik durch. Bewertet
|
||||||
|
Reproduzierbarkeit, Scope, Priorität und Duplikate. Empfehlung mit
|
||||||
|
Begründung, keine direkten Fixes.
|
||||||
|
runtime_agent: oracle # Bewertungs-Gate = Reasoning-Profil
|
||||||
|
model_class: high-reasoning
|
||||||
|
capabilities:
|
||||||
|
mcps: [github]
|
||||||
|
skills: []
|
||||||
|
|
||||||
|
- id: shepherd
|
||||||
|
purpose: >-
|
||||||
|
Treibt akzeptierte Issues über shepherd-driver bis zum mergebaren PR:
|
||||||
|
Branch, Fix, Mutation-Break- und Lint-Gates, CI-Watch, Konfliktauflösung.
|
||||||
|
Hält bei rotem CI inne.
|
||||||
|
runtime_agent: fixer # Umsetzung + Korrekturen
|
||||||
|
model_class: strong-writing
|
||||||
|
capabilities:
|
||||||
|
mcps: [github]
|
||||||
|
skills: []
|
||||||
|
|
||||||
|
- id: pr-writer
|
||||||
|
purpose: >-
|
||||||
|
Verfasst die PR-Beschreibung mit pr-description-skill. Verankert sie
|
||||||
|
am Issue mit Acceptance-Kriterien und Testnachweis. Merged nie selbst.
|
||||||
|
runtime_agent: custom # eigener Custom Agent 'pr-writer'
|
||||||
|
model_class: strong-writing
|
||||||
|
capabilities:
|
||||||
|
mcps: [github]
|
||||||
|
skills: []
|
||||||
|
|
||||||
|
- id: reviewer
|
||||||
|
purpose: >-
|
||||||
|
Gegenprobe vor dem Push: prüft Fix gegen Issue-Akzeptanzkriterien
|
||||||
|
und PRINCIPLES.md-Gate. Findings blockieren den Push, kein Self-Merge.
|
||||||
|
runtime_agent: oracle
|
||||||
|
model_class: high-reasoning
|
||||||
|
capabilities:
|
||||||
|
mcps: [github]
|
||||||
|
skills: []
|
||||||
Loading…
Add table
Reference in a new issue