Spikefrost CLI
sf is the command-line interface for Spikefrost. It lets humans and local
coding agents manage Spike Apps from a terminal: checkout app files, sync with
Spike storage, build, deploy, create agents, manage surfaces and routines, and
call Spikefrost tools.
Install
Quick install (recommended — no Node.js or npm required)
curl -fsSL https://edge.spikefrost.com/sf/install.sh | sh
This downloads a self-contained sf (Node.js is fetched privately if you don't
already have it — your system stays untouched), installs it under
~/.spikefrost/cli, and links sf into ~/.local/bin. Open a new terminal,
then run sf --version. To remove it later:
curl -fsSL https://edge.spikefrost.com/sf/install.sh | sh -s -- --uninstall
Via npm (if you already use Node.js)
npm install -g @spikefrost/cli
sf --version
If sf --version shows an older version after installing, another executable is
earlier in your PATH. Check with:
which -a sf
Authenticate
Interactive login:
sf login
API key login:
sf set-api-key <key>
sf whoami
Use the dev environment when needed:
sf login --dev
# or
sf set-api-key <key> --env dev
Work With An App
Create or repair a local Spike app scaffold:
sf app create "My App" --path ./my-app
cd ./my-app
Fresh scaffolds put deployable Worker code under app/, the same layout used by
Spike runtime init_project. Legacy apps with a root package.json keep the
root layout.
Checkout app files:
sf app checkout <appId> ./my-app
cd ./my-app
sf app checkout writes .spikefrost/project.json with the app id. Later
commands in that folder use the saved app id unless you pass another one.
Sync files:
sf app pull
sf app status
sf app push
Build and deploy:
sf build
sf deploy
Inspect deployments:
sf apps deployments <appId>
Get an embedded chat website snippet:
sf surfaces list
sf surfaces embed <surfaceId>
Manage App Resources
sf apps list
sf apps get <appId>
sf apps create "My App"
sf agents list --app <appId>
sf surfaces list --app <appId>
sf surfaces embed <surfaceId>
sf routines list --app <appId>
sf templates list
The CLI also exposes REST endpoints used by the Spikefrost web console:
sf api get /apps
sf api get /apps/<appId>
Skills For Coding Agents
Spike Apps are not generic folders. They can contain Cloudflare Worker/Hono web code, AI agents, communication surfaces, routines, schemas, assets, and deployment metadata.
If you are using a local coding agent such as Codex, Claude, Cursor, or another assistant, have it load Spike skills before editing an app:
sf skills list
sf skills get web_development
sf skills get agent_rulebooks
sf skills get communication_surfaces
sf skills get software_development_lifecycle
sf skills get sf_blocks
sf docs
Team-scoped skills can be created or updated from the CLI:
sf skills upsert ecommerce_ops \
--title "Ecommerce Ops" \
--description "Use for ecommerce app work" \
--content-file ./skills/ecommerce.md
Assign skills to agents:
sf skills assign customer_service web_development communication_surfaces
sf skills list-agent customer_service
sf skills set customer_service sf_blocks web_development
sf skills unassign customer_service ecommerce_ops
Skills are text instructions. They do not grant tools, credentials, or permissions by themselves.
Tool Discovery And Execution
Search tools:
sf find_tools --query "send email"
sf find_tools --provider gmail
Inspect and execute a tool:
sf get_tool_schema --tool gmail#send_email
sf execute_tool --tool gmail#send_email --to user@example.com --subject Hi --body Hello
Many core tools can also be called directly:
sf list_agents --app <appId>
sf list_surfaces --app <appId>
Edge Nodes
In Spike Edge actions, app id and sync credentials can be injected by the
runner. On a normal user machine, sf can operate from the checked-out app
folder and the app id saved in .spikefrost/project.json.
Run:
sf --help
for the full command list.