● runtime: ALIVElocal onlybring your own agentv0.1 — early access
docs / agent

Bring your own agent

Rume doesn't ship an agent — you already have one. Point it at whatever you run: Claude Code, OpenClaw, Hermes, a local CLI, or an HTTP endpoint. Rume writes the task, a watcher wakes your agent, and your agent edits your repo. Nothing about your setup changes.

Configuration

Set the agent in rume.config.json at your project root. triggerType selects how Rume wakes it.

{
  "devUrl": "http://localhost:3000",
  "agent": {
    "triggerType": "shell",
    "shellCommand": "claude -p 'read .rume/tasks and apply it, then delete the file'"
  }
}

Trigger types

  • shell — run a command that wakes your agent (e.g. claude -p …)
  • http — POST the task to an httpEndpoint you run
  • llm — Rume runs the edit inline against an OpenAI-compatible endpoint (see below)

Trigger type: llm (inline)

With triggerType: "llm", Rume embeds the target file delimited by <target_file>…</target_file>, asks the model to return the complete updated file, strips a single markdown fence, writes it back sandboxed, and reports { agent: 'llm', applied: true } so the panel shows "✓ Agent applied". An OpenAI-compatible /chat/completions endpoint is all that is required.

{
  "agent": {
    "triggerType": "llm",
    "llm": {
      "model": "openai/gpt-4o-mini",
      "apiKey": "sk-…",
      "baseUrl": "https://openrouter.ai/api/v1"
    }
  }
}

Requirement

  • Required: your agent can edit files on its own
  • Not required: an account, a cloud sandbox, or Rume's own model
  • Your keys: you pay your provider directly — Rume never touches inference

Global fallback

Rume reads a global agent config at ~/.rume/config.json and falls back to it when your project has no llm block (and no shellCommand). This means a clean checked-out clone is still agent-editable with no per-repo config.