npm.io
0.7.67 • Published 1 week agoCLI

@spikefrost/cli

Licence
UNLICENSED
Version
0.7.67
Deps
2
Size
539 kB
Vulns
0
Weekly
0

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

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.