
auto-branch
by arbgjr
Sistema de desenvolvimento de software orientado por agentes de IA que automatiza e coordena todo o ciclo de vida do desenvolvimento.
SKILL.md
name: auto-branch description: | Automacao de criacao de branches baseado em tipo de trabalho. Integra com SpecKit para criar branches automaticamente ao iniciar features. Use quando: iniciar novo trabalho, criar feature, corrigir bug. allowed-tools:
- Bash
- Read
- Write user-invocable: true
Auto-Branch Skill
Proposito
Esta skill automatiza a criacao de branches seguindo convencoes de nomenclatura.
Padroes de Branch
| Tipo | Padrao | Exemplo |
|---|---|---|
| Bug Fix | fix/{descricao} | fix/timeout-conexao-api |
| Hotfix | hotfix/{descricao} | hotfix/seguranca-sql-injection |
| Feature | feature/{nome} | feature/exportacao-pdf |
| Release | release/v{versao} | release/v1.2.0 |
| Chore | chore/{descricao} | chore/atualizar-dependencias |
| Refactor | refactor/{descricao} | refactor/separar-camadas |
| Docs | docs/{descricao} | docs/api-reference |
Uso
Via Hook
O hook .claude/hooks/auto-branch.sh e chamado automaticamente:
.claude/hooks/auto-branch.sh feature "exportacao de duplicatas"
# Cria: feature/exportacao-de-duplicatas
Via Comando
/auto-branch feature "nome da feature"
/auto-branch fix "descricao do bug"
Integracao com SDLC
Level 0 (Quick Flow)
Quando detectado bug fix ou hotfix:
trigger: "fix: " ou "hotfix: " no inicio da descricao
action: auto-branch.sh fix "{descricao}"
Level 1 (Feature)
Quando detectada nova feature:
trigger: "feat: " ou "feature: " no inicio da descricao
action: auto-branch.sh feature "{descricao}"
Level 2+ (SDLC Completo)
Quando iniciado SDLC completo:
trigger: /sdlc-start com nivel >= 2
action: auto-branch.sh feature "{project-id}"
Integracao com SpecKit
Ao executar /spec-create, a branch e criada automaticamente:
spec_create_flow:
1. Detectar nome da spec
2. Executar: auto-branch.sh feature "{spec-name}"
3. Criar arquivo da spec
4. Registrar no manifest do projeto
Validacoes
- Nome normalizado (lowercase, sem espacos)
- Limite de 50 caracteres
- Sem caracteres especiais
- Branch nao existe (ou faz checkout se existir)
Script
O script principal esta em .claude/hooks/auto-branch.sh.
Exemplo de Uso
# Criar branch de feature
.claude/hooks/auto-branch.sh feature "Exportacao de Duplicatas em PDF"
# Resultado: feature/exportacao-de-duplicatas-em-pdf
# Criar branch de fix
.claude/hooks/auto-branch.sh fix "Timeout na conexao com CERC"
# Resultado: fix/timeout-na-conexao-com-cerc
# Criar branch de release
.claude/hooks/auto-branch.sh release "1.2.0"
# Resultado: release/v1.2.0
Configuracao no settings.json
Para habilitar criacao automatica de branches, adicione ao settings.json:
{
"hooks": {
"PreToolUse": [{
"matcher": "Write(*.spec.md)",
"hooks": [{
"type": "command",
"command": ".claude/hooks/auto-branch.sh feature $(basename $TOOL_INPUT_FILE_PATH .spec.md)"
}]
}]
}
}
Troubleshooting
Branch ja existe
Se a branch ja existir, o script faz checkout automaticamente.
Mudancas nao commitadas
O script avisa se houver mudancas nao commitadas, mas nao bloqueia a operacao.
Nome muito longo
Nomes sao truncados em 50 caracteres para evitar problemas.
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です
