CommunityCodierung & Entwicklunggithub.com

Eine Abhängigkeit sicher aktualisieren

Aktualisiere eine Abhängigkeit nach der anderen, indem du das Changelog liest, Änderungen planst, den Code anpasst und sicherstellst, dass das Projekt weiterhin baut und die Tests besteht. Verwende dies, wenn du aufgefordert wirst, ein Paket oder Framework zu aktualisieren oder zu migrieren.

Was ist Eine Abhängigkeit sicher aktualisieren?

Diese Fähigkeit definiert einen strukturierten, risikominimierten Workflow für die Aktualisierung einzelner Abhängigkeiten in einem Softwareprojekt. Sie stellt sicher, dass Brüche verstanden werden, bevor sie auftreten, und nicht erst danach entdeckt werden. Der Prozess umfasst die genaue Erfassung des aktuellen und Ziel-Zustands, das Aufzeichnen einer Basislinie (Build, Tests, Linting, Typprüfung), das Lesen der offiziellen Release-Notes und Änderungsprotokolle, die Analyse der Codebasis auf betroffene APIs und die schrittweise, isolierte Änderung. Die Fähigkeit unterstützt gängige Paketmanager wie npm, pip oder cargo und legt Wert darauf, keine pauschalen Updates durchzuführen, sondern nur die spezifische Abhängigkeit zu aktualisieren. Abschließend wird ein detaillierter Bericht erstellt, der die durchgeführten Änderungen, die Überprüfung und etwaige Warnungen oder Folgemaßnahmen dokumentiert. Sie ist besonders nützlich für Entwickler, die in AI-gestützten Coding-Umgebungen wie Claude Code, Cursor oder Codex arbeiten und eine zuverlässige, nachvollziehbare Methode zur Abhängigkeitsaktualisierung benötigen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/agentkitco/agentkit-dev-skills/tree/HEAD/skills/dependency-upgrade

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Eine Abhängigkeit sicher aktualisieren?

Ziel: Eine Abhängigkeit (oder eine eng gekoppelte Gruppe) auf eine neuere Version verschieben, wobei die Brüche im Voraus verstanden werden und nicht erst danach entdeckt werden.

Plan

  1. Aktuellen Zustand bestimmen. Finde die installierte Version (Sperrdatei, nicht nur die Manifestdatei) und die Zielversion. Falls der Benutzer "neueste" gesagt hat, suche sie mit dem Paketmanager (npm view <pkg> version, pip index versions <pkg>, cargo search usw.) und gib die Nummer an.
  2. Basislinie aufzeichnen auf einem sauberen Arbeitsstand: installieren, bauen, Tests, Lint, Typprüfung. Notiere etwaige bereits bestehende Fehler, damit du sie nicht der Aktualisierung anlastest.
  3. Die echten Release-Notes lesen. Öffne das Changelog, die Release-Notes oder die Migrationsanleitung für jede Version zwischen der aktuellen und der Zielversion. Extrahiere: Breaking Changes, entfernte oder umbenannte APIs, neue Mindestlaufzeitversionen, geänderte Standardwerte, Veraltungen. Zitiere den Quelllink für jeden Punkt. Wenn du keine Release-Notes finden kannst, sage dies und behandle die Aktualisierung als höheres Risiko.
  4. Auswirkungen kartieren. Durchsuche die Codebasis mit rg nach jeder entfernten, umbenannten oder geänderten API. Liste die betroffenen Dateien vor der Bearbeitung auf.

Ausführen

  • Aktualisiere nur diese Abhängigkeit (und erforderliche Peers). Führe keine pauschale "alle aktualisieren"-Aktion aus.
  • Aktualisiere die Manifestdatei und die Sperrdatei mit dem Paketmanager des Projekts, nicht von Hand.
  • Nimm die Codeänderungen vor, die die Notizen erfordern, beginnend mit den kleinsten. Ersetze veraltete Verwendungen, wenn die neue Form äquivalent ist.
  • Führe Install, Build, Tests, Lint und Typprüfung erneut aus. Vergleiche mit der Basislinie.
  • Bei Hauptversionen führe, falls möglich, auch die Anwendung oder den Hauptbeispielpfad aus und überprüfe die Bundlegröße, Startwarnungen und Veraltungswarnungen.
  • Wenn die Aktualisierung eine Erhöhung der Mindestlaufzeit oder der Peerversion erfordert, halte an und frage, bevor du sie änderst.

Bericht

Aktualisierung: <pkg> <von> -> <nach>
Quellen: <Changelog-Links>
Angewandte Breaking Changes: <Liste mit Dateiverweisen>
Durchgeführte Änderungen: <Zusammenfassung>
Überprüfung: <Befehle, Basislinie vs. danach>
Warnungen oder Folgemaßnahmen: <Veraltungen, übersprungene Elemente, Risiken>
Rollback: setze <Dateien> zurück oder `git revert <Commit>`

Regeln

  • Aktualisiere und refaktoriere niemals in derselben Änderung.
  • Überspringe niemals einen fehlschlagenden Test oder lockere einen Versionsbereich, um ein Problem zu verstecken.
  • Sicherheitskorrekturen: Gib an, welches Advisory die Aktualisierung nur dann adressiert, wenn du es in einem offiziellen Advisory oder den Release-Notes gesehen hast.
  • Wenn eine transitive Abhängigkeit einen Konflikt erzwingt, zeige die Konfliktausgabe und schlage Optionen vor, anstatt blind zu überschreiben.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Verwandte Skills