A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Distributed AI Agent Orchestration Platform — orchestrate Claude coding agents across multiple machines with real-time I
Distributed AI Agent Orchestration Platform
Orchestrate AI coding agents across multiple machines. Start a session on your desktop, check progress from your phone, continue from a laptop — all in real-time.
Quick Start • Architecture • Authentication • Deployment • Development • Roadmap • Contributing • Docs
Early Development Notice
Condrix is under active, heavy development. The architecture, APIs, database schemas, and configuration formats may change without notice between commits. This is a pre-release project — expect breaking changes, incomplete features, and rough edges.
What works today:
- Core daemon with full workspace, terminal, file, and git management
- Web client with IDE-like interface (Monaco editor, xterm.js, git panel)
- AI chat via Claude (OAuth/Claude Plan or API key)
- Maestro orchestration with multi-core relay
- Docker deployment with Cloudflare Tunnel
- Per-Core OAuth authentication via UI
What's still in progress: See Roadmap below.
Bug reports, and feedback are welcome!
Condrix is built on three layers:
| Layer | Role | Technology |
|---|---|---|
| Core | Agent runtime daemon — manages projects, workspaces, agents, terminals, files, git | Node.js, WebSocket, SQLite, node-pty |
| Maestro | Orchestration hub — cross-core coordination, message relay, messaging bridge | Node.js, grammy, baileys, SQLite |
| Clients | Stateless UIs that connect to Cores for IDE-like experiences | Tauri, React, React Native, Ink |
Clients connect directly to a Core via WebSocket. Best for local development or LAN access.
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Desktop │ │ Web │ │ Mobile │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ WebSocket │ │
└───────┬────────┘────────────────┘
│
┌────────▼────────┐
│ Core │ ← Agent runtime (1 per machine)
│ localhost:9100 │
└─────────────────┘
Clients connect to Maestro, which relays messages to Cores. Enables multi-core orchestration, remote access via Cloudflare Tunnel, and messaging bridges.
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Desktop │ │ Web │ │ Mobile │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
└───────┬────────┘────────────────┘
│ WebSocket
┌────────▼────────┐
│ Maestro │ ← Orchestration hub
│ 0.0.0.0:9200 │──── WhatsApp / Telegram
└───┬─────────┬───┘
│ │ WebSocket (or Cloudflare Tunnel)
┌─────▼───┐ ┌───▼─────┐
│ Core A │ │ Core B │ ← Cores on different machines
│ Machine1│ │ Machine2│
└─────────┘ └─────────┘
Both modes can be deployed via Docker Compose (recommended) or run natively with npm. See Quick Start and Deployment.
Condrix supports two authentication methods for AI access:
Uses your Claude Pro/Max subscription via the Claude Code CLI subprocess. Each Core authenticates independently.
How it works:
Token lifecycle:
~/.claude/.credentials.json on each CoreClaudeAuthManager service monitors token expiry every 5 minutesclaude-data)How OAuth calls work:
claude CLI subprocess (from the installed Claude Code package) which handles the API call internallyRequirements:
@anthropic-ai/claude-code)Uses a standard Anthropic API key for direct SDK access.
# Environment variable
ANTHROPIC_API_KEY=sk-ant-xxx
# CLI flag
npm run dev:core -- --api-key sk-ant-xxx
Or configure via Settings → AI in the web client.
Note: API key auth uses the @anthropic-ai/sdk directly (no subprocess). Extended thinking is not available for 4.6 models via API key — use OAuth for full model capabilities.
Each Core has a remote terminal accessible from Settings → Cores → Terminal icon (⬛). This opens a root shell on the Core where you can run admin commands:
claude auth login # Authenticate (alternative to UI flow)
claude auth status --text # Check current auth state
git clone https://github.com/anastawfik/condrix.git && cd condrix
cp .env.example .env
docker compose up -d
Go to app.condrix.dev — the hosted web client connects to any Core or Maestro. No need to run the client yourself.
Self-hosting the web client: If you prefer to host your own, the web client is included in
docker compose upand available athttp://localhost.
ws://localhost:9100) or Maestro (ws://localhost:9200)Each service can be started independently:
docker compose up maestro # Maestro only
docker compose up core # Core only (standalone)
docker compose up maestro core # Maestro + Core
docker compose up # All services (Maestro + Core + Web)
docker compose --profile tunnel up # All + Cloudflare Tunnel
Persistent data is stored in Docker named volumes:
maestro-data — Maestro database (users, registered cores, settings)core-data — Core database, cloned repositories, workspacesclaude-data — Claude Code credentials (OAuth tokens)These survive docker compose down. Only docker compose down -v removes them.
Expose Condrix to the internet with zero port forwarding:
1. Create a tunnel in Cloudflare Zero Trust → Networks → Tunnels
2. Add public hostname routes pointing to Docker service names:
| Public Hostname | Service | Type |
|---|---|---|
maestro.yourdomain.com | http://maestro:9200 | HTTP |
condrix.yourdomain.com | http://web:80 | HTTP |
3. Configure .env:
CF_TUNNEL_TOKEN=eyJ...
VITE_DEFAULT_MAESTRO_URL=wss://maestro.yourdomain.com
4. Start with tunnel profile:
docker compose --profile tunnel up -d
Remote Cores on other machines connect to the tunneled Maestro without Docker:
CONDRIX_MAESTRO_URL="wss://maestro.yourdomain.com" \
CONDRIX_MAESTRO_TOKEN="<token-from-maestro>" \
npm run dev:core
Set GITHUB_TOKEN in .env to clone private GitHub repos when adding projects:
GITHUB_TOKEN=ghp_xxxx # GitHub PAT with `repo` scope
A thin Tauri 2.0 shell (~10-15MB) that loads the web client:
# Requires: Rust toolchain + Tauri prerequisites
# https://v2.tauri.app/start/prerequisites/
npm run dev:web &
cd apps/client-desktop && npm run dev
For development, you can run services directly with npm:
git clone https://github.com/anastawfik/condrix.git && cd condrix
npm install && npm run build
# Start Core + Web Client
npm run dev:core &
npm run dev:web
# Open http://localhost:5173 → connect to ws://localhost:9100
| Command | Description |
|---|---|
npm run dev:core | Core daemon with hot-reload |
npm run dev:maestro | Maestro service with hot-reload |
npm run dev:web | Web client dev server (port 5173) |
npm run dev:desktop | Desktop client (Tauri) |
npm run dev:cli | CLI client |
npm run build | Build all packages |
npm test | Run all tests |
npm run lint | Lint all packages |
npm run typecheck | Type-check all packages |
npm run docker:up | Docker Compose production |
npm run docker:build | Build Docker images |
npx nx graph | Visualize dependency graph |
condrix/
├── apps/
│ ├── core/ # Core daemon (Node.js, WebSocket, SQLite)
│ ├── maestro/ # Maestro orchestration service
│ ├── client-web/ # Web client (Vite + React + shadcn/ui)
│ ├── client-desktop/ # Desktop client (Tauri 2.0 shell)
│ ├── client-mobile/ # Mobile client (React Native / Expo)
│ ├── client-cli/ # CLI client (Ink + Commander)
│ └── docs/ # Documentation (VitePress)
├── libs/
│ ├── protocol/ # Shared types & message schemas (foundation)
│ ├── client-shared/ # Shared React hooks/stores
│ ├── client-components/ # Shared UI components
│ ├── skills/ # Built-in agent skill definitions
│ └── mcp-configs/ # MCP server configurations
├── docker-compose.yml # Production deployment
├── Dockerfile # Multi-stage build (core, maestro, web)
└── .env.example # Environment variable template
| Service | Port | Docker (Dev) | Docker (Prod) |
|---|---|---|---|
| Core | 9100 | 9100 | Internal |
| Maestro | 9200 | 9200 | Internal |
| Web Client | 5173 | 5173 | 80 |
An isolated environment within a project — its own agent session, terminals, git branch, and file watchers. Each workspace is cloned to ~/.condrix/workspaces/<id>/. Workspaces follow a state machine: CREATING → IDLE → ACTIVE → WAITING → SUSPENDED → DESTROYED.
The file explorer and source control panel update automatically when files change. The Core watches workspace directories and broadcasts events to connected clients.
Built-in Git panel with staging, unstaging, colored diffs in the Monaco editor, and committing with Ctrl+Enter.
Composable capability packages that equip agents with domain-specific knowledge. MCP servers extend capabilities with filesystem, git, database, browser, and search tools.
Maestro integrates with WhatsApp and Telegram for proactive notifications when agents need human input.
| Variable | Default | Description |
|---|---|---|
CONDRIX_CORE_HOST | 127.0.0.1 | Bind host |
CONDRIX_CORE_PORT | 9100 | WebSocket port |
CONDRIX_CORE_NAME | Condrix | Display name |
CONDRIX_CORE_ID | core-default | Core identifier |
CONDRIX_CORE_DB_PATH | ~/.condrix/core.db | Database file path |
CONDRIX_CORE_DEV_MODE | true | false for production |
CONDRIX_CORE_CONTAINER | — | Set true when running in Docker |
CONDRIX_CORE_EXTERNAL_URL | — | Public URL for OAuth callback (tunnel URL) |
ANTHROPIC_API_KEY | — | Anthropic API key (alternative to OAuth) |
GITHUB_TOKEN | — | GitHub PAT for cloning private repos |
CONDRIX_CLAUDE_MODEL | claude-sonnet-4-5 | Default Claude model |
CONDRIX_MAESTRO_URL | — | Maestro WebSocket URL (for Core→Maestro connection) |
CONDRIX_MAESTRO_TOKEN | — | Access token for Maestro auth |
CONDRIX_HOST_MOUNTS | — | Host folder mounts for containerized Cores (e.g., Projects=/host/projects) |
| Variable | Default | Description |
|---|---|---|
CONDRIX_MAESTRO_HOST | 0.0.0.0 | Bind host |
CONDRIX_MAESTRO_PORT | 9200 | WebSocket port |
CONDRIX_MAESTRO_DB | ~/.condrix/maestro.db | Database file path |
CONDRIX_MAESTRO_TUNNEL | false | Enable built-in Cloudflare Tunnel |
CONDRIX_MAESTRO_TUNNEL_MODE | quick | quick or named |
CONDRIX_MAESTRO_TUNNEL_TOKEN | — | Cloudflare tunnel token |
| Variable | Default | Description |
|---|---|---|
CF_TUNNEL_TOKEN | — | Cloudflare tunnel token (Docker tunnel profile) |
VITE_DEFAULT_MAESTRO_URL | — | Pre-filled Maestro URL in web client |
Contributions are welcome! See CONTRIBUTING.md for development setup, coding conventions, and PR guidelines.
Full architecture document: apps/docs/architecture/Condrix-Architecture-v1.0.md
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Claude Code skill for YouTube creators — channel audits, video SEO, retention scripts, thumbnails, content strategy, Sho
Design enforcement with memory — keeps your UI consistent across a project
AI image generation skill for Claude Code -- Creative Director powered by Gemini