promovaweb/specsfy

specsfy-specialist-gitflow

Aplicar e revisar o modelo Gitflow de branches (main, develop, feature/, release/, hotfix/, support/), convenção de nomes, política de merge e sequência de release/hotfix.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-gitflow

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Gitflow

Quando usar

  • Acionar quando a pessoa pedir explicitamente o modelo Gitflow (branches

main/master, develop, feature/*, release/*, hotfix/*) ou quando já existir configuração git flow (git config --get-regexp '^gitflow\.') ou instrução do projeto declarando essa escolha.

  • Acionar também para nomear, sequenciar ou fechar uma branch

feature/, release/ ou hotfix/ dentro de um projeto que já declarou Gitflow como estratégia de branch.

  • Não acionar para propor Gitflow a um projeto que não pediu isso — a escolha

do modelo de branch é decisão explícita de quem conduz o projeto, nunca inferida pela presença de uma branch chamada develop ou pelo volume de branches abertas.

  • Não acionar para resolver um conflito já em andamento

($specsfy-specialist-merge-conflict-resolution) nem para desenhar o pipeline ou a promoção de artefato entre ambientes ($specsfy-specialist-delivery-engineering) — aqui o foco é a topologia e a política das branches, não a resolução textual nem a entrega.

Fluxo

  1. Confirmar que a pessoa pediu Gitflow explicitamente, ou apontar a

configuração/instrução existente que já declara essa escolha, antes de aplicar qualquer convenção — nunca presumir Gitflow a partir da estrutura do repositório.

  1. Verificar o estado real das branches (git branch -a,

git config --get-regexp '^gitflow\.') para saber se main/master e develop já existem e se a nomenclatura das branches auxiliares já diverge do padrão adotado.

  1. Definir com a pessoa os nomes das branches permanentes (main de

produção, develop de integração) e os prefixos das branches de vida curta (feature/, release/, hotfix/, support/ quando aplicável).

  1. Registrar a decisão como regra confirmada do projeto ($specsfy-aux-rules

grava em .specsfy/RULES.md), incluindo prefixos, branch-alvo de cada tipo e política de merge — não deixar a convenção apenas verbal.

  1. Orientar a abertura, a integração e o fechamento de cada tipo de branch:

feature/* parte de e volta para develop; release/* parte de develop e vai para main e develop; hotfix/* parte de main e vai para main e develop; sempre com merge --no-ff.

  1. Coordenar a tag de versão no merge de release/* ou hotfix/* em

main, alinhando com a estratégia de versionamento já adotada pelo projeto (semver ou outra).

  1. Verificar que develop recebeu de volta toda correção aplicada em

release/* ou hotfix/* antes de considerar o ciclo fechado — divergência aqui reaparece como regressão no próximo release.

Padrões

  • Usar git merge --no-ff para toda integração de feature/*, release/*

e hotfix/* — merge fast-forward apaga o registro de que aquela branch existiu, do qual a auditoria de release do Gitflow depende.

  • Nomear com prefixo consistente e o mesmo separador em todo o projeto

(feature/<slug>, release/<versao>, hotfix/<versao-ou-slug>); não misturar convenções (feature-x e feature/y no mesmo repositório).

  • Fazer release/* e hotfix/* partirem exatamente do commit de develop

ou main correspondente, sem cherry-pick seletivo de commits ainda não integrados.

  • Aplicar em release/* somente correção de bug, texto, documentação e

preparação de release (changelog, versão) — funcionalidade nova não entra numa branch de release já aberta; volta para a próxima feature/*.

  • Fechar todo hotfix/* mesclando em main (com tag) e em develop (ou na

release/* aberta, se houver uma) na mesma operação — hotfix que só chega em main desaparece do próximo release.

  • Apagar a branch de vida curta (feature/*, release/*, hotfix/*) depois

do merge confirmado nos dois destinos — branch finalizada e não apagada convida retrabalho sobre código já integrado.

Antipadrões

  • Push direto ou merge fast-forward em main/develop sem passar por

feature/, release/ ou hotfix/: quebra a rastreabilidade que justifica adotar Gitflow em vez de um modelo mais simples.

  • Funcionalidade nova adicionada dentro de uma release/* já aberta "para

aproveitar a janela": aumenta o escopo testado depois do corte e atrasa a liberação sem necessidade.

  • Hotfix mesclado apenas em main, deixando develop divergente: a próxima

release/* cortada de develop reintroduz o bug já corrigido em produção.

  • Adotar Gitflow num projeto com deploy contínuo várias vezes ao dia: a

sobrecarga de branches longas de release/hotfix conflita com entrega contínua; nesse contexto, avalie com a pessoa se GitHub Flow ou trunk-based atende melhor antes de aplicar Gitflow por hábito.

  • Confundir "temos uma branch chamada develop" com "o projeto usa Gitflow":

sem a política de merge, os prefixos e o ciclo de release completos, é apenas uma branch com esse nome, não o modelo.

Validação

  • git log --graph --oneline --all (ou git log --first-parent main)

mostrando os merges --no-ff de cada feature/, release/ ou hotfix/ como commits de merge identificáveis, não commits lineares indistinguíveis.

  • git branch -a --merged develop e git branch -a --merged main

conferidos antes de apagar uma branch de vida curta, garantindo que o merge realmente aconteceu nos dois destinos esperados.

  • Tag de versão presente em main para cada release/* ou hotfix/*

fechado (git tag --contains <commit-do-merge>), e a mesma correção presente em develop (git log develop --oneline | grep <commit> ou equivalente).

  • .specsfy/RULES.md (ou instrução equivalente do projeto) registrando a

convenção de nomes e a política de merge, revisitada por $specsfy-aux-rules quando alguém a violar.

  • Não declarar "o projeto segue Gitflow" apenas porque existe uma branch

develop; a evidência exige prefixos consistentes, merges --no-ff rastreáveis e o ciclo de release/hotfix fechado nos dois destinos.

Skills relacionadas

  • $specsfy-specialist-merge-conflict-resolution quando uma integração de

feature/, release/ ou hotfix/ já em andamento gerar conflito — esta skill decide a topologia e a política de branch, a outra resolve o conflito textual ou semântico já aberto.

  • $specsfy-specialist-delivery-engineering quando o merge em main ou a

tag de release precisar disparar pipeline, build de artefato ou promoção entre ambientes — esta skill entrega a branch e a tag corretas, a outra decide como o pipeline reage a elas.

Leia references/standards.md para o mapa completo de branches, os comandos git flow equivalentes em Git puro e as fontes oficiais do modelo.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills
promovaweb
Community

specsfy-specialist-react

Projetar, implementar e revisar interfaces React com composição, estado, efeitos, concorrência, acessibilidade, performance e testes. Use quando a tarefa envolve componentes React, hooks, context, forms ou renderização cliente; use também para decidir ownership de estado entre componente, context e biblioteca externa; não use para fronteiras server/client, cache ou routing de framework — aí use a skill Next.js; para a galeria de componentes visuais prontos, use react-ui-components.

Installationen
2
GitHub Stars
86
Aktualisiert
14. Okt.
promovaweb
Community

specsfy-specialist-ui-design

Projetar e revisar interfaces visuais de sistemas, dashboards e aplicações com hierarquia, layout, tokens, componentes, densidade, estados e responsividade. Use para telas, dashboards, design systems, layouts, tabelas, formulários e navegação; combine com UX e acessibilidade quando houver fluxo ou interação.

Installationen
2
GitHub Stars
86
Aktualisiert
14. Okt.
promovaweb
Community

specsfy-specialist-domain-modeling

Descobrir e refinar linguagem ubíqua de domínio, invariantes, eventos, aggregates e bounded contexts a partir de cenários concretos, evitando anemic domain model. Use quando termos, regras ou ownership de dados estiverem ambíguos, dois times usarem a mesma palavra com sentido diferente, ou uma decisão de modelo for necessária; não criar documentação paralela à fonte autorizada; não use para decisão de infraestrutura ou deployment, use $specsfy-specialist-software-architecture para isso.

Installationen
2
GitHub Stars
86
Aktualisiert
14. Okt.
promovaweb
Community

specsfy-specialist-data-modeling

Modelar dados, entidades, relações, ciclos de vida, qualidade e contratos persistentes antes de implementar mudanças.

Installationen
2
GitHub Stars
86
Aktualisiert
14. Okt.