sc CLI reference
The Spacecraft CLI exposes one binary, sc. Below is the working set. Run sc <command> --help for the canonical, code-generated help.
Launch + dry-run
Section titled “Launch + dry-run”sc launch [blueprint] # run a mission — local path or spacecraft://idsc launch ./blueprint.yaml --dry-run # inspect resolved graphsc launch ./blueprint.yaml --dry-run --json # machine-readablesc launch # interactive picker over the hangarCommon flags: --model · --adapter (default vercel-ai) · --engine <url> · --memory-adapter · --strategy (sliding_window | summarize | hybrid | rag) · --bindings <path>.
Author + scaffold
Section titled “Author + scaffold”sc blueprint # interactive wizardsc blueprint --template chat-assistant --yes \ --id my-helper --name "My Helper" -o blueprint.yaml
sc compose init <dir> # full package: blueprint + manifest + checksumssc compose wizard # interactive variantsc compose publish [dir] # upload to hosted registry (env-gated, requires explicit confirmation)Templates: chat-assistant · tool-agent · rag-agent · telegram-bot.
Validate
Section titled “Validate”sc harness validate <dir> # checks package: kebab-case id, semver, checksums, schemasc bindings validate <blueprint> <bindings> # checks bindings resolve + satisfy blueprint inputssc bindings validate ... --jsonHangar + registry
Section titled “Hangar + registry”sc hangar # local: spacecraft + skills + modelssc hangar --json # machine-readable hangar/v0 snapshot
sc registry search --kind harness <q>sc registry info <id>sc registry pull <id> # pulls into the local hangarsc registry list / seed # browse / seed the platform catalogsc build # auto-generates manifest.json if missingsc build --name my-spacecraft # override id# After build: sc launch spacecraft://<id>Inference engine
Section titled “Inference engine”sc pull ollama:llama3 # → ~/.celestial/models/llama3.ggufsc pull hf:TheBloke/Qwen2.5-7B/qwen.gguf # HuggingFace GGUFsc pull spacecraft://decider-domain-sweep # pull a harnesssc pull skill://@org/my-skill # pull a skill
sc serve --model llama3 # llama.cpp, CPU/Metalsc serve --model <hf-id> --backend vllm # GPU, PagedAttentionsc serve --model <hf-id> --backend sglang # GPU, RadixAttentionDiagnose + capabilities
Section titled “Diagnose + capabilities”sc doctor # hardware, Python, llama-cpp, model filesc doctor --jsonsc adapters # available inference + memory adapterssc capabilities # unified catalog (ADR-030)sc capabilities --json # catalogVersion: "capabilities/v0"sc catalog / sc catalog sync # platform catalogsc mcp # stdio Spacecraft MCP serverThe MCP tool surface (under packages/spacecraft/cli/src/mcp/tools/):
| Tool | Purpose |
|---|---|
capabilities | Adapter inventory + capability matrix |
catalog | Browse the unified Celestial catalog |
doctor | Hardware + engine diagnostics |
hangar | List spacecraft / skills / models in the local hangar |
harness | Validate a harness package against the v0 contract |
launch | Resolve engine + plan the graph (dry-run only at time of writing) |
Safety notes
Section titled “Safety notes”sc compose publishuploads to a hosted registry. Never run without explicit confirmation.sc launchcan run blueprints with real-world side effects (bashtools, MCP bridges, comm channels, paid LLM endpoints). Always--dry-runfirst.- Bindings may resolve to secrets. Use
sc bindings validate --jsonto surface keys without printing values.
Source
Section titled “Source”The command implementations live in packages/spacecraft/cli/src/commands/. Entry point: packages/spacecraft/cli/src/sc-index.ts.