Get up and running with uptool in 5 minutes!
Make sure you have uptool installed. If not, see the Installation Guide.
uptool versionNavigate to your project directory:
cd your-projectScan your project to detect supported manifest files and check for outdated dependencies:
uptool scanExample output:
Found 5 manifest files:
✅ package.json (npm)
✅ Chart.yaml (helm)
✅ main.tf (terraform)
✅ .pre-commit-config.yaml (precommit)
✅ mise.toml (mise)
Scanning for updates...
Preview what would be updated without making changes:
uptool planExample output:
Updates available:
npm (package.json):
- react: 18.2.0 → 18.3.1
- typescript: 5.0.0 → 5.4.5
terraform (main.tf):
- aws: 5.0.0 → 5.70.0
precommit (.pre-commit-config.yaml):
- golangci-lint: v1.63.4 → v2.6.2
!!! info "Dry Run"
The plan command never modifies files. It only shows what would change.
Apply the updates with a diff preview:
uptool update --diffThis will:
- Update manifest files
- Show a diff of changes
- Preserve formatting and comments
- Validate the changes
Example diff output:
--- package.json
+++ package.json
@@ -5,7 +5,7 @@
"dependencies": {
- "react": "^18.2.0",
+ "react": "^18.3.1",
- "typescript": "^5.0.0"
+ "typescript": "^5.4.5"
}
}After uptool applies the updates, review the changes:
git diffCommit the changes:
git add .
git commit --signoff -m "chore(deps): update dependencies via uptool"
git pushUpdate only specific integrations:
# Update only npm packages
uptool update --only npm
# Update everything except terraform
uptool update --exclude terraformPreview changes without applying:
uptool update --dry-runSuppress informational output (errors only):
uptool update --quietGet detailed debug output:
uptool scan --verboseCreate a uptool.yaml configuration file to customize behavior:
version: 1
integrations:
- id: npm
enabled: true
policy:
update: minor # none, patch, minor, major
allow_prerelease: false
- id: terraform
enabled: true
policy:
update: major
allow_prerelease: false
- id: helm
enabled: false # Skip Helm chartsSee the Configuration Guide for more details.
Add uptool to your CI/CD pipeline:
name: Dependency Updates
on:
schedule:
- cron: '0 0 * * 1' # Weekly on Monday
workflow_dispatch:
jobs:
update-dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run uptool
uses: santosr2/uptool@{{ extra.uptool_version }}
with:
command: update
create-pr: trueSee the GitHub Action Usage Guide for more examples.
See the [examples/](https://github.com/santosr2/uptool/blob/{{ extra.uptool_version }}/examples/) directory for sample configurations: [uptool.yaml](https://github.com/santosr2/uptool/blob/{{ extra.uptool_version }}/examples/uptool.yaml), [uptool-minimal.yaml](https://github.com/santosr2/uptool/blob/{{ extra.uptool_version }}/examples/uptool-minimal.yaml), [uptool-monorepo.yaml](https://github.com/santosr2/uptool/blob/{{ extra.uptool_version }}/examples/uptool-monorepo.yaml)
- Configuration Guide - Customize uptool behavior
- Integrations - Learn about supported ecosystems
- GitHub Action Usage - Automate dependency updates
- Plugin Development - Add custom integrations