Agent skill
release-please-development
This skill should be used when the user asks to "set up release please", "configure automated releases", "manage version numbers", "add changelog automation", or mentions release-please, semantic versioning, or monorepo versioning.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/release-please-development
SKILL.md
Release Please Development
Configure automated versioning, changelog generation, and releases using Google's release-please.
Quick Reference
- Single Package Pattern - Simple repos with one version
- Multi-Package Pattern - Monorepos with independent versions
- Configuration Options - All available settings
Overview
Release-please automates:
- Version bumping based on conventional commits
- CHANGELOG.md generation
- GitHub release creation
- Version updates in files (package.json, Chart.yaml, etc.)
Core Files
.github/
├── release-please-config.json # Package configuration
├── release-please-manifest.json # Current version tracking
└── workflows/
└── release.yaml # GitHub Actions workflow
When to Use Each Pattern
| Pattern | Use Case |
|---|---|
| Single Package | Libraries, CLIs, simple apps with one version |
| Multi-Package | Monorepos, services with independent release cycles |
Basic Setup
1. Create Config File
.github/release-please-config.json:
{
"release-type": "simple",
"packages": {
".": {
"changelog-path": "CHANGELOG.md"
}
}
}
2. Create Manifest
.github/release-please-manifest.json:
{
".": "0.0.1"
}
3. Add GitHub Workflow
.github/workflows/release.yaml:
name: Release
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4
with:
config-file: .github/release-please-config.json
manifest-file: .github/release-please-manifest.json
Release Types
| Type | Use Case | Versions |
|---|---|---|
simple |
Generic projects | CHANGELOG only |
node |
npm packages | package.json |
python |
Python packages | setup.py, pyproject.toml |
go |
Go modules | go.mod |
helm |
Helm charts | Chart.yaml |
Updating Extra Files
Use extra-files to update versions in arbitrary files:
{
"packages": {
".": {
"extra-files": [
{
"type": "json",
"path": "manifest.json",
"jsonpath": "$.version"
}
]
}
}
}
Claude Code Plugin Marketplaces
For marketplaces with multiple plugins sharing a single version:
{
"release-type": "simple",
"packages": {
".": {
"changelog-path": "CHANGELOG.md",
"extra-files": [
{
"type": "json",
"path": ".claude-plugin/marketplace.json",
"jsonpath": "$.plugins[0].version"
},
{
"type": "json",
"path": ".claude-plugin/marketplace.json",
"jsonpath": "$.plugins[1].version"
}
]
}
}
}
Add a jsonpath entry for each plugin in the marketplace. When adding new plugins, update both:
.claude-plugin/marketplace.json- add the plugin entry.github/release-please-config.json- add jsonpath for the new plugin's version
Conventional Commits
Release-please uses commit prefixes to determine version bumps:
| Prefix | Version Bump | Example |
|---|---|---|
feat: |
Minor (0.x.0) | New feature |
fix: |
Patch (0.0.x) | Bug fix |
feat!: or BREAKING CHANGE |
Major (x.0.0) | Breaking change |
docs:, chore:, etc. |
None | No release |
How It Works
- Push commits to main with conventional commit messages
- Release-please creates/updates a release PR
- Merge the release PR to create a GitHub release
- Tags and changelog are automatically generated
See Also
- Single Package Example - Detailed single-package setup
- Multi-Package Example - Monorepo configuration
- Configuration Reference - All options explained
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?