Skip to content
cybersenses edited this page Nov 15, 2026 · 1 revision

CLI

codingdude --help lists everything; codingdude --version prints the version. Inside a uv project, prefix with uv run.

codingdude run "task" — headless one-shot

The same engine as the UI, in-process, with no server and no worker:

uv run codingdude run "fix the failing test in tests/test_auth.py" \
    --workdir . --budget 2.00 --fix-loop
Option Purpose
--workdir <dir> project directory (default: current)
--model provider:model model override for this run
--yolo auto-approve every gated action (scripting; headless otherwise fails safe)
--budget <usd> hard spend cap for the run
--fix-loop run tests after the task and feed failures back (max 3 rounds)
--long-run assisted|unattended long-run work mode for this run — see Agents and Tools

Exit codes:

Code Meaning
0 finished
1 failed
2 a gated action needed approval — the command is printed
3 budget exceeded

Exit code 2 is the important one: headless runs fail safe. A CI job that needs the agent to push must ask for it, not discover afterwards that a gate went nowhere.

codingdude serve — web server + UI

uv run codingdude serve --port 8765

Binds 127.0.0.1 only. Serves the built frontend from frontend/dist when it exists.

codingdude restart — bounce the server

Option Effect
--port which instance
--status report PID and health, change nothing
--dry-run show what would be bounced

Use after changing CodingDude's own code. Config changes need no restart — they load per run.

codingdude eval — record and replay scenarios

# record a real session as a scenario, with checks attached
uv run codingdude eval --record SESSION_ID --name flow --out scenarios/flow.json \
    --check gates-passed

# replay
uv run codingdude eval --scenarios scenarios/ --workdir .

Replay exits 0 only when every declared check passes. --check is repeatable. This is how a behaviour becomes a regression test without hand-writing a fixture.

Other ways in

Route Use
HTTP API everything the UI does is an endpoint — see Architecture for the surface
Token auth Authorization: Bearer $(cat ~/.codingdude/server-token); browsers log in passwordlessly
/health unauthenticated: version, git_sha, started_at — the stale-server probe
Gates gates.bat (Windows) runs pytest + ruff + mypy; npm run build + vitest for the frontend

Scripting recipes

Bounded, non-pushing CI run:

uv run codingdude run "make the failing test pass, then run the full gate" \
    --budget 5.00 --fix-loop
# 0 = green, 2 = it wanted a gate (do not pass --yolo in CI blindly), 3 = spend stop

Ask what it did before you trust it:

curl -s -H "Authorization: Bearer $(cat ~/.codingdude/server-token)" \
     "http://127.0.0.1:8765/api/sessions/$SID/trace?limit=200" | tail -40

The trace, not the summary, is the record.

Clone this wiki locally