Two commands.
dira onboard finds the agent harnesses you already have and wires every one of them, registers the daemon so it survives a reboot, links this device, and sets up zavet. Every step is skippable, and running it again is safe — it reports what is already done and picks up the rest.
Windows: irm https://dirahq.sh/install.ps1 | iex, then the same dira onboard. Want to see it first? dira onboard --print shows the plan and changes nothing; --yes accepts every default without prompting.
The eight steps below are the same work, one at a time — worth reading if you want to wire a single repo, self-host, or know exactly what lands where.
Step 01: Install the daemon
A single binary. It runs quietly in the background and writes to a local SQLite file — nothing else.
Rather not pipe a script to a shell? Download the tarball and put it on your PATH yourself.
Rather not pipe a script to a shell? Download the tarball and put it on your PATH yourself.
Passing flags? irm can't forward them — use & ([scriptblock]::Create((irm https://dirahq.sh/install.ps1))) -Channel prerelease.
Step 02: Link your device
Linking mints an Ed25519 keypair on your machine. Every interval dira records is signed by it — that is what makes an hour provable later, and what lifts a proba hallmark from 585 to 750.
Step 03: Connect your harness
One dira init per harness drops a capture shim into that agent — six are supported, and you only wire the ones you use. dira reads metadata only — session start/stop, tokens, commit SHAs. Never your prompts.
Step 04: Run your first session
Open an agent and start building. dira counts your engaged minutes, dedupes parallel sessions, and anchors each interval to the commits it produced. Hours it cannot anchor are quarantined, never billed.
Step 05: Bill it with proof
Set a rate, pick a date range, and dira rolls engaged hours into an invoice — then hands the client a link that opens every commit behind every hour.
See a client proof page