n naroドキュメント

CLI

すべてのコマンドが --json と --yes を受け取ります。この表でまとめたサブコマンドまで含めた全文は naro help で出ます。

コマンド

コマンド動作
naro loginGitHub でサインインします。ブラウザを開きます。
naro logout保存したセッションを破棄します。
naro whoamiサインイン中のアカウントを表示します。
naro tokenCI 用のアクセストークンを出力します。NARO_TOKEN として使います。
naro linkこのディレクトリをプロジェクトに接続し、.naro/project.json を書きます。
naro unlink接続を解除します。
naro projects [--team <slug>]プロジェクトを一覧します。チームで絞れます。
naro project inspect接続中のプロジェクトを表示します。
naro deploy [--prod] [--root <dir>]ローカルでビルドしてデプロイします。--prod がなければプレビュー。モノレポでは --root でアプリの位置を指します。
naro deployments接続中のプロジェクトのデプロイを一覧します。
naro inspect <deployment-id>ひとつのデプロイをビルドログ付きで表示します。
naro cancel <deployment-id>まだ実行中のビルドを止めます。
naro git connect | disconnectリポジトリを接続・解除します。接続すると push ごとにデプロイされます。
naro logs [deployment-id] [--type build|runtime]ランタイムログ。--type build でそのデプロイのビルドログ。
naro analytics [--range <r>] [--path <p>] [--referrer <host>] [--country <cc>] [--device <d>] [--browser <b>] [--os <o>]実際の訪問によるウェブアナリティクス。期間(--range、既定は 7d)の訪問者数とページビューを表示し、続いてページビューの多いページ・参照元・国・デバイス・ブラウザ・OS を表示します。--path、--referrer、--country、--device、--browser、--os でディメンションごとに値をひとつずつ絞り込め、複数指定するとすべてに当てはまる訪問だけを数えます。--json はトレンドを含むレポート全体を出力します。
naro insights [--metric <m>] [--range <r>] [--env <e>] [--route <pattern>] [--path <p>] [--country <cc>] [--device <d>] [--browser <b>] [--os <o>] | enable | disable実際の訪問による Speed Insights。指標ごとの p75 と良好・要改善・不良の割合を表示し、選んだ指標(--metric, --range)をページ・デバイス・遅い訪問の原因要素・デプロイ別に表示します。既定は本番で、--env preview はプレビューワーカーを読みます。--route はひとつのルートのパスを展開し、enable・disable で両方の環境の計測をまとめてオン・オフします。--path、--country、--device、--browser、--os でディメンションごとに値をひとつずつ絞り込めます(Speed Insights には参照元がないため --referrer は拒否します)。指標の下の1行に、ページの読み込み時間の p75 と各ステップの平均を表示します。
naro protection [--project <id>] | enable | disable | bypass [remove]プレビュー保護を表示・変更します。オンならこのプロジェクトのメンバーだけがプレビューURLを開け、オフならリンクを知っている人は誰でも開けます。enable・disable で切り替えると、エッジが反映するまで1分ほどかかります。bypass は CI や監視が x-naro-protection-bypass ヘッダーで送るバイパス用シークレットを作成し(一度だけ表示され、以前のものは置き換えられます)、bypass remove で削除します。
naro env list | add | remove | pull環境変数の一覧・追加・削除・取得。
naro domains list | add <host> | remove <host> | verify [host]カスタムドメインの一覧・追加・削除。verify は DNS を再確認し、不足を表示します。カスタムドメインは 1 プロジェクトにつき 20 個まで(apex を www と一緒に追加すると 2 個)、プロジェクトを配信するドメイン名は合計 4,800 バイトまでです。
naro db enable | info | query <sql> | push | dump | restore | pull | reset [--yes] | lint | table <action> | index <action>プロジェクトのデータベースを作成し、状態と上限を表示し、SQL を実行し、SQL を書かずにテーブルとインデックスを作成・変更し、未適用のマイグレーションを適用します。ファイルへのダンプ、以前の時点への復元、スキーマを最初のマイグレーションとして取り込むこと、ポリシーを含めたマイグレーションファイルが示す状態への巻き戻し、D1 が実際につまずく点と Data API が適用できないポリシーの点検もできます。
naro migration new <name> | list | up | repair <name> [--status <s>] [--yes]番号付きのマイグレーションファイルを作成し、ローカルと適用済みを比較し、未適用分を適用し、記録がデータベースとずれたときに記録だけを直します。
naro gen types [--lang typescript] [--output <file>]データベーススキーマの TypeScript 型を出力します。テーブルごとの Row インターフェースと、naro-js の createClient<Database>() が受け取る Database 型です。--lang は TypeScript のみです。
naro backend [status] | enable | disable | keys [--reveal] | keys rotate --anon|--serviceプロジェクトのバックエンドがオンかオフか、状態・URL・anon キーを表示し、バックエンドをオン(provision も同じコマンド)・オフにし、--reveal で service キーを出力し、キーを入れ替えます。
naro backend auth [email set|remove] [oauth set|remove <google|github>] [redirects list|add|remove <url>] [require-verification <on|off>] [signups <on|off>] [password --min-length <n>]サインインの設定を表示・変更します。誰でもサインアップできるか(signups off で、作成したアカウントだけになります)、新しいパスワードの最小文字数、確認メールとリセットメールを送る Resend アカウント、Google と GitHub のアプリ、サインイン後にブラウザーを戻してよいオリジン、メール確認前のサインインを拒否するかどうか。メールとパスワードのサインインは何も設定せずに使えます。シークレットはコマンドラインではなく stdin(--api-key-stdin、--client-secret-stdin)からのみ読みます。
naro backend users [create --username <name> --password-stdin] [delete <id|username|email>]Supabase の auth.admin と同じように、プロジェクトのユーザーを一覧・作成・削除します。create はユーザー名とメールの一方または両方とパスワード(--password-stdin)を受け取り、アカウントは確認済みで作られ、サインアップを閉じていてもすぐにサインインできます。delete は id・ユーザー名・メールを受け取り、先に確認します。
naro policy list [--table <t>] | create "<CREATE POLICY …>" [--allow-unindexed] | drop <name> --table <t> | set <table> [--select <rule>] [--owner <column>] [--select-when <filter>] [--from-file <policy.json>] | remove <table>Postgres・Supabase と同じ Data API の行レベルセキュリティ: ポリシーを CREATE POLICY として一覧し、CREATE POLICY 文から作成し(--file には複数の文と DROP POLICY も書けます)、名前で削除します。set はルール(none、public、authenticated、owner)または auth.uid() を使うフィルター構文の条件から naro_select … naro_delete を書く省略形で、remove はテーブルのポリシーをすべて削除します。ポリシーのないテーブルは anon とサインイン済みユーザーのリクエストをすべて拒否します。 テーブルのポリシーはそのテーブルのマイグレーションに書いて、テーブルと一緒に管理してください。これらのコマンドはデータベースを直接変更します。
naro storage [status] | enable | bucket <action> [name] | ls [naro://<bucket>[/<prefix>]] | cp <from> <to> | rm <naro://bucket/path>Naro Storage をオンにし、上限と保存量を表示し、バケットを作成・変更・空に・削除し、プロジェクトの service キーで naro://<bucket>/<path> のファイルを一覧・コピー・削除します。
naro promote <deployment-id>既存のビルドを再ビルドせずに本番へ公開します。
naro rollback [deployment-id]本番をひとつ前のビルドへ戻します。

グローバルオプション

コマンド動作
--json標準出力に機械可読な JSON オブジェクトをひとつ。
--yes, -y一切尋ねません。CI とエージェント向け。
--token <t>アクセストークン。NARO_TOKEN でも渡せます。
--project <id>対象プロジェクトを指定し、.naro/project.json を上書きします。
--root <dir>リポジトリ内のアプリディレクトリ。モノレポ用。
--name <name>初回デプロイで使うプロジェクト名。
--team <slug>一覧と接続に使うチームスコープ。
--prod本番を対象にします。
--debug詳細な診断出力。

JSON 出力

--json は標準出力にちょうどひとつの JSON オブジェクトを出し、ログは標準エラーへ送ります。呼び出し側は絞り込みなしに標準出力をそのままパースできます。

エラーコード

失敗は success: false とコードとメッセージを返します。コードは安定しています — メッセージではなくコードで分岐してください。

コード動作
NOT_LOGGED_INセッションがありません。naro login を実行するか、トークンを渡してください。
PROJECT_NOT_LINKEDこのディレクトリにリンクファイルがありません。naro link を実行するか、一度デプロイしてください。
FRAMEWORK_UNSUPPORTEDnaro がビルドできるフレームワークとして判定できませんでした。
BUILD_FAILEDフレームワークのビルドが失敗しました。ビルドログを読み、直して再デプロイしてください。
DEPLOYMENT_NOT_FOUNDその id のデプロイはこのプロジェクトにありません。
DEPLOYMENT_NOT_PROMOTABLE成果物が残っている READY のデプロイだけが対象です。
UNAUTHORIZEDそのセッションまたはトークンにこのプロジェクトの権限がありません。
RATE_LIMITEDリクエストが多すぎます。時間をおいて再試行してください。