Getting started with Spacecraft
This page walks you from “no Spacecraft” to “a blueprint launched against a local model” in five minutes.
Install
Section titled “Install”Spacecraft is a TypeScript CLI distributed as @celestial/spacecraft-cli. The fastest local-dev install is from a checked-out monorepo:
git clone https://github.com/celestial-intelligence-agency/celestial-orchestration.gitcd celestial-orchestrationnpm installnpm run build -w @celestial/spacecraft-clinpm link -w @celestial/spacecraft-cli # exposes `sc` on $PATHPublished packages on npm are coming. Track ADR-029 for the publish plan.
Verify:
sc doctorThat prints a snapshot of detected hardware, Python version, llama.cpp build status, and any models in ~/.celestial/models.
Scaffold a blueprint
Section titled “Scaffold a blueprint”Pick a starting template and emit a single blueprint.yaml:
sc blueprint --template chat-assistant --yes \ --id my-helper --name "My Helper" --model phi3 -o blueprint.yamlTemplates: chat-assistant · tool-agent · rag-agent · telegram-bot.
For a full package (blueprint + manifest.json + checksums, ready for the hangar), use sc compose init instead:
sc compose init ./harnesses/my-helper \ --template chat-assistant --inference vercel-ai --model phi3 --register# --register installs the package into the local hangarDry-run before you launch
Section titled “Dry-run before you launch”Always dry-run a new blueprint to inspect the resolved graph, engine choice, and adapter wiring — no LLM calls are made:
sc launch ./blueprint.yaml --dry-runsc launch ./blueprint.yaml --dry-run --json # machine-readableThe dry-run prints the engine resolution, the Starflow contract parity report (graph node + edge count), and exits.
Bring up an inference engine
Section titled “Bring up an inference engine”Spacecraft is LLM-adapter agnostic — the same blueprint runs against any OpenAI-compatible endpoint. To run locally:
# Pull a modelsc pull ollama:llama3 # → ~/.celestial/models/llama3.ggufsc pull hf:TheBloke/Qwen2.5-7B/qwen.gguf # HuggingFace GGUF
# Serve itsc serve --model llama3 # llama.cpp (CPU/Metal)sc serve --model Qwen/Qwen2.5-7B-Instruct --backend vllm # GPU, PagedAttentionsc serve --model Qwen/Qwen2.5-7B-Instruct --backend sglang # GPU, RadixAttentionFor cloud inference (Anthropic, OpenAI, Ollama Cloud) point the blueprint’s inference.baseURL + apiKey at the provider instead — no sc serve needed.
Launch
Section titled “Launch”# From a local filesc launch ./blueprint.yaml
# From the hangar (if built or pulled)sc launch spacecraft://my-helper
# Interactive picker (lists hangar entries)sc launchCommon flags: --model <name> · --adapter <id> · --engine <url> · --memory-adapter <id> · --strategy <name> · --bindings <path>.
What to read next
Section titled “What to read next”- Blueprint schema — the full field reference
- Adapter guide — pluggable inference, memory, gateway, vector-DB adapters
- CLI reference — every
scsubcommand - Gateway + personal agent — always-on agent patterns over Spacecraft + Starflow