01 · SETUP

Getting started

The desktop app's in-product onboarding wizard is the source of truth. This is the same flow, in text, for reference and for readers deciding whether to install.

  1. STEP 01

    Install Claude Code

    Codron drives coding-agent CLIs: Claude Code by default, with OpenAI Codex and Google Antigravity as options. Install and auth Claude Code on every machine you want to dispatch briefings from. Install instructions

  2. STEP 02

    Create a Supabase project

    Codron stores briefings, engagements, and decisions in Supabase. Free-tier is more than enough for personal use. The onboarding wizard accepts your project URL and anon key.

  3. STEP 03

    Install Codron

    Download the installer for your OS. First launch opens the onboarding wizard.

  4. STEP 04

    Queue your first briefing

    From the dashboard, hit + new: pick a source (fresh folder, GitHub repo, or an existing local folder), set the ambition (how far the agent pushes before parking), and write the briefing. The agent engages in the background and the engagement streams in real time. Not sure it's a project yet? Open a scratch, chat it out, and hit promote; the briefing drafts itself from the conversation.

02 · LOOP

Brief. Engage. Decide. Report.

Every project cycles through the same four beats. Codron leaves the middle two to the agent and pulls you in only for beat 3.

BRIEFING1/4

You write the instruction

One project, one briefing — the mission you want the agent to run at.

ENGAGEMENT2/4

The agent runs it

Reads code, edits, tests, commits. Each engagement is one uninterrupted run.

DECISION3/4

It escalates when stuck

Only for questions only you can answer — options come with the card.

REPORT4/4

It files the record

Files changed, tokens, cost, confidence. Then it queues the next cycle.

AMBITION TIER

Every briefing carries an ambition tier — how far the agent pushes before it parks. Cycles continue on their own within the tier. When the tier's goal is reached, the agent escalates: raise the tier or park it here? You answer, and the loop resumes or stops. This is how unattended runs stay bounded: the loop won't rack up spend past a milestone you haven't approved.

03 · FLEET

One operator, every box

Install Codron on every machine you work from. They all report into the same dashboard and each briefing picks its target — the box that actually has the code, the secrets, or the GPU it needs.

codron · overview · fleet

MACHINES

mac-studio
local · gpu
4 projonline
linux-tower
local · headless
2 projonline
hetzner-eu
cloud · 24/7
3 projonline
m4-air
portable
1 projaway

Pick a target when you file

The + new form has a machine picker. Route a Postgres migration to the tower with the DB, a Vercel deploy to the cloud VM, a UI polish job to the Mac in front of you.

Handoff between machines

Change a project's target machine from settings. The agent on the new host picks it up on the next engagement; state lives in Supabase, not any one box.

04 · BRIEFINGS

Write it once. Watch it run.

A briefing is one paragraph of intent. The agent turns it into a plan, engages, edits files, runs tests, and commits — you see the whole thing stream, or you close the laptop and check the field report later.

+ new briefing

PROJECT NAME

outbound-mailer

TARGET MACHINE

hetzner-eu

AMBITION

prototypemvpscale

BRIEFING

pull enriched leads from the crm, dedupe by domain, and stage an outbound batch. keep everything idempotent so a re-run never double-mails.

engage

Live activity stream

Tool calls, edits, tests — all timestamped. Look for the running dot; leave the tab and it keeps going.

Field report

Every engagement files a record on stop: what changed, tokens, cost, engine, confidence. That's what you scan on the way to bed.

Standby when stuck

If a question comes up mid-run, the project flips to needs input and holds. See the next section.

05 · DECISIONS

Only when it needs your call

The agent escalates only for questions it can't answer without you. Three shapes cover everything: a plain decision (pick an option), an env_request (a secret it doesn't have), and a file_request (an asset it needs).

codron · mission control2 machines online

Overview

4 projects
DECISIONS1 pending
needs your calloutbound-mailer

mvp goal reached, raise the tier or park it here?

USAGE361k tok · 30d
BY ENGINE
claudecodex
PROJECTS
hn-radar

cluster show hn launches by vertical

working
outbound-mailer

mvp goal reached, awaiting your call

needs input
stripe-cli-agent

regenerate webhook fixtures for 2026-08-01 api

working
codron-site

shipped /releases feed + changelog page

done

Interactive — click one of the two options in the decision card to resolve it and watch the project row flip.

decision

storage: sqlite or postgres?

sqlitepostgres

Standard pick-an-option. Options come from the agent — sometimes 2, sometimes N. A terminal option (e.g. park it here) stops the project instead of resuming it.

env_request

STRIPE_PRODUCT_ID

added, continue

Agent hit a missing secret. Card includes the why + a how-to link. You paste the value into the project's Variables tab (or the machine keyring), then approve to resume.

file_request

logo.svg for the site header

added, continue

Agent needs an asset it can't generate. Drop the file into the project's dropzone, then approve. Same shape as env_request, different payload.

TELEGRAM APPROVALS

Every decision also fires to your Telegram bot. One tap answers it from bed; the desktop card updates itself, and the engagement resumes. Same for env_request / file_request cards.

06 · CHAT

Two lanes for thinking out loud

Not every idea is a project yet, and even inside a project, some conversations don't want to be briefings. Scratches sit above the fleet; sessions sit inside a project.

SCRATCHES

Throwaway chat lanes on the home page — where you toss an idea around before it earns a project. When one grows legs, hit promote and the briefing drafts itself: name, mission, reference docs lifted from what you pasted. Review, tweak, engage.

scratch · saas-app-ideas

what if the export was a webhook, not a download

pros: streams, no local file. cons: needs a receiver url.

yeah ok try it as a new project

promote to project

SESSIONS

Every project has chat sessions for thinking beside the work. When the discussion lands on something actionable, one click distills it into an order — intent plus action items — that you edit and queue for the next engagement. No copy-pasting your own chat into a new prompt.

outbound-mailer · session · deliverability

our bounce rate is up. spf/dkim?

spf passes. dkim signature is wrong on the ses fallback path.

fix and add a check to ci

distill to order

07 · PREVIEW

Click the pixel. Codron finds the file.

Explaining a UI fix in prose means screenshots and guessing. In Codron's live preview, the element you click resolves to its source file and line. Add a memo, and the snap queues as an order for the next engagement.

preview · localhost:5173PICK ELEMENT
acme-metricsOverviewReports
MonthRevenueGrowth
Apr 2026$12,480+8.2%
May 2026$14,920+19.6%
Jun 2026$15,134+1.4%
Export CSV
SNAP

src/reports/ExportButton.tsx:42 · <ExportButton>

The app is running

Codron spawns your project's dev server and embeds it. Interact with it like any browser window — click, scroll, type.

Snap resolves to source

The pick tool crawls DOM + source maps + the framework's data-* attributes to find the actual JSX for the clicked element.

Queues as an order

A snap is a first-class order. It rides into the next engagement with your memo, so the agent sees where and why.

08 · DEV SERVER

One URL for the running app

Codron manages your project's dev server: spawns it, tracks the port, restarts it when a broken engagement kills it, and exposes it over a shared tunnel so your phone (or a teammate) can hit the same instance.

outbound-mailer · dev
frontend:3000
ready
backend:8787
ready
TUNNELhttps://outbound-mailer.codron.tunnel

Public URL routed to :3000 · phone-safe · dies with the project.

Rescues itself

If a bad edit crashes the server mid-engagement, Codron notices, restarts, and the agent picks up where it left off instead of failing the cycle.

Tunnel per project

Optional. Open the preview on your phone, share the URL with a teammate for a quick look, or point a webhook at it during development.

09 · VARIABLES

Secrets stay on your machine

Edit each project's .env in the app, Vercel-style. When an engagement needs a key it doesn't have, the agent asks by name with a how-to link. Values never sync to the cloud — Supabase stores project metadata, not your secrets.

outbound-mailer · variablesENV REQUEST
env vars needed

STRIPE_PRODUCT_ID

checkout can't run without the live product id

how-to: Stripe dashboard → Products → copy id

.env · localadded, continue
STRIPE_PRODUCT_ID

Per-project .env

Each project has its own file, edited in the app or in your editor of choice. The agent reads it at engagement start.

Machine keyring

Seed a value once per box (STRIPE_SECRET_KEY, OPENAI_API_KEY) and every project on that machine reuses it. env_request cards for keyed values auto-populate.

Never in the cloud

Values are read locally by the agent process. Only the key names (what was asked for, whether it was answered) round-trip through Supabase.

10 · ENGINES

Claude writes. Codex reviews.

Pick an engine per project. Turn on pair review and a second engine reads the first's work before the next engagement builds on it — cheap insurance against low-confidence changes shipping into your main branch.

outbound-mailer · engine
Claude Code
default writer
OpenAI Codex
reviewer / writer
Google Antigravity
experimental
PAIR REVIEWon

Codex re-reads any engagement Claude tags below 0.7 confidence.

One engine per project

Different projects, different engines. A Rust systems job on Claude, a marketing site on Codex, an experimental tool on Antigravity — swap anytime from settings.

Pair review when it matters

Optional. Set a confidence threshold; when the primary engine dips below it, the reviewer takes a pass before the next engagement builds on the diff.

Guardrails included

Daily spend caps and automatic stand-down come with every engine. A runaway cycle stops itself before it drains a budget.

QUESTIONS / FEEDBACK

Email anything from typos to crashes. Every report shapes what we ship next.

contact@vivatechlab.com
Docs · Codron