diff --git a/Agents.md b/Agents.md index 16f2830..647a326 100644 --- a/Agents.md +++ b/Agents.md @@ -147,6 +147,52 @@ # Reset to before the conflict # Or stash conflicting changes git stash push -m "conflicting-agent-work-$(date +%s)" ``` + +## Solo + Copilot Workflow (Konflikte vermeiden) + +Wenn du alleine arbeitest (du + Copilot), sind große Konflikt-Stürme fast immer „Branch drift“: `dev` bewegt sich weiter, das Feature hängt hinterher. Diese Regeln halten Feature-Branches mergebar. + +### Regel 1: Vor jeder Troubleshooting-Änderung zuerst `dev` ins Feature holen + +Bevor du einen kleinen Fix auf einem Feature-Branch machst (z.B. `config/`, `tests/`, shared Services), synchronisiere: + +```bash +git fetch origin +git checkout feat/- +git merge origin/dev +``` + +### Regel 2: Kurzlebige „Session Branches“ auch im Solo-Setup + +Auch wenn du alleine bist: nutze Session-Branches für gezielte Fixes, damit du jederzeit sauber abbrechen kannst. + +```bash +git checkout feat/- +git checkout -b $(git branch --show-current)-session-$(date +%s) +``` + +Danach wie gewohnt committen, testen, zurück-merge: + +```bash +SESSION_BRANCH=$(git branch --show-current) +ORIGINAL_BRANCH=$(git branch --show-current | sed 's/-session-[0-9]*$//') +git checkout $ORIGINAL_BRANCH +git merge $SESSION_BRANCH --no-ff -m "merge: agent session work" +``` + +### Regel 3: „Globale“ Fixes als Mini-PR nach `dev` + +Wenn ein Fix nicht wirklich feature-spezifisch ist (z.B. `config/graph_contracts.php`, Test-Bootstrap, allgemeine Graph-Validation), dann: + +- Mini-Branch von `dev` erstellen und PR → `dev` mergen. +- Danach im Feature-Branch einfach wieder `origin/dev` mergen. + +Das reduziert Add/Add-Konflikte drastisch, weil `dev` die gemeinsame Wahrheit bleibt. + +### Regel 4: Kein Rebase auf geteilten Branches + +Wenn du und Copilot über längere Zeit auf demselben Feature-Branch arbeiten, bleib bei `merge origin/dev` (kein Rebase), damit die Historie stabil bleibt. + ## Architecture Assumptions - Backend: Laravel (latest stable) - Admin UI: Filament