# Agent Harness ## KI-Tool-unabhängige Steering-Instructions Dieses Repository definiert **wie** ein KI-Agent arbeiten soll – unabhängig davon **welches** Tool ihn antreibt. ### Warum? | Eigenschaft | Vorteil | |-------------|---------| | **Kein Vendor-Lock** | Funktioniert mit OpenCode, Kiro CLI, Claude Code, Copilot, Cursor – jedes Tool das Markdown lesen kann | | **Menschenlesbar** | Jeder Entwickler kann die Instructions lesen, verstehen und korrigieren | | **Versioniert** | Git-History zeigt wer was wann geändert hat | | **Reviewbar** | Änderungen gehen über MR mit Code-Review | | **Teilbar** | Teams können den Harness forken und für ihren Kontext anpassen | | **Kein proprietäres Format** | Keine .cursorrules, keine Kiro-Skills, kein CLAUDE.md – nur Markdown | ### Prinzip Der Agent ist austauschbar. Die Standards bleiben. ## Inhalt - **workflow.md** – Git-Workflow, Branching, Repo-Erstellung - **tools.md** – Verfügbare CLI-Tools - **testing.md** – Unit/Integration/E2E Tests, Testcontainers, Playwright - **planning.md** – GitLab Issues, Responsible Vibe Workflow - **documentation.md** – Arc42 (12 Kapitel), ADRs, Mermaid C4 - **code-review.md** – Self-Review mit GitLab Discussions - **merge-request.md** – MR-Standards, Conventional Commits - **quality-gates.md** – Linter, Trivy, gitleaks, Renovate - **requirements-review.md** – Anforderungen prüfen, Fragen stellen - **git-setup.md** – Branching, Jira-Referenz, Commit-Prefix - **self-review.md** – Pipeline-Überwachung, Fortschritt - **autonomous-mode.md** – Autonomer Modus, Entscheidungshilfen - **clean-code.md** – Architektur, Clean Code, Observability - **session-notes.md** – Arbeitsprotokoll - **project-setup.md** – Pflichtdateien, Repo-Struktur - **mcp.json** – MCP-Server-Config mit Env-Platzhaltern ## Anpassung für ein ART Dieses Repo ist ein **generisches Template**. Jedes ART forkt es und ergänzt: 1. ART-spezifische Dateien (z.B. `pipeline.md`, `infrastructure.md`, `coding-standards.md`) 2. Platzhalter durch eigene Werte ersetzen 3. MCP-Server in `mcp.json` ergänzen (z.B. Rollout-Tool, ART-spezifische APIs) ### Platzhalter | Platzhalter | Beschreibung | Beispiel | |-------------|-------------|----------| | `${ART_NAME}` | Name des ART (GitLab-Gruppe, Namespace-Prefix) | `apn`, `o2c`, `netz` | | `${JIRA_PREFIX}` | Jira-Projekt-Key für Branch-/Commit-Referenzen | `O2CAAPN`, `O2CO2C` | | `${CONTACT_EMAIL}` | Team-Kontakt-E-Mail für `scm-info.yaml` | `mein-art@deutschebahn.com` | ## Verwendung Als Steering-Repo über x-Header an den Orchestrator übergeben: ``` x-steering-repo: https://git.tech.rz.db.de/${ART_NAME}/playground/agent-harness.git ``` Der Agent klont das Repo und lädt alle .md-Dateien als Instructions.