Skip to content

出力とエラー ​

設計としての JSON ファースト ​

rimo はデフォルトで stdout に JSON を出力します。ターミナルで実行しても、 パイプにつないでも、CI の中でも出力は同じです。だからこそスクリプトから安全に 扱え、AI エージェントも安心してパースできます。実行環境によって形式が変わることは なく、変えられるのはフラグだけです。

パースではなく「読む」ことが目的のときは --pretty を付けてください。詳しくは 人間向け出力 を参照してください。

一部の人間向けコマンドは、JSON のラッパーがかえって邪魔になるため、成功時には 代わりにプレーンテキストを出力します:

  • rimo version と rimo upgrade
  • rimo note ask(ストリーミングされる回答)
  • --transcript、--document、--full、--meeting-chat、--document-id を 指定した rimo note get

これらの場合でも、エラーは常に JSON なので、失敗は機械可読のままです。

形式にかかわらず、stdout にはデータが、stderr にはそれ以外のすべて(進捗表示、 更新のお知らせ、Fetch a note: やページネーションのヒント)が出力されます。 そのため stdout をそのまま jq にパイプしても安全です。

各コマンドが返す値をフィールド単位で確認するには レスポンスリファレンス を参照してください。

人間向け出力 (--pretty) ​

--pretty を付けると、同じデータが JSON ではなく表(一覧の場合)または 桁を揃えたキー/値のブロック(単一レコードの場合)で表示されます。

bash
rimo note list --pretty
ID                    TITLE                            HELD AT           DURATION  STATE
J9yyjDQLJWqhiSTH0sAT  週次定例 プロダクトチーム        2026-09-05 14:30  58m       ASR_DONE
aK2mLp0QQzXcVbNm1234  Rimo CLI design review — outpu…  2026-09-04 10:00  1h 05m    ASR_DONE

2 of 137 notes
Next page: --page-token next-page-2

これは明示的に指定したときだけ有効になり、自動で切り替わることはありません。 rimo note list はターミナルの有無にかかわらず JSON を返すので、昨日動いていた スクリプトは今日も動きます。また rimo note list --pretty | grep 定例 は画面で 見たものとまったく同じ内容を返します。

長い値と狭いターミナルの扱い ​

レイアウトはターミナルの幅に合わせて調整されます(COLUMNS を設定していれば その値、なければターミナルの実際の幅、パイプ時は 100 桁)。

  • ID と日時は決して省略しません。 rimo note get に貼り戻せない ID では 意味がないため、代わりに長いタイトル側が幅を譲ります。
  • 幅が足りなくなったら、列ごと落とします(重要度の低い順)。すべての列を 「…」だらけになるまで削ることはしません。ターミナルを広げて再実行すれば より多くの列が表示されます。
  • 非常に長いテキスト項目(議事録の markdown、検索スニペット、メモ)は 列として表示しません。行全体が「…」で埋まってしまうためです。必要な場合は --fields で明示的に指定してください。
  • 複数行の値は 1 行に畳まれます。メモが表を崩さないようにするためです。 全文を読みたい場合は単一レコードを取得してください。rimo note get <id> --pretty は値を切り詰めずに折り返します。

列の選び方 ​

--fields で列とその順序を指定し、--excludes で除外します。

bash
rimo note list --pretty --fields id,title,held_at
rimo team list --pretty --excludes description

--fields で明示した列は、ターミナルが狭くても落とされません。

使わないほうがよい場面 ​

  • スクリプトやパイプライン — JSON をパースしてください。表の桁揃えや 列の構成は表示上の詳細であり、リリース間で変わる可能性があります。
  • AI エージェント — JSON のほうが小さく曖昧さがなく、--fields と 組み合わせればレスポンスを安く保てます。
  • --fields=compact は JSON 専用のモード(長い値を "[omitted]" に置換)です。 --pretty では無視されます。レイアウトが既に値をターミナル幅に合わせるためです。

--pretty の有無にかかわらず、エラーは常に JSON です。成功時の表示方法に よってエラー処理が変わることはありません。

フィールドのフィルタリング ​

--fields と --excludes は、出力が JSON である任意のコマンドに適用されます。 これらはエンベロープの内側のレコードに適用され、 next_page_token や total_count といったスカラーのメタデータは常に保持されます。

--fields ​

値挙動
""(デフォルト)すべてのフィールド、完全な値
"compact"すべてのフィールド。長い文字列値は "[omitted]" に置換
"f1,f2,f3"これらのフィールドのみ
bash
rimo note list --fields compact
rimo note list --fields id,title,created_at

--excludes ​

出力から削除するフィールド名をカンマ区切りで指定します。--fields の後に 適用されます。

bash
rimo note list --excludes transcript,document_markdown

フィールドのフィルタリングは AI エージェントに特に有用です。必要なフィールドのみ (--fields id,title)を要求することで、レスポンスを小さく、パースを安価に保てます。

ドライラン ​

書き込み系コマンドに --dry-run を付けるとリクエストは送信されず、レスポンス形状の プレースホルダーの例に "dry_run": true を加えたものが返ります。 ドライランの出力 を参照してください。

終了コード ​

コード意味
0成功
1エラー

終了コードは成功か失敗かを判断する信頼できるシグナルです。出力をパースするのではなく、 スクリプトでは終了コードを確認してください。

エラー形式 ​

エラーは JSON として stdout に出力され、終了コード 1 で終了します:

json
{
  "code": "error",
  "message": "unknown flag: --bogus"
}
フィールド説明
code機械可読のエラーコード。現状は常に error。
message失敗内容を表す人間向けメッセージ(検証メッセージや API ステータスなど)。