@skybuild/cli
v1.0.0
Published
SkyBuild CLI — manage workspaces, run any SkyBuild tool, and chat with personas from the terminal. Tool subcommands are statically generated from the MCP server tool definitions at build time.
Maintainers
Readme
@skybuild/cli
Command-line interface for SkyBuild. Manage workspaces, run any SkyBuild tool, and chat with personas from your terminal.
Tool subcommands are statically generated from SkyBuild's MCP server tool definitions at build time. Each tool gets its own command (e.g. skybuild run web-search) with typed flags derived from its input schema — no JSON-blob arguments required.
Install
npm i -g @skybuild/cli
# or
bun add -g @skybuild/cliQuickstart
# 1. Get an API key from https://skybuild.io/settings/api-keys
skybuild auth login --token sk_live_...
# 2. Pick a default workspace
skybuild workspaces list
skybuild config set workspaceId <id>
# 3. Discover and run tools
skybuild tools # list every generated tool command
skybuild tools -q web # filter by name/description
skybuild tools describe web-search # print the full schema
skybuild run web-search --query "latest AI news" --provider duckduckgo
# 4. Chat with a persona
skybuild chat <personaId>
skybuild chat <personaId> -m "summarize the news I just searched"Commands
| Command | Description |
|---|---|
| skybuild auth login --token <key> | Save an API key and verify it |
| skybuild auth logout | Remove the stored API key |
| skybuild auth whoami | Show the current user |
| skybuild config set <key> <value> | Set a CLI config value (apiUrl, apiKey, workspaceId) |
| skybuild config get <key> | Print a config value |
| skybuild config list | Print all config values (apiKey is masked) |
| skybuild config unset <key> | Remove a config value |
| skybuild workspaces list | List workspaces |
| skybuild workspaces create <name> [-d <text>] | Create a workspace |
| skybuild tools [-q <text>] | List every generated tool command, optionally filtered |
| skybuild tools describe <command> | Print the full schema for a tool |
| skybuild run <command> [flags] | Execute a tool by its generated command name with typed flags |
| skybuild chat <personaId> [-m <text>] | Interactive streaming chat — or single-shot with -m |
All commands accept --json for machine-readable output. Every skybuild run <command> accepts -w/--workspace <id> plus --args-json '<json>' as an escape hatch when you want to send the raw arguments object instead of individual flags.
Environment overrides
| Variable | Effect |
|---|---|
| SKYBUILD_API_KEY | Use this key, ignoring the stored one |
| SKYBUILD_URL | API base URL (default: https://skybuild.io) |
Config file
The CLI stores config in ~/.skybuild/config.json with 0600 permissions. You can edit it directly or use skybuild config set.
How tool commands are generated
scripts/generate-cli-commands.ts (in the SkyBuild monorepo) reads the canonical tool definitions used by the MCP server (lib/ai/tools.ts plus a small set of MCP-only tools) and emits src/generated/commands.ts. The generator runs automatically as a prebuild step, so a fresh bun run build always reflects the current tool catalog. The runtime helper src/lib/tool-runtime.ts wires each spec into a Commander subcommand with type coercion and validation for primitives, enums, repeatable string arrays, and JSON for nested objects.
License
MIT
