|

Agentic Orchestration Teil 3: Major Upgrades meistern

In Teil 2 hat unsere Pipeline Minor- und Patch-Updates mit dem Befehl /orchestrate dependency-updates erfolgreich bewältigt. Aber Major Version Bumps sind ein ganz anderes Kaliber. Sie bringen Breaking Changes, modifizierte APIs und neue architektonische Paradigmen mit sich.

Dafür holen wir die schweren Geschütze heraus: /orchestrate major-upgrade <repo>.

Die major-upgrade Pipeline

Der in unserer Datei ~/.claude/commands/orchestrate.md definierte Workflow sieht so aus:

planner -> major-upgrader -> pr-creator (loop: one PR per upgrade group)

Der Unterschied hier ist die Schleife (Loop). Schauen wir uns das genauer an.

1. Der Planner Agent

Der planner führt npx npm-check-updates --target latest aus, um alle verfügbaren Major Updates zu finden. Seine wichtigste Aufgabe ist das Gruppieren zusammengehöriger Pakete nach Ökosystem (z. B. alle @nestjs/*- oder @angular/*-Pakete).

Er erstellt eine .claude/upgrade-plan.md-Datei und übergibt die geordnete Liste der Gruppen an den major-upgrader.

2. Der Major Upgrader Agent (Die Schleife)

Der major-upgrader aktualisiert nicht nur Versionen; er führt eine strikte 7-Schritte-Schleife für jede Gruppe im Plan aus:

  1. Branch erstellen: Checkt einen neuen Branch aus chore/upgrade-<group>-v<N>.
  2. Dokus lesen (Zwingend): Er fragt aktiv die GitHub-API ab, um die neueste CHANGELOG.md oder Migrationsleitfäden abzurufen, bevor er Code berührt.
  3. Gruppe aktualisieren: Führt pnpm add package1 package2 gleichzeitig aus.
  4. Code-Anpassung: Modifiziert den Repository-Code, um Breaking Changes basierend auf dem Migrationsleitfaden zu beheben.
  5. Validierungstor: Führt test -> format -> lint -> build aus.
  6. Iterative Fehlerbehebung: Wenn ein Schritt fehlschlägt, liest er die Compiler-Fehler und versucht bis zu 3 Mal, den Code zu reparieren.
  7. Übergabe (Handoff): Er übergibt den erfolgreichen Branch an den pr-creator.

Sobald der pr-creator das Öffnen des GitHub-PRs abgeschlossen hat, springt der major-upgrader zurück zu Schritt 1 und geht zur nächsten Ökosystem-Gruppe über.

Wahre Autonomie

Hier glänzt die agentische Architektur wirklich. Der major-upgrader-Agent agiert wie ein autonomer Ingenieur. Wenn er React Router von v5 auf v6 aktualisiert, liest er die v6-Migrationsdokus, durchsucht Ihre Codebasis nach useHistory, ersetzt es durch useNavigate und führt die Tests aus, um sicherzustellen, dass es funktioniert hat.

Aber was passiert, wenn ein Upgrade komplett fehlschlägt oder eine transitive Abhängigkeit einen unlösbaren Konflikt verursacht? In Teil 4 werden wir untersuchen, wie unser Orchestrator SemVer-Selbstkorrektur- und Rollback-Protokolle implementiert, um sicherzustellen, dass unsere CI niemals zusammenbricht.

Bleiben Sie dran und genießen Sie jeden Schritt Ihrer Coding-Reise.