Zum Hauptinhalt springen

Die arclip-CLI

arclip holt ein Projekt ins Terminal. Ein Agent, den Sie ohnehin nutzen — Claude Code, Codex, Cursor —, baut die Szene mit denselben Werkzeugen wie der Assistent des Editors und prüft seine eigene Arbeit, bevor er Ihnen sagt, dass er fertig ist. Skripte und CI verwenden dieselben Befehle.

Jeder Befehl ist genau ein Aufruf des MCP-Servers. Die CLI kann also nichts, was die Werkzeuge des Editors nicht können, und entfernt sich nie von ihnen.

Installieren

npm i -g arclip

Sie braucht Node 18 oder neuer. arclip render --real braucht außerdem Node 22 und Google Chrome oder Chromium auf dem Rechner.

Schnellstart

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 listet die Projekte auf, die Sie öffnen können. Die Id ist auch der letzte Teil der Editor-Adresse: editor.arclip.design/project/<project-id>.

Anmelden

arclip login öffnet in Ihrem Browser dieselbe Berechtigungsseite, die auch ein MCP-Client bekommt. Entfernen Sie den Haken bei dem, was Sie nicht gewähren wollen, drücken Sie Allow, und die CLI erhält ein Token. arclip login --token arclip_… speichert stattdessen ein Token, das Sie selbst angelegt haben; --no-browser gibt nur die Adresse aus, damit Sie sie in einem Browser auf demselben Rechner öffnen.

Das Token liegt in Ihrer Benutzerkonfiguration (~/.config/arclip), nur für Sie lesbar, und wird immer nur an den Server gesendet, der es ausgestellt hat. arclip whoami zeigt Konto, Server und Berechtigungen, die gerade verwendet werden; arclip logout vergisst das Token. Widerrufen können Sie es jederzeit in Ihrem Konto unter API & MCP.

Führen Sie es in einem beliebigen Ordner aus — einem neuen oder Ihrem bestehenden Repository:

DateiWofür sie da ist
.arclip/project.jsonzu welchem Projekt dieser Ordner gehört — kann bedenkenlos committet werden
CLAUDE.mddie Routine des Agenten: bauen, verifizieren, rendern, playtesten, berichten — und nie ungefragt veröffentlichen
.mcp.jsonder AR-Clip-MCP-Server, über die CLI gestartet und an dieses Projekt gebunden; kein Token darin
.claude/settings.jsonerlaubt dem Agenten, diese Doku zu lesen und die Nur-Lese-Prüfungen ohne Nachfrage auszuführen; vor dem Veröffentlichen wird gefragt

Vorhandene Dateien werden zusammengeführt, nicht überschrieben; eine bestehende CLAUDE.md bleibt erhalten, außer Sie übergeben --force.

arclip clone <project-id> [folder] tut dasselbe in einem neuen Ordner und holt die Skripte und UI-Karten des Projekts als Dateien herunter.

Skripte und UI-Karten als Dateien

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

push kompiliert zuerst jedes Skript und sendet nichts, wenn sich das Projekt seit Ihrem letzten pull auf dem Server geändert hat — dann erst pull, den Unterschied ansehen und erneut push (--force überschreibt). Neue Dateien werden auf dem Server angelegt; eine lokal gelöschte Datei wird dort nicht gelöscht. Eine Datei, die sich auf beiden Seiten geändert hat, lässt pull unangetastet und sagt es Ihnen.

Die Szene selbst — Objekte, Komponenten, Ereignisse — bleibt auf der Plattform, wo Leute sie gemeinsam bearbeiten; sie wird nicht als Dateien geholt.

Ihre Szene auf Ihrem Handy

arclip dev

gibt einen Link und einen QR-Code aus. Scannen Sie ihn, und der Entwurf öffnet sich im Browser des Handys — ohne Anmeldung, ohne Veröffentlichen. Das Terminal läuft weiter: Jede Änderung, ob vom Agenten oder von einer Kollegin im Editor, wird gemeldet, die Szene wird erneut geprüft, und das Handy bietet die neue Version an. Eine laufende AR-Sitzung bietet an, neu zu laden, statt Ihnen die Szene unter den Füßen auszutauschen.

arclip dev --watch pusht außerdem scripts/ und ui/, sobald Sie speichern. Der Link läuft nach --hours ab (standardmäßig 12, höchstens 72).

Der Entwurf öffnet sich im Browser des Handys, nicht in der AR-Clip-App.

Die Arbeit prüfen

BefehlWas er Ihnen sagt
arclip verifywas sich problemlos speichern lässt und im Player still scheitert — fehlende Dateien, unbekannte Ereignisse, eine dunkle Szene
arclip renderein auf dem Server gezeichnetes PNG: Aufbau, Maßstab, Farben, Texturen
arclip render --realdie veröffentlichte Runtime in Headless-Chrome auf Ihrem Rechner — genau das, was ein Besucher sieht
arclip playtestführt die Skripte und die Physik aus und drückt jedes Bedienelement, das er findet
arclip testführt Ihre geskripteten Szenarien aus, tests/*.flow.json

Jeder davon endet mit Exit-Code 1, wenn etwas fehlschlägt, sodass ein Agent — oder CI — dort anhalten kann.

render nimmt --view front|side|back|top|three-quarter, --entity <id>, um ein einzelnes Objekt ins Bild zu setzen, --size 960x720 und -o file.png. Das Rendern auf dem Server zeichnet keine Skripte, UI-Karten oder Effekte; --real schon, für 3D- und Surface-Szenen. Szenen, die von einer Kamera ausgehen — Marker, Gesichter, VPS —, brauchen ein Gerät.

playtest und test spielen die Szene im Editor ab, das Projekt muss also in einem Browser-Tab geöffnet sein.

Geskriptete Tests (Flows)

Ein Flow ist ein Szenario mit Erwartungen, einer pro Datei in tests/. arclip link legt einen als Ausgangspunkt an.

{
"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 } }
]
}
SchrittTut
frameslässt so viele Ticks vergehen
waitlässt so viele Millisekunden vergehen
key + mshält eine Taste gedrückt und lässt sie dann los
taptippt ein Objekt an
ui + actionlöst eine Aktion auf einer UI-Karte aus
input + target, payloadsendet einen beliebigen Skript-Auslöser
expectprüft exists, visible, position, moved, ein Feld einer component oder noCrashes

Ziele sind Objektnamen, wie der Editor sie zeigt, oder Ids. Jeder Flow läuft auf einer frischen Kopie der Szene, und die Zeit bewegt sich nur in festen Schritten von 1/60 s — ein Flow, der einmal besteht, besteht jedes Mal.

arclip test führt alle aus; arclip test "door opens" führt einen aus.

Veröffentlichen und selbst hosten

arclip publish veröffentlicht und gibt den Link und einen QR-Code aus; vorher fragt es nach (--yes in CI). arclip status zeigt die Szenen und den Veröffentlichungsstand; arclip open öffnet den veröffentlichten Link.

arclip export site && arclip serve site

export schreibt einen einzigen Ordner — index.html, die Szene als project.json, jede Datei, die sie verwendet, die Schriftarten und den Player —, der von jedem statischen Host läuft: Ihrem eigenen Server, S3, einem Intranet. Nur die Ersatzglyphen für Schriftsysteme, die den Schriftarten fehlen (CJK, Arabisch, …), kommen weiterhin vom AR-Clip-CDN. Assets aus der gemeinsamen Bibliothek behalten ihre Lizenzbedingungen.

Agenten und andere MCP-Clients

arclip mcp serve ist eine lokale Brücke zum MCP-Server, an das verknüpfte Projekt gebunden — sie ist das, was .mcp.json startet. arclip mcp config gibt diesen Eintrag aus, für einen Client, der seine eigene Liste führt.

Jedes Werkzeug ist nur einen Befehl entfernt:

arclip tools                                   # what this account can call
arclip call get_entity '{"entityId":"…"}' # arguments as JSON, or "-" for stdin

Skripte und CI

  • Das Ergebnis geht nach stdout, Diagnosen nach stderr; --json macht jedes Ergebnis maschinenlesbar.
  • Exit-Code 0 bedeutet Erfolg, 1 eine fehlgeschlagene Prüfung oder ein fehlgeschlagenes Werkzeug, 2 ein Problem mit dem Aufruf oder der Anmeldung.
  • CI braucht kein Login — legen Sie ein Token und ein Projekt in die Umgebung:
export ARCLIP_TOKEN=arclip_…
export ARCLIP_PROJECT=<project-id>
arclip verify --json
arclip render --view top -o top.png

ARCLIP_API richtet die CLI auf einen anderen Server, wie --api. -p, --project und --space wählen Projekt und Szene für einen einzelnen Befehl.

Grenzen

  • Die Szene lebt auf der Plattform; Skripte und UI-Karten sind die einzigen Teile, an denen Sie als Dateien arbeiten.
  • playtest und test brauchen das Projekt in einem geöffneten Editor-Tab, auch in CI.
  • arclip render ist eine Vorschau; nehmen Sie --real oder ein Gerät, wenn es auf das genaue Aussehen ankommt.
  • Was ein Agent tun darf, richtet sich nach den Berechtigungen Ihres Tokens und nach Ihrem Tarif. KI-Generierung verbraucht die Credits Ihres Teams, genau wie im Editor.

Weiter: Wofür Agenten hier taugen