gh-issue-sync은(는) 무엇을 하나요?
GitHub 이슈를 로컬 Markdown 파일로 동기화합니다. 파일은 .issues/open/ 및 .issues/closed/에 저장됩니다.
명령어
gh-issue-sync init # git 저장소에서 초기화
gh-issue-sync pull # 열린 이슈 가져오기 (--all을 추가하면 닫힌 이슈도 포함)
gh-issue-sync push # 로컬 변경 사항 푸시 (--dry-run으로 미리보기)
gh-issue-sync list # 이슈 목록 보기 (gh issue list 플래그 + --search 지원)
gh-issue-sync new "제목" # 이슈 생성 (--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: 로그인 버그 수정
labels: [bug, priority:high]
assignees: [alice]
milestone: v1.0
state: open
# 닫힌 이슈의 경우: state_reason: completed|not_planned
# 선택 사항: parent: 10, blocked_by: [11, 12], blocks: [15]
---
Markdown 형식의 이슈 본문.
이슈 번호는 프론트매터가 아닌 파일명에서 추출됩니다.
임시 이슈
새로운 이슈는 T 접두사 ID를 받습니다 (예: T1a2b3c). 파일명은 반드시 T로 시작해야 합니다:
.issues/open/T1a2b3c-my-new-issue.md
push 시 파일은 실제 이슈 번호로 이름이 바뀝니다 (예: 42-my-new-issue.md). 프론트매터의 number:도 업데이트됩니다. 다른 이슈에서 #T1a2b3c 참조가 있으면 모두 #42로 변경됩니다.
댓글
푸시 시 댓글을 남기려면 이슈 파일 옆에 .comment.md 파일을 만드세요:
.issues/open/42.comment.md
.issues/open/42-fix-login-bug.comment.md
내용은 일반 Markdown입니다. 댓글이 게시된 후 파일은 삭제됩니다.
참고 사항
- 풀 작업은 충돌을 건너뜁니다.
--force를 사용하면 로컬 파일을 덮어씁니다.