{"slug": "crundi-a-self-hosted-remote-workbench-you-reach-from-anywhere", "title": "Crundi – a self-hosted remote workbench you reach from anywhere", "summary": "Crundi, a self-hosted remote workbench, launches as an open-source tool that exposes project terminals, files, git, task boards, and scheduling through a mobile-friendly web UI via a secure tunnel. The tool supports pluggable agents like Claude Code and Telegram-based login, running on Node.js with optional Cloudflare tunneling. It targets developers seeking a private, accessible development environment from anywhere.", "body_md": "A self-hosted remote workbench for your projects. Crundi runs on your machine and exposes your projects — agent terminals, files, git, a task board, scheduling and more — through a mobile-friendly web UI reachable from anywhere over a secure tunnel. Your phone becomes a window into your dev box at home.\n\nAgents and the access channel are pluggable. Today the available agent is **Claude Code** (interactive CLI — your flat-rate subscription, not the metered Agent SDK), and remote login + notifications run through **Telegram**; more can be added the same way.\n\n**Workbench**— multiple agent terminals per project, side by side, plus embeddable** Files / Git / Kanban / Mindmap**panels. Drag a file, git change, kanban card/subtask, or mindmap node onto a terminal to insert a reference (desktop + mobile).**Schedule**— on a one-time or recurring schedule, run an agent (with model / effort / mode / session + prompt), a CLI command, or start/stop a service — gated by conditions (5h/weekly usage %, open-terminal count, kanban status).**Kanban & Mindmap**— per-project task board and a global brainstorming mindmap that can link to tasks.** Files**— browser with gitignore-aware search, browse above the project root, upload/download/delete.** Git**— status, side-by-side diff, stage/unstage, commit, push/pull.** Services**— register and run background services (PM2-style) per project, with live status.** Tools**— headless browser automation, screenshots/window capture, a secrets vault (PIN-gated), and an agent usage meter.** MCP server**— exposes project-scoped tools (kanban, mindmap, schedule, services, terminals, browser, screenshots, secrets, notifications) so agents can drive Crundi.**Desktop app**(Electron) +** mobile-friendly**web UI.\n\n**Node.js** 18+- The agent's CLI on your PATH — currently\n**Claude Code**(`claude`\n\n), installed and authenticated - A login/notification channel — currently a\n**Telegram bot token** from[@BotFather](https://t.me/BotFather) *(Optional)*a Cloudflare account for a persistent tunnel domain — otherwise a free random quick tunnel is used\n\n**Windows (recommended):** download `Crundi.Setup.<version>.exe`\n\nfrom the [latest release](/TheRealFaruhaan/crundi/releases/latest) and run it. The installer is self-signed (`TheRealFaruhaan`\n\n).\n\n**From source:**\n\n```\ngit clone https://github.com/TheRealFaruhaan/crundi.git\ncd crundi\nnpm install\nnpm start                # desktop app (Electron)\n# or\nnpm run start:headless   # server only (no Electron window)\n```\n\nOn first launch Crundi shows a step-by-step wizard:\n\n**Create a bot** with @BotFather and paste the token (current login channel).**Your Telegram username**— only this user can access Crundi.** Projects**— point at a parent folder (each subfolder = a project), or add projects individually.** Cloudflare tunnel***(optional)*— paste a named-tunnel token + URL for a fixed domain, or skip for a random quick tunnel.**Do not** install Cloudflare's connector; Crundi bundles and runs`cloudflared`\n\nitself.**Enable login**— set your bot's login domain in @BotFather (`/setdomain`\n\n) to your public URL so the login button works.\n\nConfig is stored in your OS app-data dir; you can also use a `.env`\n\n(see `.env.example`\n\n):\n\n| Variable | Required | Description |\n|---|---|---|\n`TELEGRAM_BOT_TOKEN` |\nyes | Bot token from @BotFather (login validation + notifications) |\n`ALLOWED_USERNAME` |\nyes | Your Telegram username, no `@` — the only allowed user |\n`PROJECTS_DIR` |\n* | Parent folder of projects (single-folder mode); leave empty for multi-folder mode |\n`WEB_PORT` |\nno | Web UI port (`0` = auto-assign) |\n`CLOUDFLARE_TUNNEL_TOKEN` |\nno | Named-tunnel token for a persistent domain |\n`CLOUDFLARE_TUNNEL_URL` |\nno | The tunnel's public URL |\n`DATA_DIR` |\nno | Override the data directory |\n\n```\nnpm run build     # electron-builder --win → dist/\n```\n\nCode signing uses a `.pfx`\n\nsupplied via the `CSC_LINK`\n\n/ `CSC_KEY_PASSWORD`\n\nenvironment variables (not committed).\n\nCrundi is a **single-user remote-control tool**. Whoever authenticates gets, on the host machine:\n\n- a full interactive shell (agent terminals + arbitrary commands),\n- file read/write — and read/download can go\n**above** a project's root, - start/stop of registered services,\n- screen capture and basic GUI automation.\n\nThat power is the point — but treat it accordingly: **run it only for yourself**, keep your tunnel URL private, set the login domain, and never share your bot token. Anyone who reaches the URL and passes auth controls the machine.\n\nBug reports and questions are welcome — open an [issue](/TheRealFaruhaan/crundi/issues). External **code** contributions (pull requests) aren't being accepted right now, and `main`\n\nis protected; fork freely under MIT. For security issues see [SECURITY.md](/TheRealFaruhaan/crundi/blob/main/SECURITY.md); details in [CONTRIBUTING.md](/TheRealFaruhaan/crundi/blob/main/CONTRIBUTING.md).\n\n[MIT](/TheRealFaruhaan/crundi/blob/main/LICENSE) © 2026 Hussain Faruhaan.", "url": "https://wpnews.pro/news/crundi-a-self-hosted-remote-workbench-you-reach-from-anywhere", "canonical_source": "https://github.com/TheRealFaruhaan/crundi", "published_at": "2026-06-18 20:48:56+00:00", "updated_at": "2026-06-18 21:01:27.419157+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools"], "entities": ["Crundi", "Claude Code", "Telegram", "Cloudflare", "Node.js", "Electron", "TheRealFaruhaan", "BotFather"], "alternates": {"html": "https://wpnews.pro/news/crundi-a-self-hosted-remote-workbench-you-reach-from-anywhere", "markdown": "https://wpnews.pro/news/crundi-a-self-hosted-remote-workbench-you-reach-from-anywhere.md", "text": "https://wpnews.pro/news/crundi-a-self-hosted-remote-workbench-you-reach-from-anywhere.txt", "jsonld": "https://wpnews.pro/news/crundi-a-self-hosted-remote-workbench-you-reach-from-anywhere.jsonld"}}