Skip to content
Latchkey

How to Manage Cross-Repo Dependency Updates With Renovate

A shared Renovate preset in one repo lets every other repo extend the same update policy, keeping dependency PRs consistent across a polyrepo.

Publish a base config in a central repo, then each repo extends it in renovate.json. Renovate opens update PRs everywhere using one set of rules you maintain in a single place.

Steps

  • Create a shared preset (for example renovate-config/default.json) in a central repo.
  • In each repo, add renovate.json that extends the shared preset.
  • Override only the repo-specific bits locally.

Shared preset

default.json
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["config:recommended"],
  "schedule": ["before 6am on monday"],
  "packageRules": [
    { "matchUpdateTypes": ["minor", "patch"], "automerge": true }
  ]
}

Per-repo config extending it

renovate.json
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["local>my-org/renovate-config"]
}

Gotchas

  • A change to the shared preset affects every repo that extends it, so version or review preset changes.
  • Group internal packages with packageRules so related bumps land in one PR per repo.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →