# Robin **Linux, with a guide who's been there.** Robin is a proactive Linux companion for users migrating from Windows or macOS. It watches your system, detects migration friction, and surfaces plain-language help before you know what to search for. [![Status](https://img.shields.io/badge/status-concept-blueviolet)](https://git.opensourcesolarpunk.com/Circuit-Forge/robin) [![License](https://img.shields.io/badge/license-BUSL--1.1-blue)](LICENSE) --- ## What Robin does - Lives in your system tray — out of the way until it has something useful to say - Watches journald, dmesg, and system events for common migration pain points - Knows what you came from: "where's My Documents?" maps to `~/Documents`; "how do I install this .exe?" becomes a package manager explainer - Learns what you already know — stops offering suggestions you keep dismissing - All inference runs locally via Ollama — nothing leaves your machine ## Target users People switching from Windows or macOS who are not comfortable with the terminal, don't know what a log is, and are experiencing friction they can't name. Robin is **not** a sysadmin tool. See [Turnstone](https://git.opensourcesolarpunk.com/Circuit-Forge/turnstone) for that. ## Real test cases | | Test case 1 | Test case 2 | |---|---|---| | **Source OS** | macOS | Windows | | **Target distro** | CachyOS (Arch) | Linux Mint (Ubuntu/Debian) | Both users' real friction points during migration are the ground truth for the pattern library. --- ## Stack - **Backend:** Rust + [Tauri 2](https://tauri.app/) - **Frontend:** Vue 3 + TypeScript (chat panel, onboarding) - **System integration:** D-Bus, journald, inotify (via Rust crates) - **LLM:** Ollama (local inference, any compatible model) --- ## Getting started (development) ### Prerequisites **Arch/CachyOS:** ```bash ./manage.sh install-deps-arch ``` **Debian/Ubuntu/Mint:** ```bash ./manage.sh install-deps ``` You also need [Rust](https://rustup.rs/) and Node 18+. ### Dev mode ```bash ./manage.sh dev ``` This starts the Vite dev server and launches the Tauri app with hot-reload. ### Build ```bash ./manage.sh build # Produces: src-tauri/target/release/robin # Installers: src-tauri/target/release/bundle/ ``` ### Install as a service ```bash ./manage.sh install # registers systemd user service ./manage.sh start # start Robin ``` Robin starts with your desktop session and lives in the system tray. --- ## Milestones | Milestone | Scope | |-----------|-------| | **M0: Scaffold** | Repo structure, Tauri skeleton, system tray placeholder, first-run onboarding | | **M1: System presence** | journald/dmesg watcher, D-Bus events, desktop notifications, /etc/os-release detection | | **M2: CachyOS/macOS patterns** | macOS → CachyOS translation layer, AUR failure detection — validated on Xander's machine | | **M3: Mint/Windows patterns** | Windows → Mint translation layer, apt/Flatpak/Timeshift patterns — validated on Muninn | | **M4: Robin agent** | Ollama integration, full chat, RAG migration knowledge base | | **M5: Fluency model** | Dismissal learning, confidence calibration, graduation handoff | --- ## Architecture ``` System events (journald, dmesg, D-Bus, inotify) │ ▼ Event classifier (pattern matching + Ollama when needed) │ ▼ Migration context (source OS, distro, fluency level) │ ▼ Robin agent (Ollama — local LLM) + Migration knowledge base (equivalents, common friction, distro docs) │ ▼ Chat panel (Tauri webview, Vue 3) + System tray notifications ``` --- ## License System monitor and pattern matching: **MIT** Robin chat agent and migration knowledge base: **BUSL-1.1** (converts to MIT after 4 years) Part of the [Circuit Forge menagerie](https://git.opensourcesolarpunk.com/Circuit-Forge).