Configures release-please for monorepos and single-package repos. Handles manifest files, component tagging, changelog sections, and extra-files setup. Use when setting up automated releases, fixing release workflow issues, or configuring version bump automation.
View on GitHublaurigates/claude-plugins
git-plugin
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/laurigates/claude-plugins/blob/main/git-plugin/skills/release-please-configuration/SKILL.md -a claude-code --skill release-please-configurationInstallation paths:
.claude/skills/release-please-configuration/# Release-Please Configuration
Expert knowledge for configuring Google's release-please for automated releases.
## Core Files
| File | Purpose |
|------|---------|
| `release-please-config.json` | Package configuration, changelog sections, extra-files |
| `.release-please-manifest.json` | Current versions for each package |
| `.github/workflows/release-please.yml` | GitHub Actions workflow |
## Monorepo Configuration
### Critical Settings for Monorepos
```json
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"include-component-in-tag": true,
"separate-pull-requests": true,
"packages": {
"package-a": {
"component": "package-a",
"release-type": "simple",
"extra-files": ["package-a/version.json"]
}
}
}
```
**Key Fields:**
| Field | Required | Purpose |
|-------|----------|---------|
| `include-component-in-tag` | Yes (monorepo) | Creates `package-a-v1.0.0` tags instead of `v1.0.0` |
| `component` | Yes (monorepo) | Unique identifier for each package; **must be set for every package** |
| `separate-pull-requests` | Recommended | Creates per-package release PRs instead of combined |
### Common Failure: Duplicate Release Tags
**Symptom:** Workflow fails with `Duplicate release tag: v2.0.0`
**Cause:** All packages try to create the same tag (e.g., `v2.0.0`) because:
1. Missing `include-component-in-tag: true` at root level
2. Missing `component` field in each package
**Fix:**
```json
{
"include-component-in-tag": true,
"packages": {
"my-package": {
"component": "my-package", // Add this to every package
...
}
}
}
```
### Common Failure: Multiple Paths Warning
**Symptom:** `Multiple paths for : package-a, package-b`
**Cause:** Empty `component` field (the `:` with nothing after it indicates empty string)
**Fix:** Ensure every package has `"component": "package-name"` set
## Release Types
| Type | Use Case | Version File |
|------|----------|--