The Problem
Running multiple coding agents (Claude Code, Codex CLI, Gemini CLI) against the same codebase is chaotic. Each agent needs an isolated environment, a way to show its work, and a path to merge results without stepping on the others. Manaflow wraps each agent in its own VS Code workspace with a live preview and git diff, so parallel work stays verifiable.
What This Does
Manaflow orchestrates coding agent CLIs in parallel, each in an isolated VS Code workspace. The client is an Electron app (apps/client/electron/main/index.ts) with a React frontend (apps/client/src/app.tsx). The server (apps/server/) manages Docker containers and repositories, while a worker (apps/worker/src/index.ts) executes agent tasks.
The repo is five self-contained projects: apps/ (client, server, worker, edge-router, preview-proxy), packages/ (shared code, Convex backend), scripts/ (PR review, snapshot tooling), crates/ (Rust native modules), and evals/. A heatmap diff viewer (apps/client/src/components/heatmap-diff-viewer/) color-codes risky changes during PR review.
How It Is Wired
Execution starts at apps/client/electron/main/index.ts (function handleCmuxProtocol) and apps/worker/src/index.ts (function createTerminal). The worker's createTerminal reaches 38 functions and routes through onData -> handleData -> classify -> handleTlsTunnel, eventually calling getCertDataForHost -> generateSerialNumber — a crypto operation two hops from the entry point. The client's task-run-preview-proxy.ts makes outbound network calls and performs secret generation, making it the most effect-heavy file.
The internal call graph shows 2,648 resolved edges. log is called from 53 places and fetch from 50 — these are the highest-blast-radius functions. apps/server/src/socket-handlers sits in a circular dependency with 30 imports, which will complicate refactoring. The Convex generated API (packages/convex/convex/_generated/server) is a hub module with 73 dependents; any change there ripples widely.
How To Use It
The README documents a macOS download but no CLI install commands (they're commented out). The repo has a Dockerfile, .devcontainer/, and GitHub Actions for CI. Clone and explore:
git clone https://github.com/moses-y/manaflow
cd manaflow
# Check apps/client/package.json and apps/server/ for build scripts
# .env.example shows required environment variables
Configuration lives in .env.example and packages/convex/.env.convex. The devcontainer (docker-compose.convex.yml) suggests a Convex backend is required. Setup steps beyond that aren't documented in the README.
Real-World Use
A team runs three agents on a feature branch: one refactoring the API layer, one writing tests, one updating the frontend. Each gets an isolated Docker container via apps/server/src/repositoryManager.ts, which handles workspace setup and cleanup. The localCloudSync.ts file manages content hashing and ignore patterns to keep workspaces in sync. Results land as PRs through apps/server/src/ghApi.ts, which wraps the GitHub API client.
Code Health & Issues
Static analysis found 328 findings (109 high, 219 medium). The measured issues:
- High - Hub modules -
packages/convex/convex/_generated/serverhas 73 dependents; churn here is high-blast-radius - High - Import cycles - 9 files including
packages/shared/src/agentConfig.tsparticipate in circular imports - High - Oversized files -
apps/server/src/vscode/DockerVSCodeInstance.tsat 1,398 lines;repositoryManager.tsis close behind - High - Deep nesting - 29 files with max indentation depth 8, including
heatmap-diff-viewer.tsx - Medium - Broad exception handling -
scripts/snapshot/context.pyandexec.pyswallow exceptions - Medium - High branching density -
apps/www/scripts/pr-review/diff-utils.tshas 40 branch points over 122 lines
The code health audit flags two high-severity items: third-party GitHub Actions are pinned to mutable tags (oven-sh/setup-bun@v2, jlumbroso/free-disk-space@main), and a .env.convex file is committed — rotate whatever it holds. CI lacks a dependency vulnerability scan and least-privilege token permissions.
The Bottom Line
Manaflow is a serious attempt at parallel agent orchestration with real engineering behind it — isolated workspaces, live previews, and PR tooling. The codebase is young: oversized files, import cycles, and a committed .env need attention before production use. Teams already running multiple coding agents will find it useful; others should wait for the hygiene issues to clear.