Overlearn is a desktop learning app that turns a coding-agent harness into a personal teacher. The Tauri app is the user entry point; it starts a local store-backed daemon, opens the app UI in the webview, and supervises agent turns through the internal sidecar.
The PRD lives in Notion.
Use the app in development with:
bun run app:devThe desktop shell builds the internal sidecar, copies it into Tauri's target-triple binary location, starts one app-level daemon on launch, and loads the bundled UI directly in the main webview.
In orchestrated mode, changing the header harness picker mid-course takes effect once the current turn is idle. The daemon ends the old harness session, starts the next turn on the new harness, and asks it to rebuild from store state; lessons, transcript, glossary, mastery, and topic state carry over, but the old agent's in-context memory does not.
Release steps and desktop artifact locations are documented in docs/release.md.
The interface is a Vite + React + Tailwind v4 + shadcn/ui SPA in ui/.
Tauri serves the built UI from ui/dist in packaged builds and uses the Vite
dev server in development; the daemon is API-only. Design conventions live in
ui/DESIGN.md.
For fast UI iteration against a running daemon, read port/token from the
daemon's daemon.json and start the Vite dev server with its proxy:
OVERLEARN_DAEMON_PORT=<port> OVERLEARN_DAEMON_TOKEN=<token> bun run --cwd ui devRun the main checks:
bun run typecheck
bun run lint
bun run testRun the contract suite against source:
bun run test:contractRun the contract suite against the packaged sidecar:
bun run build
bun run app:copy-sidecar
OVERLEARN_CONTRACT_RUNTIME=sidecar bun run test:contractThe supported contract runtimes are source and sidecar. The adapter
conformance suite is available as:
bun run test:conformanceThe opt-in real Claude Code ACP smoke lives in the Adapter Smoke GitHub
Actions workflow and requires the ANTHROPIC_API_KEY secret.
The standalone registry Worker lives in registry/:
cd registry
bun install
bun run dev