Receber por email
← Voltar para o catálogo

release

Create a GitHub release with auto-generated changelog. Triggers: "release", "/release", "create release", "сделай релиз"

11estrelas
Atualizado há 3 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add DefaultPerson/agent-setup

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/release-defaultperson/svg)](https://www.skillteca.com.br/skills/release-defaultperson)

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

Context

  • Branch: !git branch --show-current
  • Last tag: !git describe --tags --abbrev=0 2>/dev/null || echo "No tags"
  • Commits since tag: !git log $(git describe --tags --abbrev=0 2>/dev/null || echo HEAD~20)..HEAD --oneline 2>/dev/null | head -20
  • CHANGELOG exists: !test -f CHANGELOG.md && echo "Yes" || echo "No"

$ARGUMENTS

Arguments: [optional version override]

Algorithm

  1. Get release context:

``bash LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "none") ``

  • Show: last tag + date, commit count since, diff stats
  • If no tags — use full commit history (capped at 50)
  1. Detect versioning scheme:
  2. Semver (v1.2.3 or 1.2.3) → suggest bump (patch/minor/major based on commit types: feat→minor, fix→patch, !→major)
  3. Calver (2026.08.1) → suggest next calver
  4. No tags → ask user for preferred scheme
  5. If $ARGUMENTS provided — use as version directly
  1. Ask questions (AskUserQuestion):
  2. Version: confirm suggested or enter custom
  3. Release notes style: Technical (full changelog) / User-facing (features+fixes) / Both
  1. Generate release notes from commits since last tag:

Group by Conventional Commit type:

| Type | Section | User-visible | |------|---------|-------------| | feat | Added | Yes | | fix | Fixed | Yes | | perf | Performance | Yes | | refactor | Changed | No | | docs | Documentation | No | | ci, test, chore, build | Internal | No |

  • Technical: all sections, commit messages as-is
  • User-facing: only Added + Fixed + Performance, rewrite as human-readable descriptions
  1. Update CHANGELOG.md (if file exists):
  2. Replace [Unreleased] header content with new version + date
  3. Add fresh empty [Unreleased] section above
  4. If no [Unreleased] section — prepend new version block after top header
  1. Create tag & release:

``bash git add CHANGELOG.md && git commit -m "docs: release <version>" git push origin HEAD git tag -a <version> -m "Release <version>" git push origin <version> gh release create <version> --title "<version>" --notes-file /tmp/release-notes.md ``

  1. Output:

`` Release: <url> Tag: <version> Commits: <count> since <last-tag> CHANGELOG: updated / not found ``

Compartilhar X LinkedIn