O que gh-issue-sync faz?
Sincroniza issues do GitHub com arquivos Markdown locais em .issues/open/ e .issues/closed/.
Comandos
gh-issue-sync init # Inicializar no repositório git
gh-issue-sync pull # Buscar issues abertas (--all para fechadas também)
gh-issue-sync push # Enviar alterações locais (--dry-run para visualizar)
gh-issue-sync list # Listar issues (suporta flags gh issue list + --search)
gh-issue-sync new "Título" # Criar issue (--label, --edit)
gh-issue-sync close 42 # Fechar (--reason completed|not_planned)
gh-issue-sync reopen 42
gh-issue-sync status # Mostrar alterações locais
gh-issue-sync diff 42 # Mostrar diff (--remote para buscar novamente)
Formato do Arquivo
.issues/open/42-corrigir-bug-login.md:
---
title: Corrigir bug de login
labels: [bug, prioridade:alta]
assignees: [alice]
milestone: v1.0
state: open
# Para fechado: state_reason: completed|not_planned
# Opcional: parent: 10, blocked_by: [11, 12], blocks: [15]
---
Corpo da issue em Markdown.
O número da issue é derivado do nome do arquivo, não armazenado no frontmatter.
Issues Temporárias
Novas issues recebem um ID com prefixo T (ex.: T1a2b3c). O nome do arquivo deve começar com T:
.issues/open/T1a2b3c-minha-nova-issue.md
Ao fazer push, o arquivo é renomeado para o número real da issue (ex.: 42-minha-nova-issue.md) e number: no frontmatter é atualizado. Quaisquer referências #T1a2b3c em outras issues também são atualizadas para #42.
Comentários
Para postar um comentário ao fazer push, crie um arquivo .comment.md ao lado da issue:
.issues/open/42.comment.md
.issues/open/42-corrigir-bug-login.comment.md
O conteúdo é Markdown simples. O arquivo é excluído após o comentário ser postado.
Notas
- Pull ignora conflitos; use
--forcepara sobrescrever local.