Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Commit Plugin

One feature spread across 5 files shouldn't be 5 separate commits, and it shouldn't be one giant commit either. This groups changes by architectural layer so each commit is atomic and revertable.

GPG signs when available.

Usage / How It Works / Commit Types / GPG Signing

Usage

/commit               # Analyze, commit, verify
/commit --analyze     # Analysis only, no commits
/commit --push        # Commit + push to current branch
/commit --pr          # Commit + push + create PR
/commit --merge 42    # Merge PR #42 and cleanup
Fully-qualified syntax

If another plugin has a conflicting skill name, use the full plugin:skill form:

/commit:commit [--analyze] [--push] [--pr] [--merge PR#]

How It Works

Phase 1 - Analysis

Groups changes by architectural layer (data, backend, UI, config, docs) and commit type. Verifies each group is independently revertable.

Phase 2 - Execution

Tests GPG availability. If configured, signs with -S. If not, commits unsigned. Creates a feature branch when using --pr from the current branch.

git commit [-S] -m "type(scope): description"

Phase 3 - Verification

Checks each commit for format, atomicity, clarity, and signing. Resets and recommits if verification fails.

Phase 3.5 - Push (--push)

Pushes commits directly to the current branch. No branch creation, no PR.

Phase 4 - Pull Request (--pr)

Pushes branch and creates PR targeting the base branch with a concise body.

Phase 5 - Merge (--merge PR#)

Merges via gh pr merge, checks out the base branch, cleans up local and remote branches.

Commit Types

Type Purpose
feat New feature
fix Bug fix
docs Documentation
refactor Code reorganization
perf Performance
chore Maintenance
test Tests
ci CI/CD
build Build system
GPG Signing

[!NOTE] GPG signing is auto-detected. If commit.gpgsign is set in your git config, commits are signed automatically.

To enable:

gpg --full-generate-key
gpg --list-secret-keys --keyid-format=long
git config --global user.signingkey <KEY_ID>
git config --global commit.gpgsign true

Important

Requires git and gh (GitHub CLI, for --pr and --merge). Optional: gpg for signed commits.