Astrale CLI
astrale se conecta a Kernels de Astrale existentes. Selecciona una instancia e identidad, realiza lecturas y mutaciones del grafo, invoca invocables (callables), instala dominios en ejecución, lee el diario del Kernel y abre vistas autenticadas.
La ayuda renderizada del comando es la fuente autorizada para banderas y valores predeterminados:
astrale --help
astrale <comando> --help
- Binario:
astrale - Paquete:
@astrale-os/cli - Tiempo de ejecución: Node 22 o superior; el desarrollo de la fuente por defecto es Node 26 y también es compatible con Node 24 y Bun
- Punto de entrada de desarrollo:
bun cli/bin/astrale.ts <comando>
Superficie de Comandos
Comandos principales:
astrale status
astrale whoami
astrale use <nombre>
astrale get <objetivo>
astrale query [fuentes...]
astrale introspect <origen-o-ruta>
astrale mutate
astrale call <ruta> [clave=valor...]
astrale token
astrale logs
astrale view [objetivo-o-vista]
astrale ui ...
astrale instance ...
astrale domain ...
astrale identity ...
astrale auth ...
astrale idp ...
astrale admin ...
Los comandos que tocan el Kernel comparten --format, --json, --raw, --url, -i/--instance, --timeout, --as, --creds, --anonymous y --debug cuando corresponda. La CLI crea una única Call pública del Kernel, y su sesión de Cliente posee el enrutamiento remoto, credenciales frescas y un reintento seguro de ruta obsoleta.
astrale ui es una herramienta de proyecto local y no toma opciones de Kernel, instancia, identidad o credenciales, excepto astrale ui request, que es un comando autenticado del Kernel y toma las opciones compartidas del Kernel.
Usa --anonymous para omitir una credencial de llamante incluso cuando existe una identidad local o predeterminada de marcador. No se puede combinar con --as o --creds; los invocables requeridos rechazan solicitudes anónimas.
Proyectos UI
La UI de Astrale es un paquete de tiempo de ejecución única que admite tree-shaking más el patrón, bloque y fuente de tema propiedad del consumidor. Inicializa un proyecto React y Tailwind CSS v4 con la versión exacta publicada de la UI:
astrale ui init --preset astrale
astrale ui search "gráfico editable con exportación"
astrale ui request "combobox asíncrono accesible con creación"
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
La inicialización escribe la configuración de Base UI + Nova shadcn, las importaciones de CSS del tema y preset, y astrale-ui.lock.json. El bloqueo registra la versión exacta del paquete, la etiqueta Git, el SHA del commit resuelto, la versión de shadcn, la versión de Base UI, el preset y los hashes del código fuente instalado. Los metadatos del registro, los manifiestos incluidos y los archivos de elementos siempre se leen de esa única instantánea de commit.
Ejecuta astrale ui add sin argumentos de elemento para un selector interactivo. En CI, proporciona direcciones canónicas explícitamente. La adición ordinaria rechaza archivos instalados editados localmente; revisa esos archivos, luego usa --overwrite --yes solo cuando el reemplazo sea intencional. --dry-run deja los archivos del proyecto y el bloqueo sin cambios. Usa astrale ui search <texto-libre> --json para recibir una lista corta de candidatos clasificados con el código de demostración exacto y su command o packageImport de tiempo de ejecución.
Usa astrale ui request <texto-libre> cuando la búsqueda no satisfaga la necesidad. Llama a /:ui.astrale.ai:function.request en la instancia seleccionada con una intención limitada (1-512 caracteres) e imprime el recibo devuelto: { state: "submitted", requestId, collaborationUrl } o { state: "pending" | "outcome-unknown" | "failed" | "conflict", requestId }.
Los patrones, bloques y temas son código fuente propiedad de la aplicación después de la instalación. Un tema se copia a components/astrale/theme/ y se activa a través de una importación relativa en la hoja de estilo anfitriona configurada; las exportaciones locales del playground no requieren búsqueda en el registro ni invocación de shadcn. El className de la raíz de composición, el style en línea, los valores/acciones controlados y la anatomía estable de data-slot permanecen abiertos para el anfitrión. El paquete posee el comportamiento de tiempo de ejecución reutilizable; ni la CLI ni el SDK incorporan el paquete UI o Base UI.
Rutas
Usa Rutas Canónicas del Kernel:
| Forma | Ejemplo |
|---|---|
| Raíz del dominio | /:notes.example.dev |
| Clase | /:notes.example.dev:class.Note |
| Invocable estático | /:notes.example.dev:class.Note:list |
| Invocable de instancia | @node-id::notes.example.dev:class.Note.method.archive |
| ID de nodo | @node-id |
| Abreviatura del llamante activo | @self |
El despacho estático usa dos puntos antes del método. El despacho de instancia usa :: seguido de la clave de Método completa calificada por Dominio. Descubre métodos con astrale introspect <origen> --bundle. La introspección puede usar un receptor de Clase para inspeccionar un contrato de instancia; llamarlo requiere una ruta de instancia observada. @self es expandido por la CLI antes de firmar cuando aparece al inicio de una ruta de llamada o un valor clave=@self simple. No se reescribe dentro de --data, JSON de stdin, URLs o subcadenas arbitrarias.
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
Instancias y Dominios
astrale instance combina instancias aprovisionadas por el administrador y marcadores locales:
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
Usa -i <instancia> explícito en scripts. instance delete afecta a una instancia administrada por el administrador; instance forget elimina solo el marcador local. instance status reporta el ciclo de vida propiedad del Administrador por defecto; agrega --bookmarked para sondear el emisor exacto, JWKS y confianza TLS de un marcador local. instance invite requiere autoridad para administrar la Instancia exacta y otorga solo acceso de miembro a la Instancia. Devuelve la Invitación duradera inmediatamente; el Administrador materializa automáticamente el acceso Shell hijo después de la aceptación de WorkOS. instance invitation status <id> realiza una observación de solo lectura de la Invitación retenida. completed significa que el acceso está materializado; accepted, registering y registered son estados intermedios, no acceso completado. El comando requiere el id de Invitación exacto y no cambia su estado. instance invitation reconcile <id> es recuperación de diagnóstico, no el recorrido de invitación normal.
Sin un Dominio de Administrador desplegado, astrale instance list no puede obtener instancias gestionadas (las identidades respaldadas por clave no tienen token de Administrador). Usa astrale instance list --bookmarked.
Los administradores de Fleet pueden agregar --include-retired al inventario normal del Administrador. El valor predeterminado excluye tumbas retiradas; las Instancias retiradas incluidas usan la misma forma de salida y se identifican por el estado terminal state: "deleted". El issuer opcional está presente solo cuando el Administrador ha retenido evidencia exacta. Inalcanzable no significa retirado. Agrega --admin-only cuando los marcadores locales deben omitirse del sobre legible por máquina.
instance create aprovisiona a través del Dominio de Administrador configurado con un llamante de WorkOS; el Administrador posee la ubicación del Host. Ni instance create ni instance root import aceptan --host.
instance root import <slug-o-id> recupera la identidad de firma raíz de la Instancia propiedad del objetivo a través del Administrador mediante una transferencia cifrada de extremo a extremo de un solo uso. Importa esa identidad localmente como <slug>-root, no la identidad raíz del Administrador o Host. Usa --admin <marcador> o --admin-url <url> para seleccionar otro punto final de Administrador. La recuperación requiere