メインコンテンツまでスキップ

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/project.jsonこのフォルダーがどのプロジェクトに属するか。コミットしても安全です
CLAUDE.mdエージェントの手順。組み立て、検証、レンダリング、プレイテスト、報告 — そして頼まれない限り公開しない
.mcp.jsonCLI 経由で起動し、このプロジェクトに固定した 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 playtestscript と物理を動かし、見つけた操作をすべて押してみます
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 カード・エフェクトを描画しませんが、--real3D シーンと Surface シーンで それらも描画します。カメラから始まるシーン — マーカー、顔、VPS — には実機が必要です。

playtesttest はエディターの中でシーンを動かすので、プロジェクトをブラウザーのタブで 開いておく必要があります。

シナリオテスト(フロー)

フローは期待値つきのシナリオで、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 + actionUI カードのアクションを発火する
input + target, payload任意の script トリガーを送る
expectexistsvisiblepositionmovedcomponent のフィールド、または 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.htmlproject.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 カードだけです
  • playtesttest には、エディターのタブでプロジェクトを開いておく必要があります。CI でも 同じです
  • arclip render はプレビューです。正確な見た目が重要なら、--real か実機を使ってください
  • エージェントにできることは、トークンの権限とプランに従います。AI 生成は、エディターと同じく チームのクレジットを消費します

次へ: エージェントはここで何に向くか