出力とエラー
設計としての JSON ファースト
rimo はデフォルトで stdout に JSON を出力します。ターミナルで実行しても、 パイプにつないでも、CI の中でも出力は同じです。だからこそスクリプトから安全に 扱え、AI エージェントも安心してパースできます。実行環境によって形式が変わることは なく、変えられるのはフラグだけです。
パースではなく「読む」ことが目的のときは --pretty を付けてください。詳しくは 人間向け出力 を参照してください。
一部の人間向けコマンドは、JSON のラッパーがかえって邪魔になるため、成功時には 代わりにプレーンテキストを出力します:
rimo versionとrimo upgraderimo note ask(ストリーミングされる回答)--transcript、--document、--full、--meeting-chat、--document-idを 指定したrimo note get
これらの場合でも、エラーは常に JSON なので、失敗は機械可読のままです。
形式にかかわらず、stdout にはデータが、stderr にはそれ以外のすべて(進捗表示、 更新のお知らせ、Fetch a note: やページネーションのヒント)が出力されます。 そのため stdout をそのまま jq にパイプしても安全です。
各コマンドが返す値をフィールド単位で確認するには レスポンスリファレンス を参照してください。
人間向け出力 (--pretty)
--pretty を付けると、同じデータが JSON ではなく表(一覧の場合)または 桁を揃えたキー/値のブロック(単一レコードの場合)で表示されます。
rimo note list --prettyID 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 で除外します。
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" | これらのフィールドのみ |
rimo note list --fields compact
rimo note list --fields id,title,created_at--excludes
出力から削除するフィールド名をカンマ区切りで指定します。--fields の後に 適用されます。
rimo note list --excludes transcript,document_markdownフィールドのフィルタリングは AI エージェントに特に有用です。必要なフィールドのみ (--fields id,title)を要求することで、レスポンスを小さく、パースを安価に保てます。
ドライラン
書き込み系コマンドに --dry-run を付けるとリクエストは送信されず、レスポンス形状の プレースホルダーの例に "dry_run": true を加えたものが返ります。 ドライランの出力 を参照してください。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 1 | エラー |
終了コードは成功か失敗かを判断する信頼できるシグナルです。出力をパースするのではなく、 スクリプトでは終了コードを確認してください。
エラー形式
エラーは JSON として stdout に出力され、終了コード 1 で終了します:
{
"code": "error",
"message": "unknown flag: --bogus"
}| フィールド | 説明 |
|---|---|
code | 機械可読のエラーコード。現状は常に error。 |
message | 失敗内容を表す人間向けメッセージ(検証メッセージや API ステータスなど)。 |
