Wenn ein Projekt-Verzeichnis kein eigenes .git hat aber in einem
übergeordneten Repo liegt (z.B. ~/Python_Programs/* im Home-Repo),
würde git add -A das gesamte Home-Verzeichnis scannen — inkl.
HuggingFace-Modelle und Podman-Overlays → Minuten-lange Hänger.
Lösung: ensureLocalGitRepo() prüft am Anfang aller Coding-Kommandos
(/coder, /optimize, /fix, /patch) ob ctx.cwd ein eigenes .git hat.
Falls nicht: git init + .gitignore + initialer Commit — mit Warnung.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
selectRole() sichert jetzt ctx.model vor dem ersten Wechsel auf coding_model.
deselectRole() stellt es danach wieder her — alle 10 Kommando-Exits
(/coder, /judge, /fix, /shipit, /patch, /quick_check, /plan, /continue,
/optimize finally, runUpdateDoku) rufen deselectRole(pi) statt
currentRole = "idle" auf.
Damit bleibt das OpenRouter-Modell des Nutzers aktiv für freien Chat
(Wetter, Recherchen etc.), während Coding-Kommandos weiterhin explizit
coding_model via selectRole() setzen.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
currentRole erhält dritten Zustand "idle" (Initialwert + Reset nach jedem Kommando).
Der Hook injiziert nur noch eine Persona wenn currentRole "coder" oder "judge" ist —
im freien Chat bleibt der System-Prompt unverändert, sodass andere Extensions
(z. B. research-web.ts) nicht durch die Coding-Persona gestört werden.
Alle Kommando-Handler (/coder, /judge, /fix, /shipit, /optimize, /patch,
/quick_check, /plan, /continue) und runUpdateDoku setzen currentRole am
Ende auf "idle" zurück.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Name beschreibt den Zweck (Coding-Extension für pi agent), nicht die
interne Coder/Judge-Implementierung. Alle Referenzen in deploy-pi-config.sh,
README, Tests und Helpers aktualisiert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 06:01:46 +02:00
Renamed from pi-coder-judge-extension.ts (Browse further)