- セキュリティ脆弱性の修正
mapWithLimit/formatErrorMessageのプロパティベーステスト追加- キャッシュ済み
DisplayLineオブジェクトへのミューテーション修正(スプレッドコピー化) headerIndicesの再計算を排除(事前計算済み値を渡す形に変更)extractAuthorNameに Map キャッシュを追加TextDecoderをモジュールレベルのシングルトンに変更diffTextStatusのデフォルト値をモジュールレベル定数に安定化
PR レビューの完全なワークフロー(閲覧→コメント→承認→マージ)を網羅した初回安定版。
- リポジトリ一覧表示・選択
- PR 一覧(Open / Closed / Merged フィルタ、検索、ページネーション)
- 色付き unified diff 表示(追加=緑、削除=赤)
- カーソルベースの diff ナビゲーション(
>マーカー) - Tab/Shift+Tab によるコミット単位レビュー
- PR 全体コメント投稿(
cキー) - インラインコメント投稿(
Cキー) - コメント返信・スレッド表示(
Rキー) - コメント編集(
eキー、内容プリフィル) - コメント削除(
dキー、確認プロンプト) - 長いスレッドの折りたたみ/展開(
oキー、4件以上で自動折りたたみ)
- 絵文字リアクション(
gキー、8種類: 👍👎😄🎉😕❤️🚀👀) - リアクションバッジ表示(例: 👍×2 🎉×1)
- PR 承認 / 承認取り消し(
a/rキー) - 承認状態・承認ルール評価表示
- マージ戦略選択(Fast-forward / Squash / Three-way)
- マージ前コンフリクト検出
- PR クローズ(
xキー)
- タイトル・著者名でのインクリメンタル検索(
/キー) - ページネーション(
n/pキー) - Vim 風キーバインド(j/k ナビゲーション)
- Ctrl+d/u 半ページスクロール・G 最終行ジャンプ
- bash / zsh / fish 補完スクリプト生成(
--completionsオプション) - AWS プロファイル・リージョン指定
- TUI 初期実装
- Vim 風ナビゲーション(j/k キー)
- PR 一覧・PR 詳細表示
- コメント閲覧
目的: PR の経過をタイムラインで把握し、リアルタイムに近いレビュー体験を提供する。
| 機能 | 内容 |
|---|---|
| アクティビティタイムライン | PR のイベント履歴を時系列で表示(A キー) |
| イベント種別表示 | コメント / 承認 / マージ / ステータス変更等のアイコン付き表示 |
| 自動リフレッシュ | PR 詳細画面で定期的にコメント・承認状態を再取得(ポーリング) |
| リフレッシュインジケータ | 新しいコメントがある場合にバッジで通知 |
DescribePullRequestEventsCommand— PR イベント履歴の取得
| キー | 動作 | 画面 |
|---|---|---|
A |
アクティビティタイムライン表示 | PR 詳細 |
目的: diff の可読性とファイル単位のナビゲーションを大幅に向上させる。
| 機能 | 内容 | 状態 |
|---|---|---|
| 行番号ガター | diff の add/delete/context 行に変更前/変更後の行番号を表示( 3 4 │ 形式) |
✅ |
| 変更行ジャンプ | ]c で次の変更行、[c で前の変更行へジャンプ(Vim diff 風 2キーシーケンス) |
✅ |
| シンタックスハイライト | diff 内のコードをファイル拡張子に応じて色付け表示 | |
| ファイルツリー | PR 内の変更ファイルをツリー表示し、ファイル間をジャンプ(t キー) |
|
| diff 統計 | ファイル別・合計の追加行/削除行数を表示 | |
| ファイルジャンプ | ファイルツリーで選択したファイルの diff 位置へ直接移動 |
| キー | 動作 | 画面 |
|---|---|---|
]c |
次の変更行(add/delete)へジャンプ | PR 詳細 |
[c |
前の変更行(add/delete)へジャンプ | PR 詳細 |
t |
ファイルツリー表示 | PR 詳細 |
- シンタックスハイライトは最小依存の方針と要相談。軽量なトークンベースの着色か、外部ライブラリの導入を検討
- ファイルツリーは既存の
formatDiffのファイル情報から構築可能
目的: PR の作成・編集をレビュー機能とは独立したオプションとして提供する。
レビュー機能とは完全に分離された CLI オプション(--create / --edit)として実装する。既存のレビューフローに影響を与えず、必要な人だけが使える設計。
| 機能 | 内容 |
|---|---|
| PR 新規作成 | --create オプション、または PR 一覧画面から N キー |
| ブランチ一覧 | ソース・デスティネーションブランチをリストから選択 |
| PR タイトル編集 | 既存 PR のタイトルを編集(E キー → t 選択) |
| PR 説明編集 | 既存 PR の説明を編集(E キー → d 選択) |
CreatePullRequestCommand— PR の新規作成UpdatePullRequestTitleCommand— PR タイトルの更新UpdatePullRequestDescriptionCommand— PR 説明の更新ListBranchesCommand— ブランチ一覧の取得
| キー | 動作 | 画面 |
|---|---|---|
N |
PR 新規作成 | PR 一覧 |
E |
PR タイトル/説明を編集 | PR 詳細 |
{
"Action": [
"codecommit:CreatePullRequest",
"codecommit:UpdatePullRequestTitle",
"codecommit:UpdatePullRequestDescription",
"codecommit:ListBranches"
]
}目的: 設定基盤と安定性を確立し、正式な v1.0 をリリースする。
| 機能 | 内容 |
|---|---|
| 設定ファイル | .reviewcommitrc (JSON/YAML) による設定永続化 |
| デフォルトリポジトリ | カレントディレクトリの git remote から自動判定 |
| キーバインドカスタマイズ | 設定ファイルでキーバインドを変更可能 |
| テーマ | カラースキームの切り替え(ダーク/ライト/カスタム) |
| パフォーマンス最適化 | API レスポンスキャッシュ、遅延ロードの全面適用 |
- 設定ファイルの探索順序:
./.reviewcommitrc→~/.config/review-codecommit/config.json→~/.reviewcommitrc - v1.0 はセマンティックバージョニングにおける「安定 API」を意味するため、キーバインドや CLI オプションの後方互換性を保証する
v0.2.0 アクティビティ・自動更新 ← PR の経過把握とリアルタイム更新
│
v0.3.0 UX 強化 ← diff の可読性とナビゲーション向上
│
v0.4.0 PR 作成・編集 ← レビューとは独立したオプション
│
v1.0.0 安定版 ← 設定基盤・パフォーマンス・後方互換保証
各バージョンは独立してリリース可能。v0.2.0 以降はレビュー体験の強化・開発者体験の向上を優先し、その後に PR 作成・編集を独立オプションとして追加する。