CLI リファレンス
Queria CLI の全コマンドとオプション
共通オプション
| オプション | 説明 |
|---|---|
--storage-url URL |
カタログのベース URL(デフォルト: https://data.queria.io) |
--token TOKEN |
API トークン(QUERIA_TOKEN と設定ファイルより優先) |
--version |
バージョンを表示 |
出力オプション(list / search / info / schema / columns / summarize / sql 共通)
| オプション | 説明 |
|---|---|
--format {table,csv,json,jsonl,markdown} |
stdout の形式(デフォルト: table) |
--out PATH |
結果を .csv / .parquet / .json / .jsonl ファイルに書き出す |
--out の書き出し形式は拡張子で決まります。--format を同時に指定して食い違った場合(例: --format json --out result.csv)はエラーになります。一致していれば(--format json --out result.json)そのまま通ります。
.csv と .parquet は DuckDB が直接ファイルに書くため、メモリに収まらない結果も書き出せます。.json と .jsonl は stdout と同じ整形処理を通るので、--out result.json と --format json > result.json は同じ内容になります。
table は値を切り詰めません。列幅に収まらない値は複数行に折り返します。
端末幅への折り返しは人間が読むためのものなので、折り返すのは端末で表示しているときだけです(COLUMNS を明示した場合はそれに従います)。パイプやリダイレクトに渡すときは 1 行のまま出力します。
環境変数
| 変数 | 説明 |
|---|---|
QUERIA_TOKEN |
API トークン。空文字を設定すると保存済みトークンを無視して匿名アクセスする |
QUERIA_ERROR_FORMAT |
json を設定するとエラーを stderr に JSON で出力する(終了コードは変わりません) |
DO_NOT_TRACK / QUERIA_NO_TELEMETRY |
テレメトリを無効化する |
QUERIA_ERROR_FORMAT=json のときのエラーの形:
{"error": {"message": "No dataset named 'zipcodes' in the catalog. ...", "command": "info"}}
queria list
公開されている全データセットを一覧します。
queria list [--format FMT] [--out PATH]
handle 列は公開しているアカウント、datasource 列はデータセット名で、クエリに <datasource>.<schema>.<table> と書くときの名前です。データセット名はアカウントごとに一意なので、同じ名前を複数のアカウントが公開でき、それを見分けるのが handle です。
queria search
データセット・テーブル・カラムを横断するキーワード検索です(大文字小文字を区別しない部分一致)。データセットはタイトルと説明、テーブルとカラムは名前・タイトル・説明に対してマッチします。
空白で区切ると絞り込みになります。 すべての語を含むものだけが返ります。語は別々の場所に散っていて構いません。
queria search 人口 # 広い
queria search 人口 小地域 # 両方を含むものだけ
表が持つ列でも探せます。--column は条件ごとに当たる列を求めるので、繰り返すと「両方の列を持つ表」になります。列の条件・キー・位置情報のどれかを指定すれば、キーワードは省略できます。
queria search --column 町丁目 --column 人口 # 町丁目と人口の列を持つ表
queria search 公園 --key city --geo # 市区町村で識別でき、位置情報を持つ表の中から
queria search [<keyword>] [--column TEXT ...] [--key ENTITY ...] [--geo] [--type {dataset,table,column}] [--limit N] [--format FMT] [--out PATH]
| オプション | 説明 |
|---|---|
--column |
この語に当たる列(名前・タイトル・説明)を持つ表に絞る。繰り返すと、すべての条件にそれぞれ当たる列を持つ表だけが残る |
--key |
行を識別するキーの列で絞る。prefecture / city / small_area / mesh / corporate_number / postal_code。繰り返すと、どれかを持つ表が残る |
--geo |
ジオメトリの列か、緯度と経度の列の組を持つ表に絞る |
--type |
エントリ種別で絞り込み(デフォルト: すべて) |
--limit |
最大件数(デフォルト: 50) |
キーワードを省略したときは、カラムの当たりは返りません。条件に合う表とそのデータセットが返ります。
queria info
データセットのメタデータ(ライセンス・出典 URL・リポジトリ・スキーマ一覧・更新日時など)を field / value の 2 列で表示します。値が NULL のフィールドは省略されます。
queria info <dataset> [--format FMT] [--out PATH]
<dataset> はデータセット名(e_stat)でも、アカウントまで含めた名前(queria/e_stat)でも構いません。どちらのアカウントに解決されたかは handle フィールドに出ます。schema と columns も同じです。
queria schema
データセットのテーブル・ビュー一覧を表示します。
queria schema <dataset> [--format FMT] [--out PATH]
queria columns
データセットのカラム一覧を表示します。テーブル名を指定すると絞り込めます。
queria columns <dataset> [table] [--format FMT] [--out PATH]
queria summarize
テーブルのカラム統計(件数・min/max・NULL 率・近似ユニーク数など、DuckDB の SUMMARIZE)を表示します。テーブル全体をスキャンするため、大きなテーブルでは時間と通信量がかかります。
queria summarize <dataset>.<schema>.<table> [--format FMT] [--out PATH]
スキーマを省略した <dataset>.<table> は main スキーマとして解釈されます。
queria sql
SQL を実行します。<dataset>.<schema>.<table> で参照されたデータセットは自動 ATTACH されます。
queria sql "<query>" [--datasets DS1,DS2] [--format FMT] [--out PATH]
queria sql -f PATH [--datasets DS1,DS2] [--format FMT] [--out PATH]
| オプション | 説明 |
|---|---|
-f, --file |
ファイルから SQL を読む(- で標準入力) |
--datasets |
事前に ATTACH するデータセット(通常は自動検出されるため不要) |
SQL は引数・ファイル・標準入力のいずれか1つから受け取ります。引数に - を渡した場合も標準入力から読みます。長い SQL や生成した SQL では、シェルのクォート(SQL 中の " や $)を気にせずに済むファイル・標準入力が扱いやすくなります。
queria sql -f query.sql
echo "SELECT 1" | queria sql -
SELECT / WITH / DESCRIBE / SHOW / PRAGMA / EXPLAIN / SUMMARIZE / VALUES / TABLE / FROM / PIVOT / UNPIVOT で始まる文のみ受け付けます。この判定はファイルや標準入力から読んだ SQL にも同じように適用されます。先頭のコメント(-- や /* */)は読み飛ばすので、何をする SQL かを冒頭に書いておけます。
1回の実行で受け付ける SQL は1文だけです。; で区切った複数文を渡すとエラーになります(末尾の ; は問題ありません)。複数の結果を一度に得たい場合は UNION ALL で1文にまとめるか、コマンドを分けて実行してください。
queria docs
このドキュメントを端末から読みます。ブラウザを持たない環境や、AI エージェントからドキュメントを参照させたいときに使います。
queria docs list # 全ページの一覧
queria docs show reference/cli # 1 ページを Markdown で表示
queria docs show reference/cli --lang ja
list のオプション:
| オプション | 説明 |
|---|---|
--lang {en,ja} |
一覧するページの言語(デフォルト: en) |
--format {table,csv,json,jsonl,markdown} |
stdout の形式(デフォルト: table) |
--out PATH |
結果をファイルに書き出す |
show のオプション:
| オプション | 説明 |
|---|---|
--lang {en,ja} |
ページの言語(デフォルト: en) |
list は name / section / title / description を返します。name がそのまま show に渡す引数です。プログラムから読む場合は --format json を使ってください。
queria docs list --format json | jq -r '.[].name'
show に渡す名前は docs.queria.io 上のパスです(reference/cli など)。先頭の /、末尾の .md、en/ 接頭辞、完全な URL も受け付けます。サイトのトップは index です。
存在しない名前を渡すと、近い名前を提案して終了コード 1 で終わります。
取得したページはキャッシュされ(XDG_CACHE_HOME 配下、デフォルトは ~/.cache/queria/docs)、サイトに到達できないときだけキャッシュから表示します。その場合はいつ取得した内容かを stderr に出します。存在しないページ(404)はキャッシュを参照せず、そのまま報告します。
MCP サーバーからは同じ内容を list_docs / show_doc ツールで読めます。
queria skills
Queria スキルを、エージェントがスキルを読むディレクトリに書き込みます。Node や各エージェント専用のプラグイン機構は要りません。
queria skills list # 配布しているスキルの一覧
queria skills show queria # 1 つのスキルの SKILL.md を表示
queria skills install # 全スキルをこのプロジェクトに導入
queria skills install queria --global # queria スキルをこのマシンの全プロジェクトに導入
引数にスキル名を渡すとそのスキルだけを導入します。省略すると配布中の全スキルが対象です。
install のオプション:
| オプション | 説明 |
|---|---|
-a, --agent AGENT |
書き込み先のエージェント。繰り返し指定できる |
-g, --global |
このプロジェクトではなくホームディレクトリに導入する |
--dir PATH |
エージェントのディレクトリではなく指定したディレクトリに書く(--agent / --global とは併用できない) |
--force |
配布されている内容と違うスキルディレクトリを置き換える |
--format {table,csv,json,jsonl,markdown} |
stdout の形式(デフォルト: table) |
--out PATH |
結果をファイルに書き出す |
--agent を指定しない場合は .agents/skills に書きます。Codex・Cursor・OpenCode・Gemini CLI・GitHub Copilot などが読む共通の場所です。加えて、.claude があるプロジェクトと ~/.claude があるマシンでは .claude/skills にも書きます。Claude Code はこちらしか読まないためです。
-a で指定できるエージェントと書き込み先:
--agent |
プロジェクト | --global |
|---|---|---|
agents |
.agents/skills |
~/.agents/skills |
claude-code |
.claude/skills |
~/.claude/skills |
codex |
.agents/skills |
~/.agents/skills |
cursor |
.agents/skills |
~/.cursor/skills |
gemini-cli |
.agents/skills |
~/.gemini/skills |
github-copilot |
.agents/skills |
~/.copilot/skills |
opencode |
.agents/skills |
~/.config/opencode/skills |
pi |
.pi/skills |
~/.pi/agent/skills |
プロジェクトへの書き込み先は Git リポジトリのルートです。サブディレクトリから実行してもリポジトリの最上位に書きます。
install は skill / agent / path / status を返します。status の値:
status |
意味 |
|---|---|
installed |
新しく書き込んだ |
updated |
--force で置き換えた |
unchanged |
既にある内容が配布されているものと同一 |
blocked |
既にある内容が違う。--force を付けない限り置き換えない |
occupied |
スキルではないものが既にある(SKILL.md が無い)。--force でも消さない |
symlink |
別のツール(npx skills など)がシンボリックリンクで管理している |
blocked / occupied / symlink が 1 つでもあると終了コード 1 で終わります。手元で書き換えたスキルは --force なしには戻りません。
取得したアーカイブはキャッシュされ(XDG_CACHE_HOME 配下、デフォルトは ~/.cache/queria/skills)、GitHub に到達できないときだけキャッシュから読みます。
導入したスキルは、エージェントを再起動するか新しいセッションを開始すると読み込まれます。
queria login
ブラウザ承認で API トークンを取得し、設定ファイル ~/.config/queria/config.toml に保存します。実行するとブラウザで queria.io の承認ページが開き、「承認する」を押すとトークンが自動保存されます。
queria login [--no-browser]
| オプション | 説明 |
|---|---|
--no-browser |
ブラウザを開かず承認 URL を表示する。任意の端末のブラウザで承認するとページにコードが表示されるので、CLI の Code: プロンプトに貼り付ける |
ブラウザを自動で開くフローでは、承認待ちが 5 分でタイムアウトします。タイムアウトした場合は queria login を再実行するか --no-browser を使ってください。
このコマンドは対話端末が必要です。 どちらのフローも人がブラウザで承認する必要があるため、stdin が端末でない場合はブラウザを開く前に終了します(承認待ちでブロックしません)。CI や AI エージェントからは、queria.io/settings/tokens で発行したトークンを QUERIA_TOKEN または queria auth set-token で渡してください。
トークンの有効期限は 90 日です。期限が切れたら queria login を再実行してください。
queria logout
保存済みトークンを設定ファイルから削除します。サーバー側でトークンを失効させる場合は queria.io/settings/tokens から行ってください。
queria logout
queria auth
API トークンを手動で管理します。個人のマシンでは queria login が第一の方法です。CI や BI ツールなど非対話環境では、queria.io の API トークン画面で手動発行したトークン(無期限)を auth set-token または環境変数 QUERIA_TOKEN で渡してください。
トークンは --token → 環境変数 QUERIA_TOKEN → 設定ファイル ~/.config/queria/config.toml(XDG_CONFIG_HOME を尊重)の順で解決されます。
queria auth set-token <token> # 設定ファイルに保存(パーミッション 600)
queria auth status # トークンの有無と取得元(flag / env / config)を表示
queria auth clear # 設定ファイルから削除
詳細は認証を参照してください。
queria create
自分のデータセットを Queria に登録します。ビルドが中身を書き込む前に、入れ物が存在している必要があります。
queria create <name> [--owner HANDLE] [--public | --private]
| オプション | 説明 |
|---|---|
--owner |
作成先のアカウント(デフォルト: 自分のもの) |
--public |
誰でも読める |
--private |
自分だけが読める(デフォルト) |
--owner を省略すると、データセットはログイン中のアカウントのハンドルのものになり、<ハンドル>/<name> で参照されます。ハンドルを決めていない場合は、決めるよう促して終了します。組織アカウントに作るには --owner <組織のハンドル> を渡します(メンバーであれば作成でき、管理者である必要はありません)。組織のサービストークンで実行している場合は、省略時の作成先がその組織になります。
queria edit
自分のデータセットの公開範囲を変更します。
queria edit <name|handle/name> --visibility {public,private}
同じ名前のデータセットが複数のアカウントにあるとき、名前だけでは指す先が決まらないため、候補を示して中断します。<ハンドル>/<name> の形で指定してください。delete も同じです。init / pull / run / push / expire / sync では --dataset に同じ形を渡します(pull と sync は --handle でも指定できます。両方を渡したときは --handle が優先されます)。
queria delete
自分のデータセットと、そこに置かれたものをすべて削除します。実行前に確認を求めます。
queria delete <name|handle/name> [--yes]
| オプション | 説明 |
|---|---|
-y, --yes |
確認を求めない |
1 回の呼び出しで片付けられるのは 10,000 オブジェクトまでです。途中で終わった場合、そのデータセットは配信されなくなりますが、ストレージに残ったものは容量に数えられ続けます。その場合は queria delete <ハンドル>/<name> で続きを実行してください(削除済みのデータセットは一覧に出ないため、名前だけでは見つかりません)。
queria init
このデータセットのビルド先になる作業用カタログを作ります。初回のみ必要です。
queria init [--root PATH] [--dataset NAME]
| オプション | 説明 |
|---|---|
--root |
データセットリポジトリのルート(デフォルト: カレントディレクトリ) |
--dataset |
データセット名(デフォルト: dataset.yml に書いた名前)。<ハンドル>/<name> でも指定できます |
queria pull
公開済みのカタログを取得し、その上にビルドするための作業用カタログを作ります。
queria pull [--root PATH] [--dataset NAME] [--handle HANDLE]
| オプション | 説明 |
|---|---|
--dataset |
データセット名(デフォルト: dataset.yml に書いた名前)。<ハンドル>/<name> でも指定できます |
--handle |
誰のデータセットを取得するか(デフォルト: 自分のもの) |
取得するのはカタログだけです。 データファイルは公開されている場所に置かれたままで、ビルドはそこから読み、その隣に新しいファイルを書きます。データセットを読むために手元へ落とすコマンドではありません(読む側は公開カタログを HTTP で ATTACH します)。
queria run
このデータセットのカタログとストレージを環境に渡して、ビルドコマンドを実行します。-- の後ろは何でも構いません。
queria run [--root PATH] [--dataset NAME] -- <command>
ビルドの中身は関知せず、ビルド自身では分からないもの(書き込み先と認証情報)を渡すだけです。すでに設定されている環境変数は上書きしません。終了コードはビルドのものをそのまま返します。
作業用カタログが無い場合はエラーになります(queria init か queria pull で作ります)。
queria push
直前のビルドがデータセットのストレージに残したものを公開します。
queria push [--root PATH] [--dataset NAME] [--manifest PATH] [--retention-days N] [--keep-history]
| オプション | 説明 |
|---|---|
--retention-days |
公開前に切り捨てるスナップショットの保持日数(デフォルト: 7) |
--keep-history |
何も期限切れにせずに公開する |
公開の前に compile と同じ検証が走ります。宣言とデータが食い違っている場合、および dataset.yml の name と公開先の名前が違う場合は、何も公開されません。
公開されるのはカタログ・dataset.json・テーブルのプレビューと、target/ に dbt のアーティファクト(manifest.json / catalog.json / semantic_manifest.json)があればそれらです。
queria expire
保持期間を過ぎたスナップショットと、それが抱えていたデータファイルを削除します。
queria expire [--root PATH] [--dataset NAME] [--retention-days N]
| オプション | 説明 |
|---|---|
--retention-days |
スナップショットの保持日数(デフォルト: 7)。読み手が取得済みのカタログはこの期間だけ動き続けます |
DuckLake は生きているスナップショットが参照するファイルをすべて保持するため、ビルドと公開を繰り返すだけのデータセットは際限なく増えます。データファイルを削除可能にするのはこのコマンドだけです。push は --keep-history を付けない限り、公開の前にこれを実行します。
queria sync
pull → ビルド → push を 1 コマンドで実行します。
queria sync [--root PATH] [--dataset NAME] [--handle HANDLE] [--manifest PATH] [--retention-days N] [--keep-history] -- <command>
先に pull するのは手間を省くためではありません。Queria が持っている状態から始めることで push が条件付きになり、2 人が同時に公開したときに互いを上書きしなくなります。まだ何も公開されていない場合は空のカタログから始めます。ビルドが 0 以外で終了した場合は何も公開しません。
queria validate
自分のデータセットのために書いた宣言(リポジトリルートの dataset.yml と、任意の場所に置いた *.table.yml)を、手元のデータと突き合わせて検証します。ネットワークにはアクセスせず、宣言とローカルのデータだけを読みます。
queria validate [--root PATH] [--ducklake PATH] [--data-path PATH] [--parquet FILE ...] [--manifest PATH] [--quiet] [--strict]
| オプション | 説明 |
|---|---|
--root |
データセットリポジトリのルート(デフォルト: カレントディレクトリ) |
--ducklake |
DuckLake カタログのパス |
--data-path |
Parquet データのディレクトリ |
--parquet |
Parquet ファイル(DuckLake で構築していないデータセット向け) |
--manifest |
dbt の manifest.json。指定しなくても target/manifest.json があれば使われます |
--quiet |
info レベルの指摘を表示しない |
--strict |
警告でも失敗させる(デフォルトはエラーのみで失敗) |
ライセンスの宣言は任意ですが、省略すると警告になります。--strict は警告も失敗として扱うため、CI 向きです。
queria compile
validate と同じ検証を行ったうえで、Queria がカタログにデータを載せるために読む dataset.json を書き出します。オプションは validate と共通で、出力先の指定が加わります。
queria compile [-o PATH] [--root PATH] [--ducklake PATH] [--data-path PATH] [--parquet FILE ...] [--manifest PATH] [--quiet] [--strict]
| オプション | 説明 |
|---|---|
-o, --output |
出力先(デフォルト: dist/dataset.json) |
カラム名・型・カラム順・NULL 許容は宣言ではなく実データから読み取られるため、宣言に型を書く必要はありません。
queria mcp
stdio MCP サーバーを起動します。mcp extra が必要です(MCP サーバー参照)。
queria [--storage-url URL] mcp
queria telemetry
匿名の利用テレメトリを管理します。詳細はテレメトリを参照してください。
queria telemetry status # 現在の状態を表示
queria telemetry disable # オプトアウト(設定ファイルに保存)
queria telemetry enable # 再度有効化
環境変数 DO_NOT_TRACK=1 または QUERIA_NO_TELEMETRY=1 でも無効化できます。
queria feedback
データセットへの要望、データの不備、ドキュメントの誤りを Queria に送ります。詳細はテレメトリを参照してください。
queria feedback send MESSAGE [--kind KIND] [--dataset DATASET] [--yes]
queria feedback status # 現在の設定と自分のクライアント ID を表示
queria feedback allow [--auto] # AI エージェントによる送信を許可する
queria feedback disallow # 許可を取り消す
send のオプション:
| オプション | 説明 |
|---|---|
--kind {dataset_request,data_issue,docs_issue,cli_issue,other} |
報告の種類(デフォルト: other) |
--dataset DATASET |
対象データセット名 |
-y, --yes |
確認プロンプトを省略する(送信内容の表示は省略されません) |
送信前に、実際に送られる内容の全文が表示されて確認を求められます。--yes を付けない状態で端末(TTY)以外から実行した場合は、確認に答えられないため送信せずに終了します。
本文は最大 4000 文字です。超過分を切り詰めることはせず、送信を中止します。 本文に設定済みの API トークンや qk_ で始まる文字列、AWS のアクセスキーなどが含まれている場合も送信を中止します。
allow / disallow は AI エージェントに送信を任せるかどうかの設定です。自分で queria feedback send を打つ場合は許可は不要です。--auto を付けると、エージェントは送信ごとの承認を求めずに送れるようになります。
