Renovate
Overview
Renovate is an automated dependency update tool that scans repositories for dependency files across 50+ ecosystems (npm, pip, Docker, Go, Rust, Terraform, GitHub Actions) and creates pull requests with changelogs, release notes, and configurable automerge policies. It supports grouping, scheduling, and per-package rules to keep dependencies current without overwhelming teams.
Instructions
- When setting up Renovate, start with
config:recommended which provides sensible defaults for grouping, scheduling, and automerge, then add renovate.json to the repo root.
- When configuring automerge, enable it for low-risk updates (
@types/*, devDependencies patches) and disable it for major updates, using platformAutomerge for GitHub's native merge feature.
- When reducing PR noise, use
group:allNonMajor for a single weekly PR covering all minor and patch updates, and group monorepo packages (React, Angular, Babel) together.
- When setting schedules, configure update windows for low-traffic times (e.g.,
["after 9am and before 5pm every weekday"]) to avoid disrupting developers.
- When defining package rules, use
matchPackageNames, matchPackagePatterns, and matchUpdateTypes to set per-package automerge, grouping, and version strategies.
- When handling version strategies, pin exact versions in applications for reproducibility and use ranges in libraries for compatibility.
Examples
Example 1: Configure Renovate for a production monorepo
User request: "Set up Renovate with automerge for safe updates and weekly batching"
Actions:
- Create
renovate.json extending config:recommended and schedule:weekly
- Add package rules to automerge
@types/* and devDependency patches
- Group React, Next.js, and testing library packages into single PRs
- Enable the dashboard issue for an overview of all pending updates
Output: A Renovate configuration that automerges safe updates, batches non-major changes weekly, and groups related packages.
Example 2: Manage Docker and Terraform dependency updates
User request: "Keep Docker base images and Terraform provider versions up to date"
Actions:
- Configure Renovate to scan Dockerfiles and
.tf files
- Set
matchDatasources: ["docker"] with automerge: false for base image updates
- Group Terraform providers by cloud provider (AWS, GCP, Azure)
- Enable vulnerability alerts to prioritize updates that fix known CVEs
Output: Automated PRs for Docker and Terraform dependency updates with grouped providers and security prioritization.
Guidelines
- Start with
config:recommended since it handles grouping, scheduling, and automerge sensibly.
- Automerge
@types/* and devDependencies patches since they are low-risk and high-volume.
- Group monorepo packages (React, Vue, Angular, Babel, Jest) into single PRs to reduce noise.
- Schedule updates for low-traffic times to avoid disrupting developers during peak hours.
- Pin exact versions in applications and use ranges in libraries.
- Review major updates manually since breaking changes require human judgment.
1---2name: renovate3description: Renovate4---5# Renovate67## Overview89Renovate is an automated dependency update tool that scans repositories for dependency files across 50+ ecosystems (npm, pip, Docker, Go, Rust, Terraform, GitHub Actions) and creates pull requests with changelogs, release notes, and configurable automerge policies. It supports grouping, scheduling, and per-package rules to keep dependencies current without overwhelming teams.1011## Instructions1213- When setting up Renovate, start with `config:recommended` which provides sensible defaults for grouping, scheduling, and automerge, then add `renovate.json` to the repo root.14- When configuring automerge, enable it for low-risk updates (`@types/*`, devDependencies patches) and disable it for major updates, using `platformAutomerge` for GitHub's native merge feature.15- When reducing PR noise, use `group:allNonMajor` for a single weekly PR covering all minor and patch updates, and group monorepo packages (React, Angular, Babel) together.16- When setting schedules, configure update windows for low-traffic times (e.g., `["after 9am and before 5pm every weekday"]`) to avoid disrupting developers.17- When defining package rules, use `matchPackageNames`, `matchPackagePatterns`, and `matchUpdateTypes` to set per-package automerge, grouping, and version strategies.18- When handling version strategies, pin exact versions in applications for reproducibility and use ranges in libraries for compatibility.1920## Examples2122### Example 1: Configure Renovate for a production monorepo2324**User request:** "Set up Renovate with automerge for safe updates and weekly batching"2526**Actions:**271. Create `renovate.json` extending `config:recommended` and `schedule:weekly`282. Add package rules to automerge `@types/*` and devDependency patches293. Group React, Next.js, and testing library packages into single PRs304. Enable the dashboard issue for an overview of all pending updates3132**Output:** A Renovate configuration that automerges safe updates, batches non-major changes weekly, and groups related packages.3334### Example 2: Manage Docker and Terraform dependency updates3536**User request:** "Keep Docker base images and Terraform provider versions up to date"3738**Actions:**391. Configure Renovate to scan Dockerfiles and `.tf` files402. Set `matchDatasources: ["docker"]` with `automerge: false` for base image updates413. Group Terraform providers by cloud provider (AWS, GCP, Azure)424. Enable vulnerability alerts to prioritize updates that fix known CVEs4344**Output:** Automated PRs for Docker and Terraform dependency updates with grouped providers and security prioritization.4546## Guidelines4748- Start with `config:recommended` since it handles grouping, scheduling, and automerge sensibly.49- Automerge `@types/*` and devDependencies patches since they are low-risk and high-volume.50- Group monorepo packages (React, Vue, Angular, Babel, Jest) into single PRs to reduce noise.51- Schedule updates for low-traffic times to avoid disrupting developers during peak hours.52- Pin exact versions in applications and use ranges in libraries.53- Review major updates manually since breaking changes require human judgment.