Was macht gh-issue-sync?
Synchronisiert GitHub Issues in lokale Markdown-Dateien unter .issues/open/ und .issues/closed/.
Befehle
gh-issue-sync init # Initialisieren in einem Git-Repo
gh-issue-sync pull # Offene Issues abrufen (--all für auch geschlossene)
gh-issue-sync push # Lokale Änderungen pushen (--dry-run zur Vorschau)
gh-issue-sync list # Issues auflisten (unterstützt gh issue list Flags + --search)
gh-issue-sync new "Titel" # Issue erstellen (--label, --edit)
gh-issue-sync close 42 # Schließen (--reason completed|not_planned)
gh-issue-sync reopen 42
gh-issue-sync status # Lokale Änderungen anzeigen
gh-issue-sync diff 42 # Diff anzeigen (--remote zum erneuten Abrufen)
Dateiformat
.issues/open/42-fix-login-bug.md:
---
title: Login-Fehler beheben
labels: [bug, priority:high]
assignees: [alice]
milestone: v1.0
state: open
# Für geschlossen: state_reason: completed|not_planned
# Optional: parent: 10, blocked_by: [11, 12], blocks: [15]
---
Issue-Text in Markdown.
Die Issue-Nummer wird aus dem Dateinamen abgeleitet, nicht im Frontmatter gespeichert.
Temporäre Issues
Neue Issues erhalten eine ID mit T-Präfix (z. B. T1a2b3c). Der Dateiname muss mit T beginnen:
.issues/open/T1a2b3c-mein-neues-issue.md
Beim push wird die Datei in die echte Issue-Nummer umbenannt (z. B. 42-mein-neues-issue.md) und number: im Frontmatter aktualisiert. Alle #T1a2b3c-Referenzen in anderen Issues werden ebenfalls in #42 umgewandelt.
Kommentare
Um beim Pushen einen Kommentar zu hinterlassen, erstelle eine .comment.md-Datei neben dem Issue:
.issues/open/42.comment.md
.issues/open/42-fix-login-bug.comment.md
Der Inhalt ist einfaches Markdown. Die Datei wird nach dem Posten des Kommentars gelöscht.
Hinweise
- Pull überspringt Konflikte; verwende
--force, um lokale Änderungen zu überschreiben