GitHub DiscussionをCLIで管理できるgh-discussionを作りました!
忙しい人へのまとめ
GitHub DiscussionをCLIで効率的に管理できるGitHub CLI拡張機能「gh-discussion」を作成しました!
- GitHub Discussionをコマンドラインから一覧表示・詳細表示可能
- カテゴリー別フィルタリングやコメント表示にも対応
- ブラウザを開かずにDiscussionの全ての情報を確認できる
- GitHub CLIの標準機能として自然に統合される
動作の様子
GitHub Discussionって何?
GitHub Discussionは、GitHubで提供されているコミュニティ機能の一つです。IssueやPull Requestよりもカジュアルで、質問や議論、アイデアの共有などに適しています。
従来、GitHub Discussionを確認するにはブラウザでGitHubにアクセスする必要がありましたが、開発中にターミナルから離れたくない場面も多いですよね...。
どうして作ったの?
日々の開発作業の中で、以下のような不便さを感じていました:
- ブラウザとターミナルの行き来が面倒:コードを書いている最中にDiscussionを確認するためにブラウザを開くのが手間
- 検索が不便:GitHub上でのDiscussion検索は意外と使いにくい
- GitHub CLIとの一貫性:IssueやPRはGitHub CLIで管理できるのに、Discussionだけブラウザが必要
- AIでの使用: AIを使った分析時にCLIで操作できた方が便利
これらの問題を解決するため、CLI上でDiscussionをサクッと確認できるツールを作りました!
インストール方法
GitHub CLI拡張機能として簡単にインストールできます:
gh extension install harakeishi/gh-discussion
インストール後は、gh discussion
コマンドが使用可能になります。
使用方法
Discussionの一覧表示
# 現在のリポジトリのDiscussion一覧を表示
gh discussion list
# 特定のリポジトリのDiscussion一覧を表示
gh discussion list -R owner/repo
# 取得件数を指定(デフォルト30件)
gh discussion list -L 50
実行すると、Discussion一覧が見やすい表形式で表示されます!
NUMBER TITLE AUTHOR CATEGORY ANSWERED COMMENTS UPDATED
───────────────────────────────────────────────────────────────────────────────────────────────────
13 test1 harakeishi Q&A Yes 2 28 minutes ago
Discussionの詳細表示
# Discussion詳細を表示
gh discussion view 13
# コメントも含めて詳細表示
gh discussion view 13 -c
詳細表示では、Discussion内容からコメントまで全ての情報を確認できます:
Discussion #13
test1
Author: harakeishi
Category: Q&A
Repository: harakeishi/gh-discussion
Created: 29 minutes ago
Updated: 28 minutes ago
Answered: Yes
Comments: 2
URL: https://github.com/harakeishi/gh-discussion/discussions/13
─────────────────────────────────────────────────────────────────────────
test1
─────────────────────────────────────────────────────────────────────────
Comments
Comment #1
harakeishi • 28 minutes ago
test1-comment1
┌─
Comment #1 Answer
harakeishi • 28 minutes ago
test1-comment1-child1
Comment #2
harakeishi • 28 minutes ago
test1-comment2
技術的な特徴
使用技術
- 言語:Go
- GitHub API:Discussion情報の取得
- CLI:表形式での見やすい出力
- コメントシステム:ネストしたコメントの表示に対応
アーキテクチャ
gh-discussion
├── cmd/ # コマンドライン処理
├── gh/ # GitHub API連携
└── main.go # エントリーポイント
できること・できないこと
✅ できること
- GitHub Discussionの一覧表示(表形式)
- Discussion詳細の表示
- コメント表示(ネストしたコメントにも対応)
- 複数リポジトリに対応
- 取得件数の制限設定
- 回答済み・未回答の確認
- カテゴリー、作成者、更新日時の表示
❌ 今後対応したいこと
- Fuzzy Searchによる検索機能
- 新しいDiscussionの作成
- Discussionへのコメント投稿
- カテゴリー別フィルタリング
パフォーマンスと使用感
GitHub APIからデータを取得するため、ネットワーク接続が必要ですが、表形式の見やすい出力とネストしたコメント表示により、非常に快適に使用できます!
特に、以下のような場面で威力を発揮します:
- Q&Aセクションの確認:回答済み・未回答が一目で分かる
- コミュニティの議論追跡:コメントの詳細まで含めて一気に確認
- プロジェクト管理:カテゴリー別の整理状況を把握
おわりに
GitHub Discussionをもっと気軽に、もっと効率的に使いたいという思いから生まれたこのツール。まだまだ改善の余地がありますが、日々の開発作業を少しでも快適にできれば嬉しいです!
**バグ報告や機能要望、Pull Requestなど、どんなフィードバックでも大歓迎です!**ぜひ使ってみて、気になる点があれば教えてください 🙌
GitHub CLI拡張機能として開発したので、既にGitHub CLIを使っている方であれば違和感なく導入できると思います。ターミナルでの作業効率をさらに向上させましょう!
Discussion