Appearance
AIエージェント向けガイド
このページについて
- このページは、Cursor / Claude Code 等のAIエージェントが
*.cnb.mdノートブックファイルを編集する際に従うべき作業ガイドです cdmは Codatum の機能を CLI から操作するツールです。本ページでは、マークダウン版ノートブック(*.cnb.md)の編集に使うコマンドに焦点を当てます- エージェントは
cdmコマンドをシェルから実行して、ドキュメントやメタデータを取得してください - このページに書かれていないフォーマット等の仕様の詳細は、
cdm doc indexで目次を取得し、該当ページをcdm doc show <path>で取得してください
作業を始める前に
1. cdm コマンドと PAT の動作確認
エージェントは作業を開始する前に、シェルで cdm が利用可能か、登録済みの PAT が有効かを確認してください。
sh
cdm --version
cdm auth whoamicdm --versionでバージョンが返ること(CLI がインストールされ PATH が通っていること)を確認しますcdm auth whoamiでStatus: OKが返ること(profile が登録され、PAT が有効であること)を確認しますwhoamiがStatus: INVALIDや exit 1 になる場合、PAT の再登録が必要です。cdm auth loginの手順をユーザに案内してください(PAT は Codatum Web の アカウント設定 → パーソナルアクセストークン から発行)
2. cdm が使えない場合
cdm: command not found 等のエラーが出る場合、ユーザの環境にインストールされていないか、PATH が通っていません。エージェントは勝手にインストールを試みず、以下をユーザに案内してください。
- インストールが必要な可能性があること
- インストール手順ははじめにを参照すること
cdm が使えない、または PAT が無効なまま *.cnb.md の編集を進めると、format / validate や API 連携コマンドが正しく動かず、不正なファイルを残してしまう可能性があります。cdm --version と cdm auth whoami の両方で確認が取れるまで編集作業に入らないでください。
cdm コマンドで取得できるもの
cdm コマンドでは、大きく分けて以下の機能が利用できます。詳細な入出力仕様は cdm コマンド を参照してください。
ドキュメント取得
cdm doc index: ドキュメントの目次(このサイト全体)cdm doc show <path>: 各ドキュメントページの内容<path>はcdm doc indexの出力に記載された形式で、先頭の/と末尾の.md拡張子が必須(例:cdm doc show /md/sql-block.md)
*.cnb.md の編集対象に応じて、必要なドキュメントを取得してから編集してください。特にチャート設定は template_type ごとに構造が大きく異なるため、該当する /md/chart-types/<TEMPLATE_TYPE>.md を確認してください。
コネクション・テーブル
cdm connection list: 認証済みワークスペースで利用可能なコネクション一覧を取得cdm catalog search-tables <query>: 指定したコネクション内のテーブルをキーワード検索(カラム情報含む)- 複数キーワードを指定する場合は
cdm catalog search-tables "users summary"のようにクオートで囲む
- 複数キーワードを指定する場合は
SQL 実行(アドホックな検証用)
cdm sql dry-run: SQL を実行せず、構文や処理予定バイト数を確認cdm sql run: SQL を同期実行し、結果が出るまで待機して取得(単発確認向け)cdm sql get-job-metadata/cdm sql get-job-result: 既存ジョブのステータス・結果を取得(*.cnb.md内のjobIdを再利用したい場合など)cdm sql create-job: ジョブを作るだけで結果待機しない非同期実行(CI で長時間ジョブを投入したい等の特殊用途)
これらのコマンドの位置づけは後述のSQL 実行コマンドの使いどころを参照してください。
動作の前提
- データ系のコマンド(
connection list/catalog search-tables/ SQL 実行系)は、cdm auth loginで登録した PAT を用いて Codatum API に直接アクセスします *.cnb.mdファイルは CLI では編集できません。次節の通り、ファイルシステム経由で直接編集してください
ファイルの編集方法
*.cnb.mdファイルは、エディタやファイルシステム経由で直接編集してくださいcdmはドキュメントやメタデータの取得、ファイルの検証・フォーマット用であり、ファイル内容の直接書き込みには対応していません
編集の基本ワークフロー
1. 編集前
関連情報を cdm コマンドで取得します。推測で書かないことが最優先です。
- 関連ドキュメントを
cdm doc show <path>で取得する(特にチャート設定) - コネクションIDが必要なら
cdm connection listで取得する - テーブルやカラムを参照するなら
cdm catalog search-tables <query>で実在とカラム情報を確認する- SQL ブロックの
TABLE_REF.tableResourceId、SQL 内のテーブル参照、チャート設定で参照するカラム名などは、ここで得た情報を元に書く
- SQL ブロックの
2. 編集中
- フロントマターの
id・workspace_idは省略しない(cdm notebook cloneの出力を起点にする) - ページ属性や SQL ブロック属性の
idなど、自動補完されるフィールドは省略してよい(formatに任せる) - SQL ブロックの
connIdは必ず指定する(デフォルトコネクションはない) - 自動付与フィールド(
jobId,state,chartJobId等)は触らない、生成しない - SQL の妥当性に不安があれば
cdm sql dry-runで事前検証する(後述)
3. 編集後
cdm コマンドで検証・整形し、問題がなければサーバに反映します。
sh
cdm notebook validate <target> # 検証のみ(ファイル/ディレクトリ)
cdm notebook format <target> # 自動修復 + 検証 + 整形(ファイル/ディレクトリ)
cdm notebook diff <file> # 任意: push 時のサーバ側の変更影響を確認(ファイルのみ)
cdm notebook push <target> # サーバへ反映(ファイル/ディレクトリ・ユーザが依頼した場合)formatで自動修復可能なエラー(一覧)はそのまま解消されますpushは profile のワークスペースと、対象ファイルのworkspace_idが一致している必要がありますpush前に差分を確認したい場合はdiffを別途実行してください- 詳細は
cdmコマンドを参照してください
SQL 実行コマンドの使いどころ
cdm sql 系のコマンドは、エージェントが編集中にアドホックな確認・検証を行うためのものです。
想定する使い方
- SQL の構文を検証したい:
cdm sql dry-runで実行せずに構文と処理量を確認 - データの中身を確認したい(単発):
cdm sql runで同期実行して結果を取得- タイムアウトや
Ctrl+Cで中断した場合もジョブIDがエラーメッセージに含まれるので、後からget-job-metadataで状態確認可能
- タイムアウトや
- 既にノートブック内で実行済みの SQL ブロックの結果を見たい:
*.cnb.md内のjobIdをcdm sql get-job-metadata/cdm sql get-job-resultに渡せば、再実行せずに結果を取得できる
やってはいけない使い方
- ノートブック内に書いた SQL ブロックを、
cdm sql runやcdm sql create-jobで個別に実行して回らない- SQL ブロックの実行は、ユーザがプレビュー画面で行うか、ノートブックの実行機能に任せるのが本来の流れです
- エージェントが SQL ブロックごとに実行するのは、ノートブックの実行モデルから外れた使い方であり、
*.cnb.mdのjobId等の管理とも整合しません
- 大量データを取得して中身を分析する用途
- あくまで編集判断のための補助情報を取るためのものです
cdm sql run/get-job-resultの取得上限は 1000 行ですが、これは制限であって目標値ではありません
迷ったら、「自分が書こうとしている SQL やデータ構造の確認のため」かどうかで判断してください。それ以外の目的(ノートブックそのものの実行)は、これらのコマンドの責任範囲外です。
やってはいけないこと
- コネクションIDの推測(
cdm connection listで取得) - テーブル名・カラム名・型の推測(
cdm catalog search-tablesで確認) - チャート設定や SQLブロックをドキュメントを読まずに書く
*.cnb.mdの手動フォーマット整形(formatに任せる)cdmが使えない、またはcdm auth whoamiで PAT が無効な状態での編集続行- ノートブック内の SQL ブロックを
cdm sql run/cdm sql create-jobで個別に実行して回ること(前節参照)
プレビュー中の編集について
ユーザが cdm notebook preview を起動している間に編集する場合、書き込みの競合が起きることがあります。
- エディタの
formatOnSaveは無効にしてもらう - 大量ファイル監視中のエディタでは更新反映が遅延することがある
- 詳細はプレビューの注意事項を参照
困ったとき
- フォーマット仕様で迷ったら →
cdm doc indexで目次を取得し、関連ページをcdm doc show /md/xxx.mdで読む(先頭/と.mdを忘れない) - スキーマエラーが出たら → まず
cdm notebook formatを実行する(自動修復可能なエラーはこれで解消する) - 制限事項に引っかかったら → 制限事項を確認
- テーブルやカラムが分からない →
cdm catalog search-tablesで確認(推測しない) - SQL の妥当性が不安 →
cdm sql dry-runで検証
ユーザに代わって判断を急ぐより、ドキュメントを引いて根拠を持って書くことを優先してください。