Перейти к основному содержимому

CLI arclip

arclip переносит проект в терминал. Агент, которым вы уже пользуетесь, — Claude Code, Codex, Cursor — собирает сцену теми же инструментами, что и ассистент редактора, и проверяет свою работу, прежде чем сказать, что всё готово. Скрипты и CI пользуются теми же командами.

Каждая команда — это один вызов MCP-сервера, поэтому 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.jsonMCP-сервер AR Clip, запускаемый через CLI и закреплённый за этим проектом; токена внутри нет
.claude/settings.jsonразрешает агенту читать эту документацию и запускать проверки, которые ничего не меняют, без подтверждения; на публикацию он спросит

Уже существующие файлы дополняются, а не перезаписываются; имеющийся CLAUDE.md сохраняется, если не передать --force.

arclip clone <project-id> [folder] делает то же самое в новой папке и вдобавок выгружает скрипты и UI-карточки проекта в виде файлов.

Скрипты и UI-карточки как файлы

arclip pull        # server → folder: scripts/**/*.ts and ui/**/*.json
arclip diff # what you changed, line by line
arclip push # folder → server

push сначала компилирует каждый скрипт и ничего не отправляет, если проект на сервере изменился после вашего последнего pull: сделайте pull, посмотрите на разницу и снова push (--force перезаписывает). Новые файлы создаются на сервере; если удалить файл локально, там он не удалится. pull не трогает файл, изменённый с обеих сторон, и сообщает о нём.

Сама сцена — объекты, компоненты, события — остаётся на платформе, где её правят вместе; в виде файлов она не выгружается.

Сцена на вашем телефоне

arclip dev

печатает ссылку и QR-код. Отсканируйте его — и черновик откроется в браузере телефона, без входа и без публикации. Терминал продолжает работать: о каждой правке — от агента или от коллеги в редакторе — появляется сообщение, сцена перепроверяется, а телефон предлагает новую версию. Запущенная AR-сессия предлагает перезагрузиться, а не подменяет сцену прямо у вас на глазах.

arclip dev --watch вдобавок отправляет scripts/ и ui/ на сервер при каждом сохранении. Ссылка перестаёт работать через --hours часов (по умолчанию 12, максимум 72).

Черновик открывается в браузере телефона, а не в приложении AR Clip.

Проверка работы

КомандаЧто она сообщает
arclip verifyто, что нормально сохраняется, но молча не работает в плеере, — отсутствующие файлы, неизвестные события, тёмная сцена
arclip renderPNG, отрисованный на сервере: расстановка, масштаб, цвета, текстуры
arclip render --realопубликованный рантайм в headless Chrome на вашей машине — ровно то, что видит посетитель
arclip playtestзапускает скрипты и физику и нажимает все элементы управления, какие найдёт
arclip testпрогоняет ваши сценарии, tests/*.flow.json

Каждая из них завершается с кодом 1, если что-то не прошло, так что агент — или CI — может на этом остановиться.

render принимает --view front|side|back|top|three-quarter, --entity <id>, чтобы взять в кадр один объект, --size 960x720 и -o file.png. Серверный рендер не рисует скрипты, UI-карточки и эффекты; --real рисует — для 3D-сцен и сцен на поверхности. Сценам, которые начинаются с камеры, — маркеры, лица, VPS — нужно устройство.

playtest и test проигрывают сцену в редакторе, поэтому проект должен быть открыт во вкладке браузера.

Сценарные тесты (flows)

Сценарий — это последовательность действий с ожидаемыми результатами, по одному на файл в tests/. arclip link добавляет стартовый.

{
"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проматывает указанное число тиков
waitпроматывает указанное число миллисекунд
key + msзажимает клавишу, потом отпускает
tapнажимает на объект
ui + actionзапускает действие на UI-карточке
input + target, payloadотправляет любой триггер скрипта
expectпроверяет exists, visible, position, moved, поле component или noCrashes

Цели — это имена объектов в том виде, в каком их показывает редактор, или id. Каждый сценарий выполняется на свежей копии сцены, а время идёт только фиксированными шагами по 1/60 с — сценарий, который прошёл один раз, будет проходить всегда.

arclip test прогоняет их все; arclip test "door opens" — один.

Публикация и собственный хостинг

arclip publish публикует проект и печатает ссылку и QR-код; перед этим он спрашивает подтверждение (--yes в CI). arclip status показывает сцены и состояние публикации; arclip open открывает опубликованную ссылку.

arclip export site && arclip serve site

export записывает одну папку — index.html, сцену в виде project.json, все файлы, которые она использует, шрифты и плеер, — и она запускается с любого статического хостинга: вашего сервера, S3, интранета. С CDN AR Clip по-прежнему загружаются только запасные глифы для письменностей, которых нет в шрифтах (CJK, арабская, …). Ассеты из общей библиотеки сохраняют свои лицензионные условия.

Агенты и другие MCP-клиенты

arclip mcp serve — локальный мост к MCP-серверу, закреплённый за привязанным проектом; именно его запускает .mcp.json. arclip mcp config печатает эту запись — для клиента, который ведёт собственный список серверов.

Любой инструмент доступен одной командой:

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 направляет CLI на другой сервер, как и --api. -p, --project и --space выбирают проект и сцену для одной команды.

Ограничения

  • Сцена живёт на платформе; скрипты и UI-карточки — единственное, с чем вы работаете как с файлами.
  • playtest и test требуют, чтобы проект был открыт во вкладке редактора, в том числе в CI.
  • arclip render — это предпросмотр; когда важен точный вид, используйте --real или устройство.
  • Что может делать агент, определяют разрешения вашего токена и ваш тариф. AI-генерация тратит кредиты вашей команды, как и в редакторе.

Дальше: Для чего здесь годятся агенты