bump-deps
Original:🇺🇸 English
Translated
1 scripts
This skill should be used when the user asks to "update dependencies", "update npm packages", "bump dependencies", "upgrade node packages", "check for outdated packages", "update package.json", or mentions dependency updates, npm/pnpm/yarn/bun package upgrades, or taze CLI usage.
6installs
Sourcepaulrberg/agent-skills
Added on
NPX Install
npx skill4agent add paulrberg/agent-skills bump-depsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Bump Dependencies Skill
Update Node.js dependencies using taze CLI with smart prompting: auto-apply MINOR/PATCH updates, prompt for MAJOR updates individually, skip fixed-version packages.
When package names are provided as arguments (e.g. ), scope all taze commands to only those packages using .
/bump-deps react typescript--includePrerequisites
Before starting, verify taze is installed by running:
bash
scripts/run-taze.shIf exit code is 1, stop and inform the user that taze must be installed:
- Global install:
npm install -g taze - One-time:
npx taze
Update Workflow
Step 1: Scan for Updates
Run the taze script to discover available updates. The script auto-detects monorepo projects ( in package.json or ) and enables recursive mode automatically.
workspacespnpm-workspace.yamlbash
scripts/run-taze.shStep 2: Parse and Categorize Updates
From the taze output, categorize each package update:
| Category | Version Change | Action |
|---|---|---|
| Fixed | No | Skip entirely |
| PATCH | | Auto-apply |
| MINOR | | Auto-apply |
| MAJOR | | Prompt user |
If package arguments were provided, filter to only those packages.
Identifying fixed versions: In package.json, fixed versions have no range prefix:
- Fixed: → skip
"lodash": "4.17.21" - Ranged: → process
"lodash": "^4.17.21"
Step 3: Apply MINOR/PATCH Updates
Apply all non-major updates automatically without prompting:
bash
# All packages
taze minor --write
# Specific packages only (when args provided)
taze minor --write --include react,typescriptThe script auto-detects monorepo mode, but when running taze directly, detect it yourself: check for in package.json or and add if present.
workspacespnpm-workspace.yaml-rReport the packages that were updated.
Step 4: Prompt for MAJOR Updates
Auto-skip packages: Never prompt for these packages—auto-apply their major updates:
- (icon library with frequent major bumps, backward-compatible in practice)
lucide-react
For each remaining package with a major update available, use to ask the user individually:
AskUserQuestionPackage: <package-name>
Current: <current-version>
Available: <new-version>
Update to major version?Question format:
- header: Package name (max 12 chars, truncate if needed)
- options: "Yes, update" / "No, skip"
- multiSelect: false
Collect all approved major updates.
Step 5: Apply Approved MAJOR Updates
After collecting user approvals, apply the approved major updates:
bash
taze major --write --include <pkg1>,<pkg2>,<pkg3>Add if monorepo was detected.
-rStep 6: Update Bun Catalogs
After applying all updates, check the root for Bun workspace catalogs. Bun monorepos can centralize dependency versions using and fields inside the object:
package.jsoncatalogcatalogsworkspacesjson
{
"workspaces": {
"packages": ["packages/*"],
"catalog": {
"react": "^19.0.0"
},
"catalogs": {
"testing": {
"jest": "^30.0.0"
}
}
}
}Workspace packages reference these with (default catalog) or (named catalog).
"react": "catalog:""jest": "catalog:testing"Skip this step if neither nor exists in the root .
workspaces.catalogworkspaces.catalogspackage.jsonFor each package that was updated in Steps 3/5:
- Check if it appears in — if so, update the version there
workspaces.catalog - Check each named catalog in — if the package appears, update the version there
workspaces.catalogs
Preserve the existing range prefix (, , or none) from the catalog entry. For example, if the catalog has and taze bumped react to , update the catalog to .
^~"react": "^19.0.0"19.1.0"react": "^19.1.0"Use to apply the version changes directly to the root .
Editpackage.jsonStep 7: Install Dependencies
After all updates are applied, remind the user to run their package manager's install command:
bash
npm install
# or
pnpm install
# or
bun install
# or
yarn installTaze Output Interpretation
Taze displays updates grouped by type. Example output:
@types/node ^20.0.0 → ^22.0.0 (major)
typescript ^5.3.0 → ^5.4.0 (minor)
eslint ^8.56.0 → ^8.57.0 (patch)The rightmost column indicates update type (major/minor/patch).
Packages shown with that have no or are fixed versions—skip these entirely.
--include-locked^~Script Reference
| Script | Purpose |
|---|---|
| Run taze in non-interactive mode, check installation |
Important Notes
- Fixed-version dependencies (no or
^) indicate intentional pinning—never modify these~ - MAJOR updates may contain breaking changes—always prompt the user
- MINOR/PATCH updates are backward-compatible by semver convention—safe to auto-apply
- The flag accepts comma-separated package names or regex patterns
--include - Monorepo detection is automatic—no flag needed
- Bun catalogs (/
workspaces.catalog) are the source of truth for workspace packages using theworkspaces.catalogsprotocol—always update catalog entries alongside regular depscatalog: