@@ -5,14 +5,8 @@ description: Renovate's support for ESLint-like shareable configs
# Shareable Config Presets
Renovate's "config presets" are a convenient way to distribute config for reuse across multiple repositories.
It is similar in design to ESLint's shareable configs, and can be used for whole repository configs and for individual rules.
They are defined using the `extends` array within config and may also be nested.
In short:
- Browse [Renovate's default presets](https://docs.renovatebot.com/presets-default/) to find any that are useful to you
- Publish your own if you wish to reuse them across repositories
This document describes how to configure your shared presets.
Read the [Key concepts, presets](./key-concepts/presets.md) page to learn more about presets in general.
Shareable config presets can only be used with the JSON format, other formats are not supported.
...
...
@@ -25,19 +19,15 @@ Shareable config presets can only be used with the JSON format, other formats ar
!!! info
We've deprecated the use of a `renovate.json` file for presets as this can cause issues if the repository configuration uses a `renovate.json` file as well.
## Goals of Preset Configs
The main reason for supporting preset configs is to decrease duplication.
By using a preset config you:
1. Avoid duplicating the same config across all your repositories
2. Can use someone else's configuration and extend it
Renovate's configuration is self-documenting, because you can fill in the `"description"` field in all preset configs.
<!-- prettier-ignore -->
!!! tip
Describe what your preset is doing by using the `"description"` field.
This way your configuration is self-documenting.
## Implementation Approach
## Extending from a preset
In order to achieve these goals, preset configs allow for a very modular approach - preset configs can be as small as a partial package rule or as large as an entire configuration, like an ESLint config.
To use a preset put it in an `extends` array within your Renovate config.
description:Learn about Renovate configuration presets
---
This document describes Renovate configuration presets and why you should use them.
To learn how to create your own presets, how to host them, and how to extend from presets read the [Shareable Config Presets](./config-presets.md) page.
## Why you should use presets
Use presets to:
- Set up the bot with good default settings
- Reduce duplication of your configuration
- Share your configuration with others
- Use somebody else's configuration and extend it with your own rules
## Managing config for many repositories
If you manage Renovate for many repositories, then you should create a global preset configuration.
Then you extend the global preset in each repository.
This way you have all global configuration in a single file, in a single repository.
## Presets are modular
Preset configs are modular, they can be as small as a single package rule or as large as an entire configuration, just like an ESLint config.
## Built-in presets
Renovate comes with a lot of built-in presets that you can use.
Browse [Renovate's default presets](https://docs.renovatebot.com/presets-default/) to find any that are useful to you.
Once you find a preset you like, put it in an `extends` array in your config file.
## Summary
In short:
- Browse [Renovate's default presets](https://docs.renovatebot.com/presets-default/) to find any that are useful to you
- Publish your own if you wish to reuse them across repositories