Skip to content

Commit 99cff20

Browse files
committed
docs: READMEとIssue管理コマンドのドキュメントを更新し、ディレクトリ構成を明確化
1 parent e5df193 commit 99cff20

2 files changed

Lines changed: 103 additions & 2 deletions

File tree

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,13 +419,19 @@ Remove-Item -Recurse -Force "C:\path\to\git-plus"
419419
│ ├── gitcmd/ # Gitコマンド実行の共通ユーティリティ
420420
│ ├── ui/ # UI関連のユーティリティ
421421
│ └── pausestate/ # pause/resume状態管理
422-
├── docs/ # ドキュメント
423-
│ └── commands/ # コマンド別ドキュメント
422+
├── doc/ # READMEや社内向けのコマンドリファレンス
423+
│ └── commands/ # カテゴリ別ドキュメント
424+
├── docs/ # 公開リポジトリに同期されるドキュメント
425+
│ └── commands/ # 公開用ドキュメント
424426
├── main.go # エントリーポイント
425427
├── bin/ # ビルド済みバイナリ
426428
└── go.mod
427429
```
428430

431+
補足:
432+
- `doc/` 配下がこのリポジトリの一次ソースであり、READMEや開発作業から直接リンクされています。
433+
- `docs/` は public リポジトリに同期される公開ドキュメントです。公開向けの調整が必要なときのみ編集します。
434+
429435
### 共通パッケージ
430436

431437
#### `internal/gitcmd`

doc/commands/issue.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,3 +230,98 @@ Title: ダークモード対応
230230
- `gh auth login` でログイン済みである必要があります
231231
- タイトルと本文の両方を編集できます
232232
- タイトルは `Title:` の後に、本文は `---` の区切り線の後に記載します
233+
234+
## git issue-list
235+
236+
GitHubのopenしているissue一覧を取得し、番号で選択して編集・コメント追加・クローズ・新規作成・一括クローズを実行できる統合ビューアです。日常的なIssue対応をこの画面だけで完結できます。
237+
238+
**使い方:**
239+
```bash
240+
git issue-list
241+
git issue-list -h # ヘルプを表示
242+
```
243+
244+
**処理フロー:**
245+
1. `gh issue list` でopenしているIssueを取得し、番号付きで一覧表示(タイトルと本文の冒頭をプレビュー)。
246+
2. 入力待ちのプロンプトで番号またはショートカットを受付。
247+
3. 番号を入力すると詳細ビューとアクションメニューを表示。
248+
4. 選択したアクションを実行後は再び一覧に戻り、必要な回数だけ繰り返し操作できます。
249+
250+
**一覧画面で使える入力:**
251+
252+
- `1``n`: 指定したIssueの詳細を表示しアクションメニューへ。
253+
- `n`: 新しいIssueを作成(`git issue-create` と同じエディタフロー)。
254+
- `bc`: 表示中のIssueの中から複数件を選択して一括クローズ。
255+
- `q`: 即終了。
256+
- Enterのみ: 不正入力扱いで再度入力待ちになります。
257+
258+
**アクションメニュー(番号入力後):**
259+
260+
- `e`: 選択したIssueをエディタで編集。
261+
- `m`: コメントを追加(本文だけ編集)。
262+
- `c`: コメント入力→Issueクローズ。コメントを空にするとコメント無しでクローズ。
263+
- `n`: 別の新規Issueを作成。
264+
- `b`: 一覧に戻る。
265+
- `q`: issue-list全体を終了。
266+
267+
**主な機能:**
268+
- Issue一覧と本文プレビューの同時表示。
269+
- 詳細画面からそのまま編集/コメント/クローズを実行。
270+
- 一括クローズ操作(`bc`)を内蔵し、複数番号をまとめて処理可能。
271+
- 空のIssue一覧でも新規作成に誘導。
272+
- `git config core.editor` / `VISUAL` / `EDITOR` で設定されたエディタを自動利用。
273+
274+
**注意事項:**
275+
- GitHub CLI (`gh`) が必要です。`gh auth login` 済みであることを確認してください。
276+
- 一括クローズ後は一覧が再取得され、直前の選択状態はリセットされます。
277+
- コメントやクローズ処理はIssueごとに逐次実行されるため、途中で失敗した場合も結果サマリーに成功/失敗件数が表示されます。
278+
279+
## git issue-bulk-close
280+
281+
複数のIssue番号を指定し、同じコメントを投稿してからまとめてクローズします。issue-listの `bc` からも内部的に呼び出されるほか、単独コマンドとしても利用できます。
282+
283+
**使い方:**
284+
```bash
285+
git issue-bulk-close 12 15 18 # Issue 12,15,18 を一括クローズ(コメントはエディタ入力)
286+
git issue-bulk-close 42 43 -m "対応完了" # 42と43を同じコメントでクローズ
287+
git issue-bulk-close 1 2 3 # 全角数字も入力可
288+
git issue-bulk-close -h # ヘルプを表示
289+
```
290+
291+
**オプション:**
292+
293+
- `-m, --message <text>`: コメントを直接指定。省略すると一時ファイルをエディタで開いて入力。
294+
295+
**処理フロー:**
296+
1. 引数のIssue番号を正規化(全角→半角、重複排除)し、openかどうかチェック。
297+
2. 対象Issueのタイトル一覧を表示して最終確認。
298+
3. コメントを取得(`-m` 指定時はそのまま使用、未指定時はエディタで入力)。空でも可。
299+
4. 各Issueに対してコメント投稿(任意)→`gh issue close` でクローズを順に実行。
300+
5. 成功/失敗件数をサマリー表示。
301+
302+
**コメント入力テンプレート(エディタ起動時):**
303+
```markdown
304+
# 一括クローズ用コメント
305+
#
306+
# 以下のissueに同じコメントを投稿してクローズします:
307+
# - Issue #12
308+
# - Issue #15
309+
# - Issue #18
310+
# ...
311+
# コメントを空にするとコメントなしでクローズされます。
312+
```
313+
314+
**使用例:**
315+
```bash
316+
# バグ修正が完了したIssueをまとめて閉じる
317+
git issue-bulk-close 101 104 105 -m "Fix deployed to production"
318+
319+
# コメントを書きながら確認したい場合
320+
git issue-bulk-close 21 22 23
321+
```
322+
323+
**注意事項:**
324+
- GitHub CLI (`gh`) が必要です。`gh auth login` 済みであることを確認してください。
325+
- 既にクローズ済みのIssueは警告を出してスキップします。
326+
- コメントを空にするとコメント追加をスキップした状態でクローズのみ実行します。
327+
- 大量のIssueを指定した場合は順次処理されるため、途中で失敗した番号があっても残りは続行します。

0 commit comments

Comments
 (0)