Skip to content

CLI Reference

rax is the artisan command line for Reactive Agents.

Rax stands for Reactive Agents Executable. Think of it as the Reactive Agents equivalent of Laravel’s Artisan CLI.

Use it to scaffold projects, generate agents, run and stream tasks, inspect runtime state, serve A2A endpoints, and deploy across local and cloud targets.

For workflow-first onboarding, start with Rax CLI.

Create a new Reactive Agents project.

Terminal window
rax init <name> [--template minimal|standard|full]

Templates:

TemplatePackages Included
minimalcore, runtime, llm-provider
standard+ memory, reasoning, tools
full+ guardrails, verification, cost, orchestration, prompts

Generate an agent file from a recipe.

Terminal window
rax create agent <name> [--recipe basic|researcher|coder|orchestrator]

Recipes:

RecipeWhat It Generates
basicMinimal agent with LLM only
researcherAgent with memory + reasoning
coderAgent optimized for code tasks
orchestratorMulti-agent orchestrator with memory

Run an agent with a prompt.

Terminal window
rax run <prompt> [--provider anthropic|openai|ollama|gemini|litellm|test]
[--model <model>] [--name <name>] [--tools] [--reasoning] [--stream]

Example:

Terminal window
rax run "Explain quantum computing" --provider anthropic --model claude-sonnet-4-20250514

Start an agent as an A2A server.

Terminal window
rax serve [--port <number>] [--name <name>] [--provider <provider>] [--model <model>]
[--with-tools] [--with-reasoning] [--with-memory]

Options:

OptionDefaultDescription
--port3000HTTP port for the A2A server
--name"agent"Agent name (used in Agent Card)
--provider"test"LLM provider
--modelModel name
--with-toolsoffEnable built-in tools on the A2A server agent (file-write, web-search, etc.)
--with-reasoningoffEnable reasoning strategies
--with-memoryoffEnable memory (tier 2)

Endpoints served:

  • GET /.well-known/agent.json — Agent Card (A2A discovery)
  • GET /agent/card — Agent Card (fallback)
  • POST / — JSON-RPC 2.0 (message/send, tasks/get, tasks/cancel, agent/card)

Example:

Terminal window
rax serve --name researcher --provider anthropic --model claude-sonnet-4-20250514 --with-tools --port 4000

Fetch and display the Agent Card from a remote A2A-compatible agent server.

Terminal window
rax discover <url>

Fetches GET <url>/.well-known/agent.json and pretty-prints the agent’s name, description, capabilities, and supported skills.

Example:

Terminal window
rax discover http://localhost:3000
Agent Card: researcher
Provider: anthropic (claude-sonnet-4-20250514)
Capabilities: streaming, tools
Skills: web-search, file-write
Endpoint: http://localhost:3000

Deploy an agent using a provider adapter (local Docker, Fly.io, Railway, Render, Cloud Run, DigitalOcean).

Terminal window
rax deploy up [--target local|fly|railway|render|cloudrun|digitalocean]
[--mode daemon|sdk]
[--dry-run]
[--scaffold-only]
[--name <agent-name>]
rax deploy down [--target <target>]
rax deploy status [--target <target>]
rax deploy logs [-f] [--target <target>]
rax deploy init # legacy alias for `deploy up --scaffold-only`

Options:

OptionDefaultDescription
--targetlocal (auto-detected if config exists)Deploy provider adapter
--modedaemondaemon for full agent loop, sdk for HTTP API mode
--dry-runoffRun provider preflight() checks and print execution plan
--scaffold-onlyoffGenerate config files only, do not deploy
--nameauto-detected from package.jsonAgent/app identifier
--follow, -foffFollow logs for deploy logs

Provider CLI Contracts:

These commands and flags are validated by apps/cli/tests/cli-contracts.test.ts to detect upstream CLI breaking changes early.

ProviderCLIContract Baseline
localDocker + ComposeDocker >= 20, Compose >= 2, supports compose build/up/down/ps/logs, up -d, logs --tail/--follow, ps --format
flyflyctl / flysupports auth whoami, launch --copy-config --name --no-deploy, deploy, status, logs, apps destroy --yes
railwayrailwaysupports whoami, link, up, down --yes, status, logs, variables
renderrendersupports blueprint launch, services list
cloudrungcloudSDK >= 380, supports config get-value project, auth list --filter --format, run deploy --source --region --port --memory --timeout --allow-unauthenticated, run services describe/delete/update
digitaloceandoctl>= 1.72, supports account get --format --no-header, apps create/list/update/delete/logs, --spec, --format

Containerized CLI fallback:

For flyctl, gcloud, and doctl, rax deploy resolves local binaries first and can fall back to a Docker-wrapped CLI when Docker is available.

Contract test commands:

Terminal window
bun test apps/cli/tests/cli-contracts.test.ts
RUN_SLOW_TESTS=1 bun test apps/cli/tests/cli-contracts.test.ts

RUN_SLOW_TESTS=1 enables container image availability checks for the fallback images.

Run your local entrypoint in watch mode.

Terminal window
rax dev [--entry src/index.ts] [--no-watch]

Default entrypoint is src/index.ts. Use --entry if your project uses a different file.

Run an evaluation suite (placeholder).

Terminal window
rax eval run --suite <suite-name>

Launch an interactive agent REPL session.

Terminal window
rax playground [--provider <provider>] [--model <model>] [--tools] [--reasoning] [--stream]

Use /help and /exit inside the session.

Inspect local deployment/runtime signals for an agentId.

Terminal window
rax inspect <agent-id> [--logs-tail 200] [--json]

This checks Docker/Compose availability, prints compose status, and scans recent logs for lines containing the provided agentId.

Terminal window
rax version
rax --version
rax -v
Terminal window
rax help
rax --help
rax -h