Caddi
Sign inSign up

Caddi Auto

A local daemon that watches your requests inbox and turns tickets into branch pushes — using whichever coding agent you’ve already paid for.

What it is

Caddi Auto runs on your machine, not ours. It polls the API for new requests assigned to you on enrolled projects. For each one, it shells out to your coding agent (Claude Code, Cursor CLI, OpenAI Codex CLI, …) inside an isolated git worktree, with a structured prompt built from the pinpoint payload.

Why local

  • Your agent has access to your machine — local npm caches, browser sessions, the right SDK versions. We don’t want to recreate that in the cloud.
  • Your subscription, your model, your rate limits. Caddi never sees your prompts or the model output.
  • Bounded blast radius. The daemon’s only network capabilities are: read requests, write replies, push branches, open PRs.

The loop

caddi.auto
every 15s
  pull queue for enrolled projects
  for each new request:
    fetch payload  (description, screenshot URL, element selector, AGENTS.md)
    git worktree add  .caddi/auto/req-112  origin/dev
    cd worktree
    launch agent  --prompt < payload
    on success:
      git push origin auto/req-112
      gh pr create --base dev --head auto/req-112 ...
      caddi requests reply  "Opened PR #..."
    on failure:
      caddi requests reply  "Auto run failed. Logs: ..."
      requeue once, then bail

Installing

See caddi listen. The short version:

bash
caddi listen install
caddi listen start

Configuration

toml · ~/.caddi/auto/agent.toml
[agent]
binary  = "/usr/local/bin/claude"
args    = ["code", "--", "{prompt_file}"]
timeout = 600          # seconds before the daemon kills the agent

[projects.meridian-studio]
enabled = true
auto_pr = true
branch  = "auto/{slug}"

[projects.acme-marketing]
enabled = true
auto_pr = false        # produce a patch file, don't push
You can disable PR creation per-project and have Auto leave a patch in .caddi/auto/req-112.patch instead. Useful while you’re still tuning prompts.

What Auto cannot do

  • Merge PRs.
  • Push to main or staging.
  • Edit env vars or DNS.
  • Touch projects you haven’t enrolled.

Next

Pinpoints →