commit-push-and-release

Commit and push working-tree changes on main, then cut and push a minor version release tag.

22|3|Updated Jul 28, 2024
One-click install
npx skills add https://github.com/webdevcody/go-mailing-list --skill commit-push-and-release
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: commit-push-and-release
Source: https://github.com/webdevcody/go-mailing-list/tree/main/.claude/skills/commit-push-and-release
Command: npx skills add https://github.com/webdevcody/go-mailing-list --skill commit-push-and-release

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents the common release failure mode where changes are committed or pushed, but the version tag and release never get cut (or never reach remote/CI), leaving automation out of sync.

Core Features & Use Cases

  • Main-branch guardrails: Enforces release-only behavior by aborting when the current branch is not main.
  • Atomic ship workflow: Performs a grouped commit-and-push first, then creates a minor versioned release, and finally pushes the release commit and tags.
  • Safety checks: Aborts when the working tree is clean (nothing to commit) and verifies the Phase 1 result before tagging.
  • Use case: When you want to publish working-tree changes and immediately create the next minor release tag without running separate steps.

Quick Start

Run the skill when you want to “commit push and release” from main, and it will commit+push, cut a minor release, and push the new tag to origin.

Frequently Asked Questions about commit-push-and-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I commit, push, and tag a minor release in one git command?

A single-command git release workflow commits working-tree changes on main, verifies origin matches HEAD, cuts a minor semantic version tag, and pushes the annotated tag to remote origin.

What is the best way to automate git version tagging and pushing without manual steps?

The best way to automate git version tagging and pushing uses a single workflow that commits changes, creates an annotated minor version tag, and pushes both to origin, eliminating manual multi-step release operations.

Can I cut a semantic version release from a branch other than main?

No, you cannot cut a semantic version release from a non-main branch. The workflow enforces main-branch guardrails and aborts immediately if the current branch is not main.

Why does my git release workflow abort when the working tree is clean?

Your git release workflow aborts on a clean working tree because built-in safety checks prevent cutting a release tag when there are no working-tree changes to commit, avoiding empty releases.

Do I need to manually verify origin matches HEAD before pushing a git release tag?

No, you do not need to manually verify origin matches HEAD. The automated workflow validates that origin/main matches HEAD before cutting the release and pushing the annotated tag to remote.

When do I need an atomic git release flow with semantic versioning?

You need an atomic git release flow with semantic versioning when you want to publish working-tree changes and immediately create the next minor release tag without running separate commit, push, and tag steps.