Why the terminal?
BOINC already runs as a background daemon on your machine. A TUI is the shortest path between "what is my client doing?" and an answer — readable over SSH, fast on old hardware, and friendly to keyboards and screen readers alike.
Talks to your local BOINC
Connects to the GUI RPC endpoint on 127.0.0.1:31416 by default. No remote accounts, no cloud middleman — just your daemon.
Projects · Tasks · Transfers
Task groups (READY TO REPORT → RUNNING → WAITING/READY) match how you actually think about BOINC workloads.
PrimeGrid + Asteroids@home
Drop an account key into .env and boincrs attaches and updates the project on startup.
No color-only UI
State is always labeled in text — [RUN], [REPORT], [ACTIVE] — and NO_COLOR=1 keeps the semantics intact.
Reconnect with backoff
Transient RPC failures trigger bounded exponential backoff (1 s → 30 s, ±25% jitter) instead of crashing.
No .unwrap() in src/**
Errors flow through AppResult / AppError with thiserror. CI refuses new unwrap or expect in production code.
What you get
- Multi-pane TUI for projects, tasks, and transfers.
- Selected-task header with progress, deadline, checkpoint, and exit status.
- Keyboard navigation (
tab,j/k, arrows) across every pane. - Action keys for project/task/transfer operations and client run modes.
- Diagnostics bundle export (
D) for bug reports. - BOINC compatibility matrix validated in CI: 7.16.x, 7.20.x, 8.2.x.
What it is not
- Not a remote BOINC dashboard — local GUI RPC only, for now.
- Not a project chooser UI — you still pick projects you trust.
- Not a replacement for BOINC Manager — it's a complement for keyboard workflows.
- Not a monitoring cloud — your account keys live in
.envon your box.
Ready to drive BOINC from the keyboard?
Clone the repo, point at your local daemon, and you'll be attaching projects in under five minutes.
Getting started →