Was macht Astrale CLI?
astrale verbindet sich mit bestehenden Astrale-Kernels. Es wählt eine Instanz und Identität aus, führt Graph-Lese- und -Schreiboperationen durch, ruft aufrufbare Funktionen auf, installiert laufende Domänen, liest das Kernel-Journal und öffnet authentifizierte Ansichten.
Die gerenderte Befehls-Hilfe ist maßgeblich für Flags und Standardwerte:
astrale --help
astrale <befehl> --help
- Binary:
astrale - Paket:
@astrale-os/cli - Laufzeit: Node 22 oder neuer; Source-Entwicklung standardmäßig Node 26 und unterstützt auch Node 24 und Bun
- Dev-Einstiegspunkt:
bun cli/bin/astrale.ts <befehl>
Befehlsoberfläche
Primäre Befehle:
astrale status
astrale whoami
astrale use <name>
astrale get <ziel>
astrale query [quellen...]
astrale introspect <origin-oder-pfad>
astrale mutate
astrale call <pfad> [schluessel=wert...]
astrale token
astrale logs
astrale view [ziel-oder-ansicht]
astrale ui ...
astrale instance ...
astrale domain ...
astrale identity ...
astrale auth ...
astrale idp ...
astrale admin ...
Kernel-berührende Befehle teilen --format, --json, --raw, --url, -i/--instance, --timeout, --as, --creds, --anonymous und --debug, wo anwendbar. Die CLI erstellt einen öffentlichen Kernel Call, und ihre Client-Sitzung besitzt Remote-Routing, frische Anmeldeinformationen und eine sichere Wiederholung bei veralteten Routen.
astrale ui ist lokales Projekt-Tooling und benötigt keinen Kernel, keine Instanz, Identität oder Anmeldeinformationen, außer astrale ui request, das ein authentifizierter Kernel-Befehl ist und die gemeinsamen Kernel-Optionen verwendet.
Verwende --anonymous, um eine Aufrufer-Anmeldeinformation auch dann wegzulassen, wenn eine lokale oder Lesezeichen-Standardidentität existiert. Es kann nicht mit --as oder --creds kombiniert werden; erforderliche Aufrufbare lehnen anonyme Anfragen ab.
UI-Projekte
Astrale UI ist ein tree-shakeable Runtime-Paket plus konsumenteneigene Pattern-, Block- und Theme-Quellen. Initialisiere ein React- und Tailwind CSS v4-Projekt mit der exakten veröffentlichten UI-Version:
astrale ui init --preset astrale
astrale ui search "editierbares Diagramm mit Export"
astrale ui request "accessible async combobox with creation"
astrale ui add pattern/chart/line-basic
astrale ui add theme/observatory
astrale ui add ./my-playground-export.css
astrale ui doctor
astrale ui doctor --project ./apps/web
astrale ui preset apply compact
Die Initialisierung schreibt Base UI + Nova shadcn-Konfiguration, Theme- und Preset-CSS-Imports sowie astrale-ui.lock.json. Das Lock zeichnet die exakte Paketversion, den Git-Tag, den aufgelösten Commit-SHA, die shadcn-Version, die Base UI-Version, das Preset und Hashes der installierten Quellen auf. Registry-Metadaten, enthaltene Manifeste und Elementdateien werden immer aus diesem einzelnen Commit-Snapshot gelesen.
Führe astrale ui add ohne Elementargumente für einen interaktiven Auswahl-Assistenten aus. Gib in CI explizit kanonische Adressen an. Normales Add verweigert lokal bearbeitete installierte Dateien; überprüfe diese Dateien und verwende dann --overwrite --yes nur, wenn der Ersatz beabsichtigt ist. --dry-run lässt Projektdateien und das Lock unverändert. Verwende astrale ui search <freitext> --json, um eine kurze, gewertete Kandidatenliste mit exaktem Democode und dessen command- oder Runtime-packageImport zu erhalten.
Verwende astrale ui request <freitext>, wenn die Suche den Bedarf nicht deckt. Es ruft /:ui.astrale.ai:function.request auf der ausgewählten Instanz mit einer begrenzten Absicht (1-512 Zeichen) auf und gibt die zurückgegebene Quittung aus: { state: "submitted", requestId, collaborationUrl } oder { state: "pending" | "outcome-unknown" | "failed" | "conflict", requestId }.
Patterns, Blocks und Themes sind nach der Installation anwendungseigener Quellcode. Ein Theme wird nach components/astrale/theme/ kopiert und durch einen relativen Import im konfigurierten Host-Stylesheet aktiviert; lokale Playground-Exporte benötigen keinen Registry-Abruf oder shadcn-Aufruf. Composition-Root className, Inline-style, kontrollierte Werte/Aktionen und stabile data-slot-Anatomie bleiben dem Host offen. Das Paket besitzt wiederverwendbares Runtime-Verhalten; weder die CLI noch das SDK bündelt das UI-Paket oder Base UI.
Pfade
Verwende kanonische Kernel-Pfade:
| Form | Beispiel |
|---|---|
| Domain-Stamm | /:notes.example.dev |
| Klasse | /:notes.example.dev:class.Note |
| Statische aufrufbare Funktion | /:notes.example.dev:class.Note:list |
| Instanz-aufrufbare Funktion | @node-id::notes.example.dev:class.Note.method.archive |
| Knoten-ID | @node-id |
| Aktiver-Aufrufer-Kurzform | @self |
Statischer Dispatch verwendet einen Doppelpunkt vor der Methode. Instanz-Dispatch verwendet :: gefolgt vom vollständigen Domain-qualifizierten Methodenschlüssel. Entdecke Methoden mit astrale introspect <origin> --bundle. Introspection kann einen Class-Empfänger verwenden, um einen Instanzvertrag zu inspizieren; das Aufrufen erfordert einen beobachteten Instanzpfad. @self wird von der CLI vor dem Signieren erweitert, wenn es am Kopf eines Aufrufpfads oder eines nackten key=@self-Werts erscheint. Es wird nicht innerhalb von --data, stdin-JSON, URLs oder beliebigen Teilzeichenfolgen umgeschrieben.
astrale get @self --json
astrale introspect /:notes.example:class.Note::notes.example:class.Note.method.archive
astrale call /:blog.example:class.Author:list limit=10
astrale call /:admin.astrale.ai:core.fleet::admin.astrale.ai:class.Fleet.method.listInstances
Instanzen und Domänen
astrale instance kombiniert von Administratoren bereitgestellte Instanzen und lokale Lesezeichen:
astrale instance create my-app
astrale instance root import development --yes
astrale instance invite my-app [email protected]
astrale instance invitation status @invitation-id
astrale instance status my-app
astrale instance status staging --bookmarked
astrale instance list --include-retired --admin-only --json
astrale instance use my-app
astrale instance bookmark staging --url https://kernel.example.com
astrale instance forget staging
Verwende explizit -i <instanz> in Skripten. instance delete betrifft eine verwaltete Instanz; instance forget entfernt nur das lokale Lesezeichen. instance status meldet standardmäßig den vom Admin verwalteten Lebenszyklus; füge --bookmarked hinzu, um den genauen Aussteller, JWKS und TLS-Vertrauen eines lokalen Lesezeichens zu prüfen. instance invite erfordert die Berechtigung, die genaue Instanz zu verwalten, und gewährt nur Instanz-Mitgliedszugriff. Es gibt die dauerhafte Einladung sofort zurück; Admin materialisiert automatisch den untergeordneten Shell-Zugriff nach WorkOS-Akzeptanz. instance invitation status <id> führt eine schreibgeschützte Beobachtung der beibehaltenen Einladung durch. completed bedeutet, dass der Zugriff materialisiert ist; accepted, registering und registered sind Zwischenzustände, kein abgeschlossener Zugriff. Der Befehl erfordert die genaue Einladungs-ID und ändert deren Zustand nicht. instance invitation reconcile <id> ist eine diagnostische Wiederherstellung, nicht der normale Einladungsprozess. Ohne eine bereitgestellte Admin-Domain kann astrale instance list keine verwalteten Instanzen abrufen (schlüsselgestützte Identitäten haben kein Admin-Token). Verwende astrale instance list --bookmarked.
Fleet-Administratoren können --include-retired zum normalen Admin-Inventar hinzufügen. Standardmäßig werden ausgemusterte Tombstones ausgeschlossen; enthaltene ausgemusterte Instanzen verwenden das gleiche Ausgabeformat und werden durch den Endzustand state: "deleted" identifiziert. Der optionale issuer ist nur vorhanden, wenn Admin genaue Beweise aufbewahrt hat. Unerreichbar bedeutet nicht ausgemustert. Füge --admin-only hinzu, wenn lokale Lesezeichen im maschinenlesbaren Umschlag weggelassen werden sollen.
instance create richtet über die konfigurierte Admin-Domain mit einem WorkOS-Aufrufer ein; Admin besitzt die Host-Platzierung. Weder instance create noch instance root import akzeptieren --host.
instance root import <slug-or-id> ruft die Stamm-Signaturidentität der Zielinstanz über Admin in einer Ende-zu-Ende verschlüsselten, einmaligen Übertragung ab. Es importiert diese Identität lokal als <slug>-root, nicht als Admin- oder Host-Stammidentität. Verwende --admin <bookmark> oder --admin-url <url>, um einen anderen Admin-Endpunkt auszuwählen. Wiederherstellung