Crewly

Website: crewlyai.com
Crewly is an open-source multi-agent orchestration platform that coordinates AI coding agents (Claude Code, Gemini CLI, Codex) to work together as a team. It provides a web dashboard for real-time monitoring, task management, and team coordination β all running locally on your machine.
Features
- Multi-agent teams β Create teams with different roles (developer, QA, PM, orchestrator) and watch them collaborate
- Multi-runtime support β Use Claude Code, Gemini CLI, or OpenAI Codex β mix and match per agent
- Real-time dashboard β Monitor all agents through live terminal streams, task boards, and activity feeds
- Skill system β Agents coordinate through bash skills (report status, delegate tasks, manage memory)
- Agent memory β Persistent knowledge that agents build and share across sessions
- Slack integration β Optional two-way Slack bridge for team notifications
- Local-first β Everything runs on your machine. No data leaves your environment.
Quick Start
npx crewly init
npm install -g crewly
crewly init
crewly start
The init command walks you through provider selection, installs agent skills, and scaffolds a .crewly/ directory. Then crewly start launches the backend server and opens the web dashboard. From there:
- Create a team with agents assigned to roles
- Assign the team to a project (any local code directory)
- Watch agents work in real time through live terminal streams
Prerequisites
- Node.js v20+ and npm v9+
- At least one AI coding CLI installed:
| Claude Code (default) | npm install -g @anthropic-ai/claude-code | claude --version |
| Gemini CLI | npm install -g @google/gemini-cli | gemini --version |
| Codex (OpenAI) | npm install -g @openai/codex | codex --version |
API keys: Gemini CLI requires GEMINI_API_KEY. Codex requires an OpenAI API key. Claude Code authenticates through its own login flow.
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web Dashboard β
β (React + xterm.js + WebSocket) β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββ
β Backend Server β
β (Express + Socket.IO + PTY) β
β β
β ββββββββββββ ββββββββββββ βββββββββββββββββββββ β
β β Services β β Schedulerβ β Agent Registration β β
β β (Storage,β β (Check- β β (Heartbeat, Idle β β
β β Memory) β β ins) β β Detection, Resume)β β
β ββββββββββββ ββββββββββββ βββββββββββββββββββββ β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β
βββββββββββββββββΌββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββββββ βββββββββββββββ βββββββββββββββ
β Agent PTY β β Agent PTY β β Agent PTY β
β (Claude) β β (Gemini) β β (Codex) β
β β β β β β
β Skills ββββββ€ β Skills βββββ€ β Skills βββββ€
β Memory ββββββ€ β Memory βββββ€ β Memory βββββ€
ββββββββββββββββ βββββββββββββββ βββββββββββββββ
Storage: ~/.crewly/ (global) + project/.crewly/ (per-project)
How It Works
- You create a team in the dashboard with agents assigned to roles
- You assign the team to a project (any local code directory)
- Crewly launches each agent as a CLI process in its own PTY session
- Agents receive role-specific prompts and use skills (bash scripts) to communicate, report progress, and manage tasks
- You monitor everything in real time through the web dashboard
Agent Runtimes
| Claude Code | claude --dangerously-skip-permissions | Default runtime |
| Gemini CLI | gemini --yolo | Requires GEMINI_API_KEY |
| Codex (OpenAI) | codex --full-auto | Requires OpenAI API key |
You can change the default runtime or customize launch commands in Settings.
CLI Commands
crewly init
crewly start
crewly stop
crewly status
crewly logs
crewly upgrade
crewly install [id]
crewly search [q]
Configuration
Optional environment variables (.env file or shell):
GEMINI_API_KEY=your_key_here
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
SLACK_SIGNING_SECRET=...
LOG_LEVEL=info
WEB_PORT=8787
Docker
Run Crewly with a single command using Docker:
git clone https://github.com/stevehuang0115/crewly.git
cd crewly
cp .env.example .env
docker compose up
To mount a project directory for agents to work on, edit docker-compose.yml and uncomment the volume mount:
volumes:
- crewly_data:/home/node/.crewly
- /path/to/your/project:/home/node/project
Build the image manually:
docker build --platform linux/amd64 -t crewly .
docker run -p 8787:8787 --env-file .env crewly
Development
git clone https://github.com/stevehuang0115/crewly.git
cd crewly
npm install
npm run build
npm run dev
npm run test:unit
See CONTRIBUTING.md for detailed development guidelines.
Demo
Screenshots and demo video coming soon. Star the repo to get notified!
License
MIT