arclip CLI
arclip は、プロジェクトをターミナルに持ち込みます。すでに使っているエージェント — Claude Code、
Codex、Cursor — が、エディターのアシスタントと同じツールでシーンを組み立て、終わったと告げる前に
自分の仕事を確かめます。スクリプトや CI も同じコマンドを使います。
コマンドはどれも MCP サーバーへの 1 回の呼び出しです。ですから CLI には、 エディターのツールにできないことは何もできず、ツールとずれていくこともありません。
インストール
npm i -g arclip
Node 18 以降が必要です。arclip render --real には、さらに Node 22 と、そのマシン上の
Google Chrome か Chromium が必要です。
クイックスタート
arclip login # sign in once, in the browser
arclip link <project-id> # in your folder: set it up for agents
arclip dev # a QR code — the live draft on your phone
claude # or codex, or Cursor — ask for the scene
arclip verify && arclip render -o shot.png
arclip publish # when you are happy
arclip projects で、開けるプロジェクトの一覧が出ます。id はエディターのアドレス
editor.arclip.design/project/<project-id> の最後の部分でもあります。
サインイン
arclip login は、MCP クライアントに出るのと同じ権限のページをブラウザーで開きます。与えたくない
もののチェックを外して Allow を押すと、CLI がトークンを受け取ります。自分で作成したトークンを
代わりに保存するなら arclip login --token arclip_… を使います。--no-browser はアドレスを表示する
だけなので、同じマシンのブラウザーで開いてください。
トークンはユーザー設定(~/.config/arclip)に、あなただけが読める形で保存され、発行したサーバー
以外に送られることはありません。arclip whoami は使用中のアカウント・サーバー・権限を表示し、
arclip logout はトークンを破棄します。アカウントの API & MCP でいつでも取り消せます。
arclip link が用意するもの
どのフォルダーでも実行できます。新しいフォルダーでも、既存のリポジトリでもかまいません。
| ファイル | 役割 |
|---|---|
.arclip/project.json | このフォルダーがどのプロジェクトに属するか。コミットしても安全です |
CLAUDE.md | エージェントの手順。組み立て、検証、レンダリング、プレイテスト、報告 — そして頼まれない限り公開しない |
.mcp.json | CLI 経由で起動し、このプロジェクトに固定した AR Clip の MCP サーバー。トークンは含みません |
.claude/settings.json | エージェントがこのドキュメントを読み、読み取り専用のチェックを確認なしで実行できるようにします。公開は確認を求めます |
既存のファイルは上書きせずにマージします。既存の CLAUDE.md は、--force を付けない限り
そのまま残します。
arclip clone <project-id> [folder] は同じことを新しいフォルダーで行い、プロジェクトの script と
UI カードをファイルとして取ってきます。
script と UI カードをファイルで扱う
arclip pull # server → folder: scripts/**/*.ts and ui/**/*.json
arclip diff # what you changed, line by line
arclip push # folder → server
push はまずすべての script をコンパイルし、前回の pull 以降にサーバー側でプロジェクトが
変わっていれば何も送りません。その場合は pull して差分を確かめ、もう一度 push してください
(--force で上書きします)。新しいファイルはサーバー上に作成されますが、ローカルでファイルを
消してもサーバー側では消えません。pull は、両側で変更されたファイルには手を付けず、そのことを
知らせます。
シーンそのもの — オブジェクト、component、イベント — は、みんなで一緒に編集するプラットフォーム 上に残ります。ファイルとして取ってくることはありません。
スマートフォンでシーンを見る
arclip dev
実行すると、リンクと QR コードが表示されます。スキャンすると、スマートフォンのブラウザーで 下書きが開きます。サインインも公開も要りません。ターミナルは動き続け、エージェントからでも エディターにいる同僚からでも、編集があるたびにそれを報告してシーンを点検し直し、スマートフォンには 新しいバージョンが案内されます。AR セッションの最中は、目の前のシーンをいきなり差し替えず、 再読み込みを提案します。
arclip dev --watch は、scripts/ と ui/ を保存するたびに push もします。リンクは --hours で
指定した時間が経つと期限切れになります(既定は 12、最大 72)。
下書きが開くのはスマートフォンのブラウザーで、AR Clip アプリではありません。
仕事を確かめる
| コマンド | わかること |
|---|---|
arclip verify | 保存はできるのにプレイヤーでは黙って失敗するもの — ファイルの欠落、未知のイベント、暗いシーン |
arclip render | サーバーで描画した PNG。レイアウト、縮尺、色、テクスチャ |
arclip render --real | 手元のマシンのヘッドレス Chrome で動かす公開版のランタイム。来場者が見るものそのままです |
arclip playtest | script と物理を動かし、見つけた操作をすべて押してみます |
arclip test | 用意したシナリオ tests/*.flow.json を実行します |
どれも、何かが失敗すると終了コード 1 で終わるので、エージェントや CI はそこで止まれます。
render には --view front|side|back|top|three-quarter、1 つのオブジェクトを画面に収める
--entity <id>、--size 960x720、-o file.png を指定できます。サーバー側のレンダリングは
script・UI カード・エフェクトを描画しませんが、--real は 3D シーンと Surface シーンで
それらも描画します。カメラから始まるシーン — マーカー、顔、VPS — には実機が必要です。
playtest と test はエディターの中でシーンを動かすので、プロジェクトをブラウザーのタブで
開いておく必要があります。
シナリオテスト(フロー)
フローは期待値つきのシナリオで、tests/ に 1 ファイル 1 本ずつ置きます。arclip link が
ひな形を 1 つ追加します。
{
"name": "door opens",
"steps": [
{ "frames": 30 },
{ "tap": "Door button" },
{ "wait": 500 },
{ "expect": { "target": "Door", "position": { "x": 1.2, "tolerance": 0.05 } } },
{ "key": "KeyW", "ms": 400 },
{ "expect": { "target": "Player", "moved": true } },
{ "ui": "HUD", "action": "restart" },
{ "expect": { "noCrashes": true } }
]
}
| ステップ | 内容 |
|---|---|
frames | その数だけ tick を進める |
wait | その数のミリ秒だけ進める |
key + ms | キーを押し続け、それから離す |
tap | オブジェクトをタップする |
ui + action | UI カードのアクションを発火する |
input + target, payload | 任意の script トリガーを送る |
expect | exists・visible・position・moved・component のフィールド、または noCrashes を確認する |
ターゲットは、エディターに表示されるとおりのオブジェクト名か id です。各フローはシーンの新しい コピーの上で実行され、時間は 1/60 秒の固定刻みでしか進みません。一度通ったフローは、毎回通ります。
arclip test はすべてを実行し、arclip test "door opens" は 1 本だけを実行します。
公開と、自前でのホスティング
arclip publish は公開して、リンクと QR コードを表示します。実行前に確認を求めます(CI では
--yes)。arclip status はシーンと公開状態を表示し、arclip open は公開リンクを開きます。
arclip export site && arclip serve site
export は 1 つのフォルダーを書き出します。index.html、project.json としてのシーン、使っている
すべてのファイル、フォント、プレイヤー。このフォルダーは、自前のサーバー、S3、イントラネットと、
どの静的ホストからでも動きます。フォントにない文字体系(CJK、アラビア文字など)のためのフォール
バック用グリフだけは、引き続き AR Clip の CDN から読み込まれます。共有ライブラリのアセットは、
それぞれのライセンス条件に従います。
エージェントとほかの MCP クライアント
arclip mcp serve は MCP サーバーへのローカルブリッジで、リンクしたプロジェクトに固定されて
います。.mcp.json が起動するのはこれです。arclip mcp config はその設定項目を出力します。
独自のリストを持つクライアント向けです。
どのツールも、コマンド 1 つで呼べます。
arclip tools # what this account can call
arclip call get_entity '{"entityId":"…"}' # arguments as JSON, or "-" for stdin
スクリプトと CI
- 結果は stdout に、診断は stderr に出ます。
--jsonを付けると、どの結果も機械可読になります - 終了コード
0は成功、1はチェックかツールの失敗、2は使い方かサインインの問題です - CI にログインは要りません。トークンとプロジェクトを環境変数に入れてください
export ARCLIP_TOKEN=arclip_…
export ARCLIP_PROJECT=<project-id>
arclip verify --json
arclip render --view top -o top.png
ARCLIP_API は --api と同じく、CLI を別のサーバーに向けます。-p, --project と --space は、
1 回のコマンドに対してプロジェクトとシーンを選びます。
制限
- シーンはプラットフォーム上にあります。ファイルとして扱えるのは script と UI カードだけです
playtestとtestには、エディターのタブでプロジェクトを開いておく必要があります。CI でも 同じですarclip renderはプレビューです。正確な見た目が重要なら、--realか実機を使ってください- エージェントにできることは、トークンの権限とプランに従います。AI 生成は、エディターと同じく チームのクレジットを消費します
次へ: エージェントはここで何に向くか