Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #4098

semantic-versioning

Faz seu agente gerenciar versões de software e criar changelogs. Ele segue regras para organizar as atualizações de forma clara.

O que ela faz

Esta ferramenta ajuda a gerenciar as versões do seu software de forma organizada. Ela atualiza automaticamente os números de versão e cria um registro das mudanças feitas, seguindo um padrão chamado 'versionamento semântico'.

Quando usar

  • ✓Quando você lança uma nova funcionalidade.
  • ✓Quando corrige um erro.
  • ✓Quando faz uma alteração que pode quebrar o funcionamento de algo anterior.

Exemplo do que pedir para a IA

“Gere a próxima versão do meu projeto com base nas últimas mudanças.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/semantic-versioning/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/semantic-versioning/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa os comentários que você fez no código (chamados 'commits') para entender o tipo de mudança. Com base nisso, ela decide se aumenta o número da versão principal, secundária ou de correção e atualiza um arquivo de registro de alterações.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill semantic-versioning

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/semantic-versioning/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Versionamento Semântico

Automatize o gerenciamento de versões e a geração de changelogs seguindo os princípios do SemVer.

Pré-requisitos

  • Repositório Git com histórico de commits
  • Node.js (para a maioria das ferramentas)
  • Commits convencionais (recomendado)

Noções Básicas de Versionamento Semântico

Formato da Versão

MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]

Examples:
1.0.0
2.1.3
1.0.0-alpha.1
1.0.0-beta.2+build.123

Componentes da Versão

Componente Quando Incrementar
MAJOR Mudanças que quebram a compatibilidade (mudanças incompatíveis na API)
MINOR Novas funcionalidades (compatível com versões anteriores)
PATCH Correções de bugs (compatível com versões anteriores)
PRERELEASE Versões pré-lançamento (alpha, beta, rc)
BUILD Metadados de build (ignorados na precedência)

Precedência de Versão

1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta
< 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11
< 1.0.0-rc.1 < 1.0.0 < 2.0.0

Commits Convencionais para Versão

Commit Type → Version Bump:
  feat:     → MINOR
  fix:      → PATCH
  docs:     → PATCH (or no release)
  style:    → PATCH (or no release)
  refactor: → PATCH
  perf:     → PATCH
  test:     → No release
  chore:    → No release
  
  BREAKING CHANGE: → MAJOR
  feat!:   → MAJOR
  fix!:    → MAJOR

semantic-release

Instalação

npm install --save-dev semantic-release \
  @semantic-release/changelog \
  @semantic-release/git

Configuração

// .releaserc.json
{
  "branches": ["main"],
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    ["@semantic-release/changelog", {
      "changelogFile": "CHANGELOG.md"
    }],
    ["@semantic-release/npm", {
      "npmPublish": true
    }],
    ["@semantic-release/git", {
      "assets": ["CHANGELOG.md", "package.json", "package-lock.json"],
      "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
    }],
    "@semantic-release/github"
  ]
}

Configuração Avançada

// release.config.js
module.exports = {
  branches: [
    'main',
    { name: 'beta', prerelease: true },
    { name: 'alpha', prerelease: true }
  ],
  plugins: [
    ['@semantic-release/commit-analyzer', {
      preset: 'angular',
      releaseRules: [
        { type: 'docs', release: 'patch' },
        { type: 'refactor', release: 'patch' },
        { type: 'style', release: 'patch' },
        { type: 'perf', release: 'patch' },
        { breaking: true, release: 'major' }
      ]
    }],
    ['@semantic-release/release-notes-generator', {
      preset: 'angular',
      writerOpts: {
        commitsSort: ['subject', 'scope']
      }
    }],
    '@semantic-release/changelog',
    '@semantic-release/npm',
    '@semantic-release/git',
    '@semantic-release/github'
  ]
};

Integração com GitHub Actions

# .github/workflows/release.yml
name: Release

on:
  push:
    branches: [main]

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          persist-credentials: false

      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - run: npm ci

      - name: Release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: npx semantic-release

standard-version

Instalação

npm install --save-dev standard-version

Configuração

// .versionrc.json
{
  "types": [
    { "type": "feat", "section": "Features" },
    { "type": "fix", "section": "Bug Fixes" },
    { "type": "docs", "section": "Documentation" },
    { "type": "style", "section": "Styling" },
    { "type": "refactor", "section": "Code Refactoring" },
    { "type": "perf", "section": "Performance" },
    { "type": "test", "section": "Tests" },
    { "type": "chore", "section": "Maintenance" }
  ],
  "skip": {
    "bump": false,
    "changelog": false,
    "commit": false,
    "tag": false
  },
  "commitUrlFormat": "https://github.com/owner/repo/commit/{{hash}}",
  "compareUrlFormat": "https://github.com/owner/repo/compare/{{previousTag}}...{{currentTag}}"
}

Uso

# Primeiro lançamento
npx standard-version --first-release

# Lançamento regular (detecta automaticamente o aumento da versão)
npx standard-version

# Aumento de versão específico
npx standard-version --release-as minor
npx standard-version --release-as 1.1.0

# Pré-lançamento
npx standard-version --prerelease alpha

…
Perguntas frequentes

O que é 'versionamento semântico'?

É uma forma padronizada de numerar versões de software. O número tem três partes: MAJOR.MINOR.PATCH. MAJOR muda quando há alterações que quebram a compatibilidade, MINOR muda para novas funcionalidades e PATCH para correções de bugs.

Preciso usar 'commits convencionais'?

É recomendado. Eles são comentários no código que seguem um padrão (como 'feat:' para novas funcionalidades ou 'fix:' para correções), o que ajuda a ferramenta a entender melhor as mudanças e a gerar as versões corretamente.

Quais ferramentas essa skill usa?

Ela pode usar ferramentas como 'semantic-release' ou 'standard-version', além de outras para gerar o histórico de alterações (changelog).

Detalhes

Descrição original do autor

Automate versioning and changelog generation using semantic versioning principles.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4098
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas