Cross-platform desktop control suite with a local programmable API, dashboards, and SDK.
Deskctl combines a local desktop agent with web dashboards and a TypeScript SDK. The Bridge app exposes a local HTTP/WebSocket API, while the web apps provide operational control, monitoring, and documentation for the ecosystem.
| App | Role |
|---|---|
| apps/bridge | Tauri desktop agent with local API server |
| apps/docs | Next.js documentation site |
| apps/web | Web console built with TanStack stack |
| apps/hub | Dashboard surface (admin or ops) |
| apps/rhub | Remote hub dashboard variant |
| Package | Role |
|---|---|
| packages/sdk | TypeScript client SDK for Bridge |
| packages/ui | Shared UI components |
| tooling | Shared lint/tsconfig presets |
- Local programmable control via HTTP/WebSockets
- Desktop agent with system actions, telemetry hooks, and update support
- Web dashboards for control and monitoring workflows
- Typed SDK for rapid integration in apps and scripts
- Docs site with MDX-driven content
- Turborepo + pnpm (workspace orchestration)
- Tauri 2 + SolidJS (Bridge)
- React 19 + TanStack (Web apps)
- Next.js 16 (Docs)
- Tailwind CSS (UI styling)
- Node.js >= 22
- pnpm 10.x
- Rust toolchain (required for Bridge builds)
pnpm install# Run everything in parallel
pnpm dev
# Or run a single target
pnpm dev:bridge
pnpm dev:docs
pnpm dev:web
pnpm dev:hub
pnpm dev:rhub# Build all workspaces
pnpm build
# Build desktop app only
pnpm build:bridgeCreate a .env file inside the app you are running and copy from the matching example.
| App | Example file | Variables |
|---|---|---|
| Docs | apps/docs/.env.example | NEXT_PUBLIC_POSTHOG_KEY, NEXT_PUBLIC_POSTHOG_HOST |
| Web | apps/web/.env.example | VITE_BASE_URL |
| Hub | apps/hub/.env.example | VITE_BASE_URL |
| Rhub | apps/rhub/.env.example | VITE_BASE_URL |
- Fork the repo and create a feature branch.
- Run pnpm install, then pnpm dev for local work.
- Run pnpm check before submitting a PR.
MIT