Back to Skills

release-please-configuration

verified

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 GitHub

Marketplace

laurigates-plugins

laurigates/claude-plugins

Plugin

git-plugin

version-control

Repository

laurigates/claude-plugins
3stars

git-plugin/skills/release-please-configuration/SKILL.md

Last Verified

January 24, 2026

Install Skill

Select agents to install to:

Scope:
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-configuration

Installation paths:

Claude
.claude/skills/release-please-configuration/
Powered by add-skill CLI

Instructions

# 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 |
|------|----------|--

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
8255 chars