| name | upgrade-packages |
| description | Upgrade all dependencies/packages to their latest versions for the detected language(s). Use when the user says "upgrade packages", "update dependencies", "bump versions", "update packages", or "upgrade deps". |
| argument-hint | [--check-only] [--major] [package-name] |
Upgrade Packages
Upgrade all project dependencies to their latest compatible (or latest major, if --major) versions.
Arguments
--check-only — List outdated packages without upgrading. Stop after Step 2.
--major — Include major version bumps (breaking changes). Without this flag, stay within semver-compatible ranges.
- Any other argument is treated as a specific package name to upgrade (instead of all packages).
Step 1 — Detect language and package manager
Inspect the repo root and subdirectories for manifest files. Identify ALL that apply:
| Manifest file | Language | Package manager |
|---|
package.json | Node.js / TypeScript | npm (lockfile is package-lock.json) |
pubspec.yaml | Dart | pub |
This repo has multiple package.json files — one in too-many-cooks/ (MCP server monorepo with packages/core + packages/too-many-cooks), one in too_many_cooks_vscode_extension/ (VS Code extension), and one in (Eleventy site) — plus (Dart toolkit). Process each manifest independently. Note the monorepo under uses npm workspaces, so run npm commands from .