Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Versionamento
Quando usar
- Acionar pela
$specsfy-specialist-deployao preparar release, imagem
destinada a deploy, tag Git ou promoção entre ambientes.
- Em pedido completo de release ou deploy, devolver a coordenação para
$specsfy-specialist-deploy depois de preparar e conferir a versão.
- Não publicar imagem, tag, GitHub Release nem executar deploy sem autorização
explícita. A preparação local pode criar ou atualizar SEMVER.
Fluxo
- Localizar a raiz do projeto e ler
SEMVER, tags Git, changelog e artefatos
relacionados à entrega.
- Criar
SEMVERsomente quando ele estiver ausente e a versão inicial tiver
sido confirmada.
- Classificar a alteração como
patch,minoroumajor, explicar o efeito
e propor a próxima versão antes de escrever.
- Atualizar
SEMVERdurante a preparação autorizada e propagar o mesmo valor
para metadados, imagem e manifestos que pertencem à entrega.
- Executar testes e conferir que a versão é superior à publicação anterior.
- Quando houver autorização para publicar, enviar primeiro o artefato
imutável. Criar a tag Git e a GitHub Release somente depois que o artefato estiver disponível.
- Entregar a versão, o digest, o commit, os ambientes alcançados e os comandos
de reversão.
Padrões
- Manter
SEMVERna raiz com uma única versão estávelMAJOR.MINOR.PATCHe
quebra de linha final.
- Usar
patchpara correção compatível,minorpara capacidade compatível e
major para mudança incompatível.
- Tratar
SEMVERcomo fonte da versão preparada. Tags Git, anotações OCI,
changelog e referência da stack devem reproduzir o mesmo valor.
- Publicar imagens com tag SemVer e commit, registrar o digest e fazer o deploy
por digest quando a plataforma permitir.
- Conferir se uma tag imutável já existe antes do push. Nunca substituir uma
imagem ou tag publicada.
- Usar o utilitário local para operações determinísticas:
node scripts/semver.mjs current --project .
node scripts/semver.mjs bump patch --project .
node scripts/semver.mjs verify 1.4.1 --project .
node scripts/semver.mjs docker-tag registry.example/app --project .
node scripts/semver.mjs verify-docker-tag registry.example/app:1.4.1 --project .Ao instalar a skill, ajuste o primeiro caminho para apontar para specsfy-specialist-versioning/scripts/semver.mjs dentro da biblioteca de skills do agente.
Antipadrões
- Usar
latestcomo identidade de uma entrega. - Alterar
SEMVERdepois que a imagem já foi compilada com outro valor. - Criar a tag Git antes de confirmar a presença da imagem no registry.
- Recompilar o mesmo número para corrigir uma publicação. Prepare um novo
incremento.
- Misturar a preparação local com autorização implícita para publicar ou
alterar um ambiente remoto.
Validação
- Executar
currenteverifypara confirmar o conteúdo deSEMVER. - Gerar a tag Docker com
docker-tage executarverify-docker-tagantes do
build, push ou deploy; uma tag diferente do SEMVER interrompe o fluxo.
- Comparar a versão com a tag Git anterior e recusar valor igual ou inferior.
- Comparar
SEMVER, tag da imagem, anotações OCI, changelog e manifesto de
deploy.
- Confirmar o digest publicado antes de criar a tag Git.
- Conferir que o rollback aponta para uma versão e um digest já disponíveis.
Skills relacionadas
$specsfy-specialist-deployé a única responsável por coordenar o fluxo
completo de release ou deploy.
$specsfy-specialist-dockerconstrói e publica a imagem identificada pela
versão preparada aqui.
$specsfy-specialist-docker-swarmaplica no cluster a imagem e o digest
conferidos por esta skill.
$specsfy-specialist-ansibletransporta os manifestos versionados e executa
o preflight nos hosts.
$specsfy-specialist-delivery-engineeringcoordena testes, promoção, tag e
GitHub Release.
Leia references/standards.md para a correspondência entre SemVer, Git, imagens OCI e a sequência de publicação.

