home / skills / laurigates / claude-plugins / deploy-release

This skill sets up and publishes a manifest based release using release-please to update versions across files and automate deployment.

npx playbooks add skill laurigates/claude-plugins --skill deploy-release

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
503 B
---
model: opus
created: 2025-12-16
modified: 2025-12-16
reviewed: 2025-12-16
allowed-tools: Read, Write, Edit, Bash(git *), mcp__github__create_release, mcp__github__get_latest_release, TodoWrite
argument-hint: <version> [--draft] [--prerelease]
description: Create and publish a new release
name: deploy-release
---

# Release Setup Command

- Set up release-please release automation
- Manifest based release
- Configure to update release number in all relevant files using the extra-files directive

Overview

This skill automates creating and publishing a new release for shell-based projects. It sets up release-please based release automation, uses a manifest-based approach, and updates version numbers across project files via extra-files configuration. The result is consistent, repeatable release artifacts and changelogs.

How this skill works

The skill installs and configures release-please to run release automation using a manifest file that defines which packages and files belong to a release. It configures the extra-files directive so the release tool updates version strings in all relevant files (like scripts, docs, and packaging metadata). Finally, it creates a draft or published release and attaches generated changelogs and artifacts to the release on the remote repository.

When to use it

  • You want automated, reproducible version bumps and changelogs for shell projects
  • You maintain multiple related files that must share the same release version
  • You need manifest-based releases for monorepo or multi-component workflows
  • You want to reduce manual release steps and human error
  • You prefer releases driven by conventional commits or automated changelog generation

Best practices

  • Define a clear manifest listing every package and file included in the release
  • Use extra-files to enumerate every file containing a version string to avoid missed updates
  • Test the release pipeline in a staging branch or fork before enabling automatic publishes
  • Pin release-please and related tooling versions to avoid unexpected behavior from updates
  • Include a pre-release smoke test that validates updated version strings and produced artifacts

Example use cases

  • Set up a single-command release flow that bumps versions in shell scripts, Dockerfiles, and README badges
  • Manage releases for a small monorepo where multiple components share the same release cadence
  • Automate changelog generation and attach release notes to GitHub releases for auditability
  • Run manifest-based releases for a project that includes shell utilities and packaging metadata (deb/rpm)

FAQ

Will this update every file that contains a version?

Only files you list in the extra-files directive will be updated. Include every file that contains a version string to ensure consistency.

Can I test the release without publishing publicly?

Yes. Configure the workflow to create draft releases or run against a fork/staging branch to validate behavior before publishing.