Kontrollierte Abhängigkeitsupdates
Aktualisiert zusammengehörige Abhängigkeiten schrittweise mit notwendigen Kompatibilitätsanpassungen und erhaltenen Wiederherstellungsoptionen.
controlled-dependency-upgrades
Entdecke, wie der Skill hilftWann ist der Skill hilfreich?
Nutze dies, wenn ein Update eng begrenzt, verständlich und rückgängig machbar bleiben soll.
Wobei hilft er dir?
- Gruppiert gekoppelte Pakete und untersucht Versionsgrenzen vor Änderungen.
- Aktualisiert das vorhandene Lockfile mit dem projektspezifischen Paketmanager.
- Passt erforderliche Aufrufstellen an und hält unabhängiges Refactoring außerhalb der Änderung.
Das könntest du fragen
Aktualisiere Testläufer und passende Plugins ohne fremde Paketupdates oder Umgehung von Peer-Konflikten. Installiere aus dem neuen Lockfile und starte die betroffenen Tests. Begründe jede geänderte Abhängigkeit und notwendige Anpassungen an Plugin-APIs.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Controlled Dependency Upgrades
When to Use
Use when planning or implementing any dependency update, framework bump, SDK migration, or lockfile refresh.
Core Discipline: Separate Upgrade Mechanics from General Refactoring
- Tight Variable Control: Upgrade one logical package—or one coupled package family (
@angular/*,symfony/*,@prisma/client+prisma,vite+@vitejs/*)—at a time. Never run a blanket upgrade across unrelated dependencies. - Boundary with Structural Refactoring: Implement the exact code, type, and configuration adaptations required by the new version contract. Keep structural refactoring or feature changes out of the upgrade diff.
Step-by-Step Execution Workflow
1. Group Coupled Packages Coherently
- Identify sibling packages sharing an internal version contract:
- Core library + official plugins/adapters (
eslint+@typescript-eslint/*,vitest+@vitest/*,next+eslint-config-next,laravel/framework+ first-partylaravel/*,pydantic+pydantic-settings,tokio+tokio-util). - Runtime package + matching
@types/*package (or remove@types/<pkg>when the upgraded version ships built-in.d.tsdeclarations).
- Core library + official plugins/adapters (
- Align versions across workspace manifests in monorepos so a single upgrade does not split the internal graph.
2. Update Manifests & Regenerate Lockfile with the Native Tool
- Edit version ranges deliberately, preserving the project's convention (
^,~, exact pin, or workspace catalog). - Use the repository's exact package manager to update only the targeted subgraph:
- Never delete the entire lockfile (
rm package-lock.json/rm pnpm-lock.yaml/rm composer.lock) as a generic fix—doing so silently moves hundreds of unrelated transitive packages. - Never pass
--force,--legacy-peer-deps, or--ignore-platform-reqsto mask a conflict without diagnosing the root incompatibility.
- Never delete the entire lockfile (
3. Adapt Call Sites, Configurations, and Types
- Search the repository for all static/dynamic imports, DI tokens, config files, and CLI invocations of the upgraded package.
- Migrate removed or deprecated APIs to the upstream-recommended replacement:
- Update function signatures, option keys, async/Promise handling, error boundaries, and build/linter/ORM/CI runtime configs.
- Fix new TypeScript, PHPStan, Mypy, or Rust compiler errors properly—never suppress upgrade errors with
@ts-ignore,any,@phpstan-ignore, or# type: ignore.
4. Manage Temporary Overrides, Shims & Patches Explicitly
- When a lagging transitive dependency requires a temporary
overrides/resolutionspin or a thin compatibility adapter, keep it minimal and scoped to the specific parent package, and document the upstream blocker plus the exact removal condition (e.g., "Remove oncepkg-x >= 3.2.0ships"). - Never hand-edit
node_modules/,vendor/, or.venv/; use tracked patch tooling (pnpm patch,patch-package,composer-patches,[patch.crates-io]) when a vendor patch is unavoidable.
5. Update Tests Only for Documented Contract Changes
- Distinguish between tests failing due to an intentional upstream contract change (update test assertions/mocks to match the documented new behavior) vs. an actual application regression (fix the application integration code). Never run
--updateSnapshot(-u) without reviewing every diff line.
Enthaltene Dateien 1
SKILL.md
Über dieses Skill-Paket
controlled-dependency-upgrades
controlled-dependency-upgrades: Aktualisiert Abhängigkeiten und Frameworks mit einem klaren Kompatibilitätsplan, Migrationsschritten und Regressionsnachweisen.
Weniger anzeigen
controlled-dependency-upgrades
controlled-dependency-upgrades: Aktualisiert Abhängigkeiten und Frameworks mit einem klaren Kompatibilitätsplan, Migrationsschritten und Regressionsnachweisen.
Enthält den vollständigen Skill und seine Begleitdateien (1 Dateien). Der genaue, ursprünglich verfasste Anwendungsbereich bleibt unten erhalten.
Ursprüngliche Skill-Beschreibung (Quellsprache)
Use when executing scoped, atomic dependency version changes with the required call-site, configuration, type, and test adaptations without bundling unrelated refactors or features.
Installiere den Skill, prüfe seine Quelle und Vertrauenseinstellungen und aktiviere ihn für das passende Projekt oder den Agenten.
Voraussetzungen
- Orqestria auf deinem Computer installiert.
