Receber por email
← Voltar para o catálogo

post-commit

Universal post-commit actions. CHANGELOG update and git tag for all repos. Plugin version bumping for marketplace repos. Triggered after any code commit (except wip/amend/undo).

15estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add fusengine/agents

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/post-commit/svg)](https://www.skillteca.com.br/skills/post-commit)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Post-Commit Skill

Universal post-commit actions after a successful code commit.

Step 1: Read Last Commit

git log --format='%s' -1

Save the commit message for CHANGELOG entry.

Step 2: Detect Repo Type

Check if .claude-plugin/marketplace.json exists in the repo root.

  • EXISTS → Follow Marketplace Path (Steps M1–M5)
  • DOES NOT EXIST → Follow Standard Path (Steps S1–S2)

Standard Path (any repo without marketplace.json)

Step S1: Update CHANGELOG

Read the latest git tag to determine current version:

git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0"

Increment PATCH: X.Y.Z → X.Y.(Z+1).

If CHANGELOG.md does not exist, create it with # Changelog heading.

Add a new entry at the top (after the # Changelog heading):

## [X.Y.Z] - DD-MM-YYYY

- commit message from Step 1

Step S2: Git Tag

git add CHANGELOG.md
git commit -m "$(cat <<'EOF'
chore: update CHANGELOG to X.Y.Z
EOF
)"
git tag vX.Y.Z

STOP. Output summary and ask user if they want to push the tag.

Marketplace Path (repo with .claude-plugin/marketplace.json)

Step M1: Detect Modified Plugins

git diff --name-only HEAD~1 | grep '^plugins/' | cut -d/ -f2 | sort -u

If no plugins modified → Skip to Step M3 (still bump suite version).

Skip directories without .claude-plugin/plugin.json.

Step M2: Bump Plugin Versions

For each modified plugin detected in Step M1:

  1. Read plugins/{name}/.claude-plugin/plugin.json
  2. Increment PATCH version: X.Y.Z → X.Y.(Z+1)
  3. Write the new version back to plugin.json

Then determine plugin type from marketplace.json:

  • In plugins[] array → Also update matching version field in marketplace.json
  • In core[] array → Only bump plugin.json (core entries have no version field)

Step M3: Bump Suite Version

Read metadata.version from .claude-plugin/marketplace.json.

Increment PATCH: X.Y.Z → X.Y.(Z+1).

Write the new suite version back to marketplace.json → metadata.version.

If README.md contains a shields.io version badge, update it to match the new version:

Replace version-vOLD_VERSION- with version-vNEW_VERSION- in the badge URL.

Step M4: Update CHANGELOG

Add a new entry at the top of CHANGELOG.md (after the # Changelog heading):

## [X.Y.Z] - DD-MM-YYYY

- type(plugin-name): description from the code commit message

Where X.Y.Z is the new suite version from Step M3.

Include (plugin-name X.Y.Z) in each line for bumped plugins.

Step M5: Commit, Tag, and Push

Stage all modified files:

git add CHANGELOG.md README.md .claude-plugin/marketplace.json plugins/*/.claude-plugin/plugin.json

Commit with HEREDOC format:

git commit -m "$(cat <<'EOF'
chore: bump marketplace and CHANGELOG to X.Y.Z
EOF
)"

This MUST be a separate commit from the code changes. Never combine.

Then tag and push:

git tag vX.Y.Z
git push origin vX.Y.Z

Only tag the bump commit. Never tag code commits.

Version Bump Rules

  • ALL commit types trigger PATCH bump only
  • MINOR/MAJOR bumps are manual user decisions, never automatic
  • The bump commit is always SEPARATE from code changes

CHANGELOG Type Mapping

| Commit Type | CHANGELOG Prefix | |-------------|-----------------| | feat | Added | | fix | Fixed | | refactor | Changed | | docs | Documentation | | perf | Performance | | test | Tests | | chore | Maintenance | | style | Style | | ci | CI/CD | | build | Build |

Compartilhar X LinkedIn