pay-respects:592⭐のRust製コマンド修正ツール
ターミナルでコマンドを打ち間違えるのはプログラマーの日常だ。「command not found」の表示を見て、↑キーで履歴を遡って手動で修正する。そんな繰り返し作業は、とっくに自動化されるべきだった。
pay-respects は Rust で書かれたコマンド提案ツール。直前に間違えたコマンドを自動検出し、最も可能性の高い正しいバージョンを提示する。
プロジェクト概要
| 属性 | 内容 |
|---|---|
| GitHub | iffse/pay-respects |
| Stars | 592 |
| 言語 | Rust |
| 特徴 | ゼロコンフィグ、マルチシェル対応、拡張可能なルール |
| 最終更新 | 数時間前 |
解決する問題
従来のコマンド修正ツール(thefuck など)にはいくつかの痛みがある:
- 起動が遅い:Python 製なので、コールドスタートで遅延を感じる
- 依存が重い:Python 環境が必要で、最小限のシステムにはない
- ルールがハードコード:カスタムルールの追加が面倒
pay-respects は Rust で書き直されたことで、コールドスタートがほぼ感じられない。バイナリ単体で動作し、ランタイム依存がない。
主要機能
マルチシェル対応
Bash、Zsh、Fish、Nushell をネイティブサポート。追加設定不要。
スマートマッチング
単純な文字列置換ではなく、エラータイプを分析:
- スペルミス(
gti status→git status) - 権限不足(自動的に
sudoを追加) - パッケージマネージャー関連(
apt isntall→apt install) - パス関連(ファイルパスの自動補完)
拡張可能なルールシステム
TOML でルールを記述。正規表現マッチングと条件分岐に対応。社内 CLI ツール用の修正ルールも数行の設定で追加できる。
軽量
インストールパッケージは 5MB 未満。メモリ消費も無視できるレベル。
クイックスタート
# cargo でインストール
cargo install pay-respects
# またはビルド済みバイナリをダウンロード
curl -fsSL https://pay-respects.iffse.dev/install.sh | sh
シェル設定に1行追加(zsh の例):
eval "$(pay-respects zsh)"
有効化後、コマンドを間違えたら Ctrl+G(または設定したショートカット)を押すと提案が表示される:
$ gti status
gti: command not found
$ [Ctrl+G]
> git status
類似ツール比較
| ツール | Stars | 言語 | 起動速度 | 特徴 |
|---|---|---|---|---|
| thefuck | 90k+ | Python | 遅め | エコシステムが成熟、ルールが豊富 |
| pay-respects | 592 | Rust | 極速 | 軽量、拡張可能 |
thefuck のエコステムは確かに成熟している。しかし Python の起動遅延にうんざりしているなら、pay-respects はクリーンな代替案になる。
ユースケース
- よく打ち間違える人
- リソース制限のある環境(コンテナ、組み込み)で働く開発者
- 内部ツールに修正ルールを追加したいチーム
- 起動速度にこだわる人
制限事項
- thefuck ほどルールが豊富ではない(だが急速に増加中)
- 一部の複雑なエラーパターンは未対応
- ショートカットキーの手動設定が必要
まとめ
pay-respects は thefuck の全機能を置き換えようとしない。より速く、より軽いコアソリューションを提供する。日常のコマンドミスの 90% に対しては十分に機能する。git、docker、kubectl、npm などの一般的なコマンドを主に使うなら、標準ルールで事足りる。
| 属性 | 内容 |
|---|---|
| リポジトリ | https://github.com/iffse/pay-respects |
| ライセンス | AGPL-3.0 |
| 言語 | Rust |
| 開発者 | @iffse |