Astrale CLI は何をしますか?
astrale は既存のAstrale Kernelに接続します。インスタンスとアイデンティティを選択し、グラフの読み取りと変更、呼び出し可能関数の実行、ドメインのインストール、カーネルジャーナルの読み取り、認証ビューの開設を行います。
レンダリングされたコマンドヘルプが、フラグとデフォルト値の信頼できる情報源です:
astrale --help
astrale <command> --help
- バイナリ:
astrale - パッケージ:
@astrale-os/cli - ランタイム: Node 22以上。ソース開発のデフォルトはNode 26で、Node 24とBunもサポートします。
- 開発エントリポイント:
bun cli/bin/astrale.ts <command>
コマンド一覧
主要なコマンド:
astrale status
astrale whoami
astrale use <name>
astrale get <target>
astrale query [sources...]
astrale introspect <origin-or-path>
astrale mutate
astrale call <path> [key=value...]
astrale token
astrale logs
astrale view [target-or-view]
astrale ui ...
astrale instance ...
astrale domain ...
astrale identity ...
astrale auth ...
astrale idp ...
astrale admin ...
Kernelにアクセスするコマンドは、該当する場合 --format、--json、--raw、--url、-i/--instance、--timeout、--as、--creds、--anonymous、--debug を共有します。CLIは1つの公開Kernel Call を作成し、そのClientセッションはリモートルーティング、新しい資格情報、および1回の安全なスティブルート再試行を所有します。
astrale ui はローカルプロジェクトツールであり、astrale ui request を除き、Kernel、インスタンス、アイデンティティ、または資格情報オプションを取りません。astrale ui request は認証されたKernelコマンドであり、共有Kernelオプションを取ります。
--anonymous を使用して、ローカルまたはブックマークデフォルトのアイデンティティが存在する場合でも、呼び出し元の資格情報を省略します。--as または --creds と組み合わせることはできません。必要な呼び出し可能関数は匿名リクエストを拒否します。
UIプロジェクト
Astrale UIは、1つのツリーシェイク可能なランタイムパッケージと、コンシューマー所有のパターン、ブロック、テーマソースです。公開されたUIリリースと正確に一致するReactおよびTailwind CSS v4プロジェクトを初期化します:
astrale ui init --preset astrale
astrale ui search "editable chart with 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
初期化により、Base UI + Nova shadcn設定、テーマとプリセットのCSSインポート、および astrale-ui.lock.json が書き込まれます。ロックは、正確なパッケージバージョン、Gitタグ、解決されたコミットSHA、shadcnバージョン、Base UIバージョン、プリセット、インストールされたソースのハッシュを記録します。レジストリメタデータ、含まれるマニフェスト、およびアイテムファイルは、常にその単一のコミットスナップショットから読み取られます。
アイテム引数なしで astrale ui add を実行すると、インタラクティブピッカーが表示されます。CIでは、明示的に正規のアドレスを指定してください。通常のaddは、ローカルで編集されたインストール済みファイルを拒否します。それらのファイルを確認し、置き換えが意図的な場合にのみ --overwrite --yes を使用してください。--dry-run はプロジェクトファイルとロックを変更しません。astrale ui search <free-text> --json を使用して、正確なデモコードとその command またはランタイム packageImport を含む短いランク付けされた候補リストを取得します。
astrale ui request <free-text> は、検索でニーズが満たされない場合に使用します。選択したインスタンス上の /:ui.astrale.ai:function.request を、1つの制限された意図 (1~512文字) で呼び出し、返されたレシートを表示します:{ state: "submitted", requestId, collaborationUrl } または { state: "pending" | "outcome-unknown" | "failed" | "conflict", requestId }。
パターン、ブロック、テーマは、インストール後はアプリケーションが所有するソースです。テーマは components/astrale/theme/ にコピーされ、設定されたホストスタイルシート内の1つの相対インポートを通じてアクティブ化されます。ローカルのプレイグラウンドエクスポートでは、レジストリフェッチやshadcn呼び出しは必要ありません。構成ルート className、インライン style、制御された値/アクション、および安定した data-slot 構造は、ホストに対して開かれたままです。パッケージは再利用可能なランタイム動作を所有します。CLIもSDKもUIパッケージやBase UIを埋め込みません。
パス
正規のKernelパスを使用します:
| 形式 | 例 |
|---|---|
| ドメインルート | /:notes.example.dev |
| クラス | /:notes.example.dev:class.Note |
| 静的呼び出し可能関数 | /:notes.example.dev:class.Note:list |
| インスタンス呼び出し可能関数 | @node-id::notes.example.dev:class.Note.method.archive |
| ノードID | @node-id |
| アクティブな呼び出し元の省略形 | @self |
静的ディスパッチはメソッドの前に1つのコロンを使用します。インスタンスディスパッチは :: の後に完全なドメイン修飾メソッドキーを使用します。
astrale introspect <origin> --bundle でメソッドを発見します。イントロスペクションは、インスタンスコントラクトを検査するためにクラスレシーバーを使用できます。呼び出すには観測されたインスタンスパスが必要です。
@self は、呼び出しパスの先頭または単独の key=@self 値として出現した場合、署名前にCLIによって展開されます。--data、stdin JSON、URL、または任意の部分文字列内では書き換えられません。
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
インスタンスとドメイン
astrale instance は、管理プロビジョニングされたインスタンスとローカルブックマークを組み合わせます:
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
スクリプトでは明示的な -i <instance> を使用してください。instance delete は管理対象インスタンスに影響します。instance forget はローカルブックマークのみを削除します。
instance status はデフォルトでAdminが所有するライフサイクルを報告します。--bookmarked を追加して、1つのローカルブックマークの正確な発行者、JWKS、およびTLS信頼を調査します。
instance invite は、そのインスタンスを管理する権限を必要とし、インスタンスメンバーアクセスのみを許可します。招待は直ちに永続的な招待を返します。WorkOSでの受け入れ後、Adminは自動的に子Shellアクセスを具体化します。
instance invitation status <id> は、保持された招待を1回読み取り専用で観察します。completed はアクセスが具体化されたことを意味します。accepted、registering、registered は中間状態であり、完了したアクセスではありません。このコマンドは正確な招待IDを必要とし、その状態を変更しません。
instance invitation reconcile <id> は診断リカバリであり、通常の招待フローではありません。
デプロイされたAdminドメインがない場合、astrale instance list は管理対象インスタンスをフェッチできません(キーバックアップアイデンティティにはAdminトークンがありません)。astrale instance list --bookmarked を使用してください。
Fleet管理者は、通常のAdminインベントリに --include-retired を追加できます。デフォルトでは廃止されたトゥームストーンは除外されます。含まれる廃止インスタンスは同じ出力形状を使用し、末端の state: "deleted" によって識別されます。オプションの issuer は、Adminが正確な証拠を保持している場合にのみ存在します。到達不能は廃止を意味しません。ローカルブックマークをマシン可読エンベロープから除外する必要がある場合は、--admin-only を追加します。
instance create は、WorkOS呼び出し元で設定されたAdminドメインを通じてプロビジョニングします。Adminがホスト配置を所有します。instance create も instance root import も --host を受け付けません。
instance root import <slug-or-id> は、Adminを介してエンドツーエンド暗号化された1回限りの転送で、対象の所有インスタンスのルート署名アイデンティティを取得します。そのアイデンティティを Admin または Host ルートアイデンティティではなく、ローカルに <slug>-root としてインポートします。--admin <bookmark> または --admin-url <url> を使用して別のAdminエンドポイントを選択します。回復には要求が必要です