Release please setup
Skill joaquimscosta/arkhe-claude-plugins/plugins/git/skills/release-please-setup
Supercharge Claude Code with 109 specialized components — 22 agents, 32 commands, 55 skills across 13 modular plugins. Deep reasoning, autonomous dev loops, DDD architecture, design system enforcement, git automation, and more.
npx -y skills add joaquimscosta/arkhe-claude-plugins --skill release-please-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold or migrate a repository onto release-please. Generates release-please-config.json, .release-please-manifest.json, and a release-please.yml workflow, plus an opt-in menu of tag-keyed deploy/publish templates (Docker/ECR matrix, frontend host deploy, npm OIDC publish, GitHub Release asset, Fly.io deploy, generic). Supports monorepo (mutual exclude-paths matrix), single-package, and mixed-language (node/simple/python) repos. Use when user runs /release-please-setup, mentions "release please", "set up release please", "automate releases", "conventional-commit releases", "monorepo release automation", or "migrate to release-please".
SKILL.md
4.4 KB, 968 tokens by cl100k_base, as published. Nobody here has run it
Release-Please Setup
Scaffold or migrate a repository onto release-please. The skill generates release-please-config.json and .release-please-manifest.json from a monorepo package scan, then guides you through wiring the release-please.yml workflow and optionally an opt-in deploy/publish template from the six provided in templates/.
Two modes
| Mode | When to use |
|---|---|
| Greenfield (default) | New repo with no prior tags. All packages start at 0.0.0 (or --initial <ver>). |
--migrate | Existing repo with hand-maintained <component>-v* tags. Manifest is seeded from detected file versions; existing deploy workflows keep working unchanged. |
Quick start
# SCRIPTS = absolute path to this skill's scripts/ directory
# Always dry-run first — no files are written
python3 SCRIPTS/release_please_setup.py --root . --dry-run # greenfield
python3 SCRIPTS/release_please_setup.py --root . --migrate --dry-run # migrate
python3 SCRIPTS/release_please_setup.py --root . --migrate # write files
CLI flags: --root (repo root), --globs (comma-separated package globs; default packages/*,backend/*,frontend/*), --migrate (migration mode), --single (force single-package config), --initial (starting version; default 0.0.0), --dry-run (print output, no writes), --out-dir (write location; default --root).
Then:
- Copy
templates/release-please.ymlinto.github/workflows/. - Set the
REPO_TOKENsecret — see CONTRACT.md. ⚠️ GITHUB_TOKEN-created tags do not trigger other workflows; a PAT is required for deploy templates to fire. - Pick a deploy template (optional).
Deploy template menu
| Template | Use for |
|---|---|
deploy-fly.yml | Fly.io app deploy |
publish-npm-oidc.yml | npm Trusted Publishing (OIDC, no token) |
release-asset.yml | Build artifact → GitHub Release (e.g. .vsix, .zip) |
deploy-docker-matrix.yml | Docker image → Amazon ECR / any registry |
deploy-frontend-host.yml | Gated frontend deploy (Amplify, Vercel, Netlify) |
deploy-generic.yml | Any build + deploy command |
| None | Release-please only — add deploy later |
Fill all __TOKEN__ placeholders before committing; see WORKFLOW.md for the complete placeholder reference table.
Output structure
<repo-root>/
├── release-please-config.json ← written by the script
├── .release-please-manifest.json ← written by the script
└── .github/workflows/
├── release-please.yml ← copy from templates/
└── deploy-<component>.yml ← copy from templates/ (optional)
Monorepo: each package gets include-component-in-tag: true, tag-separator: "-", and a mutual exclude-paths matrix (tags like user-service-v1.2.0). Single-package: minimal config, tags are v<semver>.
Common issues
- Release PR not created — check commits follow Conventional Commits, you are on the default branch, and the workflow has
contents: write+pull-requests: writepermissions. - Deploy didn't fire — the REPO_TOKEN gotcha; see CONTRACT.md and TROUBLESHOOTING.md.
- Wrong version after migration — discovery missed the version; edit
.release-please-manifest.jsonmanually.
References
- WORKFLOW.md — Greenfield and migration runbooks + placeholder reference table
- EXAMPLES.md — Three worked examples (acme monorepo, papia-studio migration, single-package)
- CONTRACT.md — Tag format, REPO_TOKEN gotcha, job outputs, trigger variants
- TROUBLESHOOTING.md — Error reference