Migrate a repository from semantic-release to release-please. Use when the user wants to switch from semantic-release (auto-releases on push) to release-please (Release PR workflow), or mentions "release-please migration".
This skill migrates a Node.js repository from semantic-release to release-please.
Before (semantic-release): Push to main → automatic version bump + release After (release-please): Push to main → Release PR created/updated → Merge PR when ready → GitHub release created
First, read these files to understand the current setup:
package.json - get current version and identify semantic-release dependencies.github/workflows/ci.yml or similar) - find the release jobrelease.config.js or release.config.cjs - if exists, note it for deletionCreate .release-please-manifest.json with the current version from package.json:
{
".": "X.Y.Z"
}
Create release-please-config.json:
{
"release-type": "node",
"include-component-in-tag": false,
"packages": {
".": {}
}
}
The include-component-in-tag: false option gives clean tags like v2.0.0 instead of package-name-v2.0.0.
Update the workflow triggers to skip CI on release-please branches (they only contain version bumps and changelog updates - the actual code already passed CI):