CLI

CLI

Run npx curb <command> from the project root. --help prints the usage and runs nothing.

CommandWhat it does
curb devPreview, chat and voice on one port
curb checkType-checks the project and runs the authoring checks
curb sayOne caller turn, headless
curb testRuns the conversation scenarios
curb conversationsPrints recorded conversations
curb startRuns the LiveKit voice worker
curb serverOnly the agent WebSocket server
curb buildBundles the project and proves the bundle starts
curb upgradeUpdates the project’s curb dependency
curb loginSigns in to KugelAudio in the browser
curb logoutSigns out
curb deployUploads the project and makes it live
curb secrets pushSets the variables of .env on the agent
curb --versionPrints the version

curb dev

Starts the preview, chat and voice on port 4000, and opens the browser. Saving a file under src/, a context/*.md file or .env reloads the agent.

OptionWhat it does
--port <n>Serves on exactly that port
--no-openDoes not open the browser

curb check

Type-checks src/ and runs the authoring checks. Exits 1 on errors (Diagnostics).

curb say

npx curb say "I want to report a claim"

Runs one caller turn and prints the reply, the tool calls and what changed in the context. Successive calls continue one conversation (Testing).

OptionWhat it does
--newStarts a new conversation with this turn
--client key=valueSets client.<key> before the turn. Repeatable
--fake <tool>[=<json result>]Fakes a tool. Repeatable
--jsonPrints one JSON object

curb test

npx curb test claims

Runs src/**/*.scenario.ts, or those matching a filter, and exits 1 when one fails (Testing). --json prints one JSON object.

curb conversations

Prints recorded conversations of curb dev and curb say, with every tool call and result.

OptionWhat it does
--last <n>The last n conversations. Default 3
--id <id>One conversation
--jsonOne JSON object, nothing clipped

curb start

Runs the LiveKit voice worker in production mode (Self-hosting). With CURB_MANAGEMENT_ADDR and CURB_MANAGEMENT_TOKEN, it also serves host protocol v1 for its calls.

curb server

Starts only the agent WebSocket server. --port <n> as for curb dev.

curb build

Bundles the project into dist/, starts the finished artifact on its own and renders every skill to prove it runs (Self-hosting).

OptionWhat it does
--out <dir>Another output directory
--no-verifySkips starting the artifact

curb upgrade

Updates the project’s curb dependency to the latest published version (Upgrading). --check only reports.

curb login

Signs in to KugelAudio in the browser. The login is stored in ~/.config/curb/, and a project then runs on it with no key in .env. A KUGELAUDIO_API_KEY you set wins.

OptionWhat it does
--url <web>Another app URL
--no-openOnly prints the sign-in URL

curb logout

Revokes this machine’s session and deletes the stored credentials and project keys.

curb deploy

Uploads the project and makes it the agent’s live production deployment. The first run picks or creates the agent and saves it in .curb/link.json (Deploying).

OptionWhat it does
--agent <id>Chooses the agent
--no-activateBuilds without going live
--jsonPrints the result as one JSON line

curb secrets push

Sets every variable in .env on the agent’s production environment. Prints names only, never values.

OptionWhat it does
--file <path>Another file
--agent <id>As for curb deploy

Next steps