Skip to content

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.

Terminal window
sc launch [blueprint] # run a mission — local path or spacecraft://id
sc launch ./blueprint.yaml --dry-run # inspect resolved graph
sc launch ./blueprint.yaml --dry-run --json # machine-readable
sc launch # interactive picker over the hangar

Common flags: --model · --adapter (default vercel-ai) · --engine <url> · --memory-adapter · --strategy (sliding_window | summarize | hybrid | rag) · --bindings <path>.

Terminal window
sc blueprint # interactive wizard
sc blueprint --template chat-assistant --yes \
--id my-helper --name "My Helper" -o blueprint.yaml
sc compose init <dir> # full package: blueprint + manifest + checksums
sc compose wizard # interactive variant
sc compose publish [dir] # upload to hosted registry (env-gated, requires explicit confirmation)

Templates: chat-assistant · tool-agent · rag-agent · telegram-bot.

Terminal window
sc harness validate <dir> # checks package: kebab-case id, semver, checksums, schema
sc bindings validate <blueprint> <bindings> # checks bindings resolve + satisfy blueprint inputs
sc bindings validate ... --json
Terminal window
sc hangar # local: spacecraft + skills + models
sc 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 hangar
sc registry list / seed # browse / seed the platform catalog
Terminal window
sc build # auto-generates manifest.json if missing
sc build --name my-spacecraft # override id
# After build: sc launch spacecraft://<id>
Terminal window
sc pull ollama:llama3 # → ~/.celestial/models/llama3.gguf
sc pull hf:TheBloke/Qwen2.5-7B/qwen.gguf # HuggingFace GGUF
sc pull spacecraft://decider-domain-sweep # pull a harness
sc pull skill://@org/my-skill # pull a skill
sc serve --model llama3 # llama.cpp, CPU/Metal
sc serve --model <hf-id> --backend vllm # GPU, PagedAttention
sc serve --model <hf-id> --backend sglang # GPU, RadixAttention
Terminal window
sc doctor # hardware, Python, llama-cpp, model file
sc doctor --json
sc adapters # available inference + memory adapters
sc capabilities # unified catalog (ADR-030)
sc capabilities --json # catalogVersion: "capabilities/v0"
sc catalog / sc catalog sync # platform catalog
Terminal window
sc mcp # stdio Spacecraft MCP server

The MCP tool surface (under packages/spacecraft/cli/src/mcp/tools/):

ToolPurpose
capabilitiesAdapter inventory + capability matrix
catalogBrowse the unified Celestial catalog
doctorHardware + engine diagnostics
hangarList spacecraft / skills / models in the local hangar
harnessValidate a harness package against the v0 contract
launchResolve engine + plan the graph (dry-run only at time of writing)
  • sc compose publish uploads to a hosted registry. Never run without explicit confirmation.
  • sc launch can run blueprints with real-world side effects (bash tools, MCP bridges, comm channels, paid LLM endpoints). Always --dry-run first.
  • Bindings may resolve to secrets. Use sc bindings validate --json to surface keys without printing values.

The command implementations live in packages/spacecraft/cli/src/commands/. Entry point: packages/spacecraft/cli/src/sc-index.ts.