gh-issue-sync は何をしますか?
GitHub Issue をローカルの Markdown ファイルに同期します。ファイルは .issues/open/ および .issues/closed/ に保存されます。
コマンド
gh-issue-sync init # git リポジトリで初期化
gh-issue-sync pull # オープンな Issue を取得(--all でクローズも含む)
gh-issue-sync push # ローカルの変更をプッシュ(--dry-run でプレビュー)
gh-issue-sync list # Issue 一覧を表示(gh issue list のフラグ + --search に対応)
gh-issue-sync new "タイトル" # Issue を作成(--label, --edit)
gh-issue-sync close 42 # クローズ(--reason completed|not_planned)
gh-issue-sync reopen 42
gh-issue-sync status # ローカルの変更を表示
gh-issue-sync diff 42 # 差分を表示(--remote で再取得)
ファイル形式
.issues/open/42-fix-login-bug.md:
---
title: Fix login bug
labels: [bug, priority:high]
assignees: [alice]
milestone: v1.0
state: open
# クローズの場合: state_reason: completed|not_planned
# オプション: parent: 10, blocked_by: [11, 12], blocks: [15]
---
Issue の本文(Markdown)。
Issue 番号はフロントマターではなく、ファイル名から取得されます。
一時的な Issue
新規 Issue には T プレフィックス付きの ID(例: T1a2b3c)が割り当てられます。ファイル名は T で始まる必要があります:
.issues/open/T1a2b3c-my-new-issue.md
push 時に、ファイルは実際の Issue 番号(例: 42-my-new-issue.md)にリネームされ、フロントマターの number: が更新されます。他の Issue 内の #T1a2b3c 参照も #42 に自動更新されます。
コメント
プッシュ時にコメントを投稿するには、Issue ファイルと一緒に .comment.md ファイルを作成します:
.issues/open/42.comment.md
.issues/open/42-fix-login-bug.comment.md
内容はプレーンな Markdown です。コメント投稿後、このファイルは削除されます。
注意点
- プル時は競合をスキップします。ローカルを上書きするには
--forceを使用してください。