19
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ターミナルからPRを監視するTUIツール「prtop」を作った

19
Posted at

TL;DR

  • ターミナル常駐型のPR監視ツールを作りました
  • 自身が Author または Reviewer となっているPRを一覧で表示し、状態変化時の自動更新・通知を行います
  • arcの Live Folderの代替を目指して作ったので、arcからの移住先に悩んでいる人へ

宣伝

弊社では福利厚生として miive を導入しています。書籍の購入や食事に使える費用補助なんですが、codex や claude code などのサブスクリプションにも利用できます。
今回の prtop は、miive で加入した Claude Code を使って実装しました。
福利厚生で coding agent が使えるのは嬉しいですね。

モチベーション

arcからの脱却

ここしばらくブラウザはArcを使っていたんですが、正直細々した挙動が色々とつらく、開発も終了ということで移住先をずっと探していました。
しかし、arcを使う一番の理由となっていた Live Folder の代替となる機能を持つブラウザが見つからず、ずるずると使い続けていました。

Live Folder
自身に関係するGithubのPRを自動でサイドバーに追加・削除してくれる機能

gmailの通知気づかない問題

また、自身の PR に review コメントが付いた際やマージされた際の通知を
github からメール通知 → gmail からシステム通知
としていたんですが、たまにシステム通知が飛んでない気がしており見逃しがちでした。

そこで、この辺りを解決するために、ターミナル常駐でPRを監視してくれるツールを自作することにしました。

gh dashなど既存のツールでもPR一覧の表示はできますが、大抵はPRの操作まで行えてしまいtypoによる誤操作が怖い(1敗)ので、表示だけのものが欲しく自作を決めました。

紹介

概要

prtopは、GitHub上で自分がAuthorまたはReviewerになっているPRをターミナル上で一覧表示するTUIツールです。

# インストール
cargo install prtop

# 起動
prt

起動すると、自分に関連するPRが一覧表示されます。

image.png

主な機能

  • PR一覧表示:自分がAuthorまたはReviewerのPRを一覧で表示
  • 自動更新:設定した間隔(デフォルト60秒)でポーリング
  • 通知:PRのマージ、レビュー依頼、新着コメントなどのイベントを通知
  • キーボード操作j/kで移動、EnterでPRをブラウザで開く

詳しくは README をご覧ください。

私の環境(WSL2 + WezTerm)での動作確認しかできていないです。
特に通知はOSC 9を使っているのでターミナルによっては対応していません。

PRの取得に github の personal access tokenが必要です。
必ず read only 権限で発行したものを使用してください。

おわりに

coding agentによって、「こんなん欲しい」 → 「作ろう」 のハードルが非常に低くなりましたね。
今回も最小機能で動くプロトタイプは、要件の壁打ち含めて30分ほどで完成しました。
基本的に自分用に作ったものですが、もし同じような不便を感じている方がいればぜひ試してみてください。

19
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?