WindowsmacOSLinux

Where Does release-please Store Config and Manifest?

release-please reads release-please-config.json plus a .release-please-manifest.json version tracker, both committable overrides.

Last updated

release-please splits two files. release-please-config.json maps package paths to release types and options; .release-please-manifest.json records the last released version per package. The bot reads both from the default branch tip.

That split explains the bootstrap dance: new repos commit an empty manifest plus a minimal config, then never hand-edit the manifest again. Every later version number flows from merged release PRs, not from humans.

Where release-please stores this, by platform

Windows
[RepoDir]\release-please-config.json

Per-package release types and flags. Scaffold both files with release-please bootstrap, which opens the setup as a PR instead of writing silently.

macOS
[RepoDir]/release-please-config.json

Same pair. The manifest must exist (even empty) before the first run; a missing manifest fails the run rather than starting fresh.

Linux
[RepoDir]/release-please-config.json

Same layout. bootstrap-sha bounds the first changelog sweep; remove it after the first release PR merges.

Frequently asked questions

When is hand-editing the manifest okay?

Only for bootstrapping a never-released package: add its path and starting version directly on the default branch. After the first release PR merges, hands off the manifest and stop touching it.

Can the config and manifest live outside the repo root?

Pass --config-file and --manifest-file. The GitHub Action exposes the same pair, which is how monorepos test release plumbing without committing scratch files.

Notice an outdated path? Let us know.