`releaser` reads `.releaser.yml` from the repository root. All fields are optional — missing values fall back to the defaults shown below. Run `releaser --init` to scaffold the file with annotations.
## Full reference
```yaml
git:
tag_prefix:""# default: no prefix; "v" for v1.2.3 style
branch_pattern:"^(?:.*/)?release/(\\d+)\\.(\\d+)$"# two capture groups: major, minor
Run `releaser --verbose --dry-run` to see every config key, its resolved value, and where it came from (`default` / `config file` / `env: VARNAME` / `flag: --name`).
## `git.releasable_types`
By default `fix`, `feat`, and `breaking` commits all trigger a release. Use `releasable_types` to restrict this — for example, on a maintenance branch where you want only bug fixes to release:
```yaml
git:
releasable_types:
- fix
```
## `git.bump_rules`
By default every releasable commit bumps the **patch** component. The `bump_rules` map lets you promote specific types to bump **minor** instead. This is useful on a branch that manages its own minor versioning:
```yaml
git:
bump_rules:
feat:"minor"# feat: commits bump minor, not patch
breaking:"minor"# breaking changes bump minor too
fix:"patch"# fix: stays patch (this is the default)
```
## Multi-module Maven
`pom_paths` accepts a list and overrides `pom_path`. All listed files are updated and committed in the same release commit:
```yaml
maven:
pom_paths:
- "pom.xml"
- "module-a/pom.xml"
- "module-b/pom.xml"
```
The `--pom` CLI flag sets a single path and clears `pom_paths`.
## Node.js support
The `node` section is opt-in — if omitted, no `package.json` is touched. Use `package_jsons` for monorepos:
The `gradle` section is opt-in — if omitted, no build file is touched. Both Groovy DSL (`version = '1.2.3'`) and Kotlin DSL (`version = "1.2.3"`) are supported; the original quote style is preserved on write.
```yaml
gradle:
build_file:"build.gradle"
```
Use `build_files` for multi-module projects:
```yaml
gradle:
build_files:
- "build.gradle"
- "module-a/build.gradle"
- "module-b/build.gradle"
```
The `--gradle <path>` CLI flag sets a single build file path and clears `build_files`.