How windmill-labs/webmux works
webmux is a multi-project dashboard and CLI for creating and managing AI-agent Git worktrees, sessions, terminals, and related development workflows. The main user flow runs from the dashboard through the backend to worktree and agent operations, then streams status and output back to the UI. The README documents PR/CI, service health, Docker sandboxing, Linear, and mobile chat as additional product branches. Some implementation wiring is not shown in the sampled excerpts, so uncertain links are omitted.
Main entry points: server.ts HTTP and WS server · api.ts API client · git.ts Git worktrees · runtime.ts Project runtime
Components 25
Dashboard interfaces
- Dashboard UI
frontend/src/App.svelte - Mobile chat UI
frontend/src/lib/MobileChatSurface.svelte - API client
frontend/src/lib/api.ts
Backend orchestration
- API contract
packages/api-contract/src/contract.ts - HTTP and WS server
backend/src/server.ts - Project runtime
backend/src/runtime.ts - Project configuration
backend/src/domain/config.ts - Service health
backend/src/services/project-runtime.ts - PR and CI status
backend/src/services/pr-service.ts - Linear workflows
backend/src/services/linear-service.ts
Worktree and agent runtime
- Worktree operations
backend/src/services/worktree-service.ts - Worktree creation
backend/src/services/worktree-creation-service.ts - Worktree lifecycle
backend/src/services/lifecycle-service.ts - Agent runtime
backend/src/adapters/agent-runtime.ts - Terminal streaming
backend/src/adapters/terminal.ts - Conversation history
backend/src/services/codex-session-log-service.ts
External integrations
- Git worktrees
backend/src/adapters/git.ts - tmux sessions
backend/src/adapters/tmux.ts - GitHub CLI
- Linear API
- Docker sandbox
backend/src/adapters/docker.ts
Projects and sessions
- Project manager
backend/src/services/project-manager.ts - Projects registry
backend/src/adapters/projects-registry.ts - Session layout
backend/src/services/session-service.ts
Other components
- Developer
Connections 24
- Developer → Dashboard UI: uses
- Developer → Mobile chat UI: uses
- Dashboard UI → API client: requests
- Mobile chat UI → API client: requests
- API client → API contract: calls routes
- API client → HTTP and WS server: sends API requests
- HTTP and WS server → Project runtime: handles requests
- HTTP and WS server → PR and CI status: fetches PR states
- PR and CI status → GitHub CLI: queries
- HTTP and WS server → Linear workflows: builds issue seed
- Linear workflows → Linear API: reads and posts
- Project manager → Projects registry: loads and persists projects
- Project manager → Project runtime: creates project runtime
- Project runtime → Project configuration: loads settings
- Worktree operations → Git worktrees: manages worktrees
- Worktree creation → Git worktrees: creates worktrees
- Worktree lifecycle → Git worktrees: updates worktrees
- Session layout → tmux sessions: creates pane layout
- Agent runtime → tmux sessions: runs in sessions
- HTTP and WS server → Terminal streaming: writes terminal input
- HTTP and WS server → Worktree lifecycle: archives worktrees
- Service health → Git worktrees: checks worktree services
- Docker sandbox → Agent runtime: hosts isolated runs
- Conversation history → Agent runtime: parses session logs