Developer Overview
Start contributing to OpenClaw Swarm
OpenClaw Swarm is open source and we welcome contributions. This section covers everything you need to know to work on the codebase.
Tech stack
| Layer | Technology |
|---|---|
| Shell | Electron (macOS vibrancy + hidden titlebar) |
| Frontend | React 19 |
| Routing | TanStack Router (file-based, memory history) |
| Server state | TanStack Query |
| IPC | oRPC over MessagePort |
| UI | shadcn/ui (base-mira) + Base UI + Tailwind CSS 4 |
| Persistence | electron-store (safeStorage encryption) |
| Crypto | Node native Ed25519 (device identity + challenge signing) |
| Logging | Transport-agnostic logger (console, file, memory ring buffer) |
| Package manager | Bun |
| Task runner | moon |
| Toolchain manager | proto |
Monorepo layout
├── .moon/ # moon workspace + toolchain config
│ ├── workspace.yml # Projects, VCS hooks, pipeline
│ ├── toolchains.yml # Bun toolchain
│ └── tasks/ # Inherited tasks (lint, typecheck)
├── apps/
│ ├── swarm/ # Electron desktop app
│ └── docs/ # This documentation site (Fumadocs + TanStack Start)
├── .prototools # Pinned tool versions (moon, bun)
├── .editorconfig # Editor formatting defaults
├── .prettierrc # Shared Prettier config
└── package.json # Bun workspaces rootWhere to start
- Dev Setup — clone, install, and run locally
- Architecture — understand how the app is structured
- Conventions — enforced ESLint rules and code patterns
- Logging — structured logging system for the main process
- Contributing — PR process and guidelines
