コンテンツにスキップ

CLIコマンドリファレンス

Rigorのすべてのコマンドは単一のrigor実行ファイルのサブコマンドです:

Terminal window
rigor <command> [options] [arguments]

rigor helpはコマンド一覧を表示し、rigor versionはインストール済みバージョンを表示します。不明なコマンドや不正なオプションの場合、64で終了します——これは慣例的な「使用法エラー」コードです。

コマンド check · init · annotate · type-of · type-scan · explain · diff · sig-gen · lsp · baseline · triage · coverage · mcp · plugins · plugin · playground · skill · lsp対mcp · 終了コード

Rubyソースを型エラーについて解析し、診断を報告します。 日常使いとCIで実行するコマンドです。

Terminal window
rigor check [paths...]

pathsはファイルまたはディレクトリです。省略した場合、Rigorは設定ファイルのpaths:リストを解析します。

オプション説明
--config=PATH自動探索の代わりに特定の設定ファイルを使用する。
`—format=textjson`
--explainフェイルソフトフォールバックイベントをinfo診断として表示する。
--no-cacheこの実行では永続キャッシュをスキップする。
--clear-cache実行前にキャッシュディレクトリを削除する。
--cache-stats終了時にオンディスクキャッシュのインベントリを表示する。
--[no-]stats実行サマリー(ファイル数、クラス数、メモリ、経過時間)をstderrに表示する。デフォルトはオン。
--workers=NN個の並列ワーカープロセスに解析を分散する(現在はfork方式のプール、ADR-15)。デフォルトは0(逐次処理)。
--baseline=PATH設定を上書きしてベースライン(baseline)ファイルを読み込む。
--no-baseline設定されたベースラインを無視する。
--baseline-strictベースラインのドリフトで実行を失敗させる——CIゲートとして使用。
--treat-all-as-inline-rbsrigor-rbs-inlinerequire_magic_comment: falseで強制ロードし、解析されるすべてのファイルを# rbs_inline: enabledコメントなしでインラインRBSとして扱う(ADR-32)。
--tmp-file=PATH --instead-of=PATHエディタモード: --tmp-fileのバッファを使ってPATHを解析する。両方必須。

エラー重要度の診断がない場合は0で終了、診断がある場合は1で終了、使用法エラーの場合は64で終了します。

スターター設定ファイルを書き出します。

Terminal window
rigor init [--path=PATH] [--force]

デフォルトでは.rigor.dist.ymlを書き出します。--pathで別のターゲットを指定し、--forceで既存ファイルを上書きします。--forceなしでファイルが存在する場合は1で終了します。

ファイルを再表示し、各行に評価する式の型を末尾の#=> dump_type:コメントとしてタグ付けします。推論型の検査を参照してください。

Terminal window
rigor annotate [--[no-]color] [--config=PATH] FILE

FILEは必須です。カラーはttyの場合に自動検出され、NO_COLORを尊重します。--color / --no-colorで上書きできます。パースエラーやファイル不在の場合は1で終了します。

1つのソース位置の推論型を表示します。

Terminal window
rigor type-of FILE:LINE:COL
rigor type-of FILE LINE COL

位置は単一のfile:line:colトリプルまたは3つの引数として受け付けます。--format=jsonはマシン可読な形式を出力し、--traceはフェイルソフトフォールバックを記録します。checkと同様にエディタモードの--tmp-file / --instead-ofペアも受け付けます。

パス全体のtype_of推論カバレッジを報告します——診断器自体の診断で、クラスの推論が不良な理由を調査するときに役立ちます。

Terminal window
rigor type-scan PATH...

--limit=Nは表示例の上限を設定し(デフォルト10)、--show-recognizedは完全にカバーされたクラスを含め、--threshold=RATIOは未認識ノードの割合がRATIOを超えた場合にコマンドをゼロ以外で終了させます。

診断ルールのカタログエントリーを表示します。引数なしで呼び出すとすべてのルールを一覧表示します。

Terminal window
rigor explain [rule]

ruleはルールID(call.undefined-method)、レガシーエイリアス、またはファミリーワイルドカード(callflowdefassertdump)です。--format=jsonが利用可能です。不明なルールの場合は64で終了します。

現在の診断を保存済みベースラインJSONと比較し、新しいものだけを報告します。

Terminal window
rigor diff <baseline.json> [paths...]

--current=PATHは新規チェックを実行する代わりに保存済み診断JSONと比較します。新しい診断が現れた場合は1で終了します。

Rubyソースから推論したRBSシグネチャを出力します。分類モデルと--paramsポリシーについてはハンドブック第11章を参照してください。

Terminal window
rigor sig-gen [paths]
オプション説明
--printRBSをstdoutに書き出す。デフォルト。
--diff既存RBSに対するunified diffを書き出す。
--writeRBSをsig/<path>.rbsファイルに書き出す。
--overwriteより厳密な戻り値の更新でユーザー作成のRBSを置き換えることを許可する。
--include-privateprivateおよびprotectedメソッドも出力する。
`—params=untypedobserved
--observe=PATHコールサイト観察のためにPATHをスキャンする。繰り返し可能。
--new-files / --new-methods / --tighter-returnsその分類のみ出力する。
`—format=textjson`

stdioで言語サーバーを実行します。エディタ統合を参照してください。

Terminal window
rigor lsp [--transport=stdio] [--log=PATH] [--config=PATH]

stdioはv1で唯一のトランスポートです。--log=PATHはワイヤーログをstderrの代わりにファイルに書き出します。

診断ベースラインを管理します。ファイル形式とワークフローについてはベースラインを参照してください。

Terminal window
rigor baseline <generate|regenerate|dump|drift|prune> [options]
サブコマンド目的
generate現在の診断から新しいベースラインを書き出す。--forceなしで上書きを拒否する。
regenerate無条件にベースラインを書き直す——品質改善後に使用する。
dumpベースラインの内容を表示する。--rule--fileでフィルタリング可能。
drift各バケットのドリフトを監査する。`—only=within
prune診断に一致しなくなったバケットを削除する。--dry-runでプレビュー。

generateregenerate--output=PATH--match-mode=rule|messageを受け付けます。

生のリストをダンプする代わりに、診断ストリームを要約します——ルール分布、ファイルごとのホットスポット、ヒューリスティックな「なぜ」のヒント。ベースラインを参照してください。

Terminal window
rigor triage [paths]

--top=Nはホットスポット数を設定し(デフォルト10)、--hints-only--no-hintsは表示するセクションを選択します。triageは参考情報であり、常に0で終了します——ビルドをゲートすることはありません。

型精度カバレッジ — 精密な型に解決する呼び出しサイトとDynamicへフォールバックする呼び出しサイトの比率 — を報告します。「Rigorが実際にどれだけ推論しているか」の品質ゲートです。

Terminal window
rigor coverage [paths]

--format=text|jsonが出力形式を選び、--config=PATHが設定探索をオーバーライドします。--threshold=RATIOは精度比率がRATIO0.01.0)を下回ると1で終了し、CIゲートになります。

RigorのMCP(Model Context Protocol)サーバーをstdio上で実行し、AIコーディングアシスタントがRigorツールを直接呼び出せるようにします。MCPサーバーを参照してください。

Terminal window
rigor mcp [--transport=stdio] [--config=PATH]

stdioが唯一のトランスポートです。サーバーは純Ruby製のJSON-RPC 2.0実装で、7つの読み取り専用ツール(rigor_checkrigor_type_ofrigor_triagerigor_annotaterigor_sig_genrigor_explainrigor_coverage)を公開します。

lspはエディタへLanguage Server Protocolを話し;mcpはAIアシスタントへModel Context Protocolを話します。両方ともstdio上で動き、同じ解析エンジンをラップします。

.rigor.ymlに設定された各プラグインの有効化状態 — ロード済み、ロードエラー(理由付き)、各プラグインの宣言した拡張サーフェス(surface) — を報告します。プラグインを参照してください。

Terminal window
rigor plugins [--format=text|json] [--strict] [--capabilities] [--config=PATH]

--strictなしでは常に0で終了し、--strictでは1つでもプラグインのロードに失敗すると1で終了します(CIゲート)。

--capabilities拡張プロトコルカタログADR-37)に切り替えます。これは、ロードされた各プラグインが何を提供するか——そのnode_ruleがマッチするASTノード型、そのdynamic_returnがゲートするレシーバークラス、そのtype_specifierがナローイングするメソッド、そしてそれがproducesconsumesするファクト——を集約した、焦点を絞った機械可読なマップです。ツール連携のために--format=jsonと組み合わせます(AIエージェントはプラグインのソースを1行も読まずに、すべてのプラグインの振る舞いを列挙できます)。同じ狭いサーフェスはデフォルトのフルレポートにも現れます。単数形のrigor pluginと混同しないこと。

ツールチェーンにバンドルされたプラグインのオンディスクのソースをブラウズし、自前のプラグインを著作する際に本物の動作するプラグインを作業例として読めるようにします。

Terminal window
rigor plugin <list|path|print|root> [name]
サブコマンド目的
listバンドルされた各プラグイン・例の名前 + 絶対ディレクトリパスの表(サブコマンドなしのデフォルト)。
path <name>プラグインのディレクトリへの1行の絶対パス。
print <name>ヘッダー(dir / lib / sig / READMEパス)に続けてプラグインの主ソース本体をインライン展開。
rootrigortype gemルートとその主要サブディレクトリ。

パスはgemの場所から実行時に解決されます(コンテナ / クロスファイルシステム構成では文書化された注意点)。

ブラウザプレイグラウンド(リアルタイム診断付きのCodeMirrorエディタ)を起動します。別のrigor-playground gemが必要で、未インストールならインストールヒントを出力して64で終了します。

Terminal window
rigor playground

rigortype gemの内部に出荷されたバンドル済みAgent Skillsを一覧・出力し、Rigorと並んでインストールされたAIコーディングエージェントが、プロジェクト側のソースチェックアウトなしにそれらを発見・追従できるようにします。スキルを参照してください。

Terminal window
rigor skill <list|print|path> [name]
サブコマンド目的
listバンドルされた各スキルの名前 + 絶対パスの表;サブコマンドなしのデフォルト。
print <name>SKILL.md本体をstdoutへ出力。スキルのreferences/ディレクトリを指すヘッダー付き。
path <name>1行の絶対SKILL.mdパスを出力。ファイル読み取りツールへの入力に適する。
コード意味
0成功 — エラー重要度の診断なし。
1診断あり、またはコマンド固有のエラー(パースエラー、ファイル不在、diffでの新規診断)。
64使用法エラー — 不明なコマンド、不正なフラグ、不正な引数。

rigor triageは例外で、参考情報であり常に0で終了します。

© 2026 TypedDuck. Licensed under CC BY-SA 4.0.