╔───────────────────────────────────────────╗
│ │
│ __ ___ .___________. │
│ | | / \ | | │
│ | | / ^ \ `---| |----` │
│ .--. | | / /_\ \ | | │
│ | `--' | / _____ \ | | │
│ \______/ /__/ \__\ |__| │
│ │
│ ◇ Supervise the Swarm ◇ │
│ │
╚───────────────────────────────────────────╝
Agents ship, suggest, repeat. You supervise.
JAT is the complete, self-contained environment for agentic development. Task management, agent orchestration, code editor, git integration, terminal access—all unified in a single IDE. No plugins to install, no services to configure, no pieces to assemble. Just describe what you want and supervise the swarm.
The JAT IDE: agent sessions, task management, and code editor unified
Traditional IDE: You write code, tools assist
Copilot IDE: You write code, AI suggests completions
Agentic IDE: Agents write code, you supervise and approve
JAT is purpose-built for the third paradigm. Manage 20+ agents simultaneously while you review, guide, and approve.
# Install (one command)
curl -sSL https://raw.githubusercontent.com/joewinke/jat/master/tools/scripts/bootstrap.sh | bash
# Restart shell
source ~/.bashrc
# Launch
jatOpen http://localhost:3333 → Add a project → Create a task → Spawn an agent → Supervise
Alternative (developers):
git clone https://github.com/joewinke/jat.git ~/code/jat
cd ~/code/jat && ./install.sh| Shortcut | Feature |
|---|---|
Cmd+K |
Global Search — files, tasks, agents |
Cmd+Shift+T |
Terminal — integrated with agent sessions |
Ctrl+S |
Save — save current file |
Alt+N |
New Task — create from anywhere |
Alt+E |
Epic Swarm — launch parallel agents |
Full Monaco editor (VS Code's engine):
┌─────────────────────────────────────────────────────────────┐
│ 📁 Files │ 🔀 Git │
├─────────────────────────────────────────────────────────────┤
│ ▼ src/ │ ┌─────┬─────┬─────┐ │
│ lib/ │ │ a.ts│ b.ts│ c.ts│ ← Drag-drop tabs │
│ routes/ │ └─────┴─────┴─────┘ │
│ ▼ tests/ │ ┌──────────────────────────────────────────┐ │
│ │ │ Monaco Editor │ │
│ │ │ • 25+ languages │ │
│ │ │ • Syntax highlighting │ │
│ │ │ • Multi-cursor editing │ │
│ │ └──────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
- Lazy-loading file tree with right-click context menu
- Multi-file tabs with persistent order
- Keyboard navigation (F2 rename, Delete remove)
- File type icons
Full git integration:
┌─────────────────────────────────────────────────────────────┐
⎇ master ↑2 ↓0 [⟳ Fetch] │
├─────────────────────────────────────────────────────────────┤
│ ▼ STAGED CHANGES (3) [− All] │
│ M src/lib/api.ts │
│ A src/lib/auth.ts │
├─────────────────────────────────────────────────────────────┤
│ [ Commit message... ] [✓ Commit] │
├─────────────────────────────────────────────────────────────┤
│ ▼ CHANGES (2) [+ All] │
│ M src/routes/+page.svel te [+] [↻] │
├─────────────────────────────────────────────────────────────┤
│ [↑ Push] [↓ Pull] │
├─────────────────────────────────────────────────────────────┤
│ ▼ TIMELINE │
│ ● abc123 2h ago Add authentication │
│ ○ def456 1d ago Fix login bug │
└─────────────────────────────────────────────────────────────┘
- Stage/unstage individual files or all
- Commit with
Ctrl+Enter - Push/Pull with ahead/behind indicators
- Branch switcher with search
- Diff preview drawer (click any file)
- Commit timeline with details
Live terminal output for all running agents:
- Real-time streaming output
- Smart question UI (agent questions → clickable buttons)
- State badges: Working, Needs Input, Review, Completed
- Send input directly to agents
- Token usage and cost tracking
Beads-powered git-backed issue tracking:
- Create tasks with priorities (P0-P4)
- Epic workflows with subtask spawning
- Dependency visualization
- Bulk actions (select multiple, add to epic)
Full commit history and repository management:
- Browse all commits with details
- Multi-select commits for cherry-pick or revert
- Search commits by message or author
- Diff viewer for any commit
┌──────────────────────────────────────────────────────────────┐
│ │
│ 1. PLAN WITH AI Describe your feature, get PRD │
│ ↓ │
│ 2. /JAT:TASKTREE Convert PRD → structured tasks │
│ ↓ │
│ 3. EPIC SWARM Spawn agents on subtasks │
│ ↓ │
│ 4. PARALLEL WORK Watch agents code simultaneously │
│ ↓ │
│ 5. SMART QUESTIONS "OAuth or JWT?" → click button │
│ ↓ │
│ 6. REVIEW IN /tasks See diffs, approve changes │
│ ↓ │
│ 7. COMMIT & PUSH Stage, message, push │
│ ↓ │
│ 8. AUTO-PROCEED Low-priority tasks complete auto │
│ ↓ │
│ 9. SUGGESTED TASKS Agent proposes next work │
│ ↓ │
│ ╰──────────────── Auto-accept → back to 3 ───────────╯│
│ │
│ ∞ Perpetual motion. Ship continuously. ∞ │
│ │
└──────────────────────────────────────────────────────────────┘
| Route | Purpose |
|---|---|
/tasks |
Agent sessions, task management, epics, questions, state tracking |
/files |
Monaco editor, file tree, staged/unstaged changes |
/source |
Full commit history, cherry-pick, revert, diffs |
/servers |
Dev server controls (npm start/stop) |
/config |
API keys, project secrets, automation rules, shortcuts |
| Feature | Description |
|---|---|
| Multi-agent management | Run 20+ agents simultaneously across your codebase |
| Task → Agent → Review | One-click workflow from task to completion |
| Smart question UI | Agent questions become clickable buttons |
| Epic Swarm | Spawn parallel agents on subtasks |
| Auto-proceed rules | Configure auto-completion by type/priority |
| Error recovery | Automatic retry patterns for failures |
| PRD → Tasks | /jat:tasktree converts requirements to structured tasks |
Full Monaco editor and git integration included—but the magic is in agent orchestration.
| Feature | JAT | Cursor | Windsurf | Cline/Aider |
|---|---|---|---|---|
| Multi-agent (20+) | ✅ | ❌ | ❌ | ❌ |
| Visual IDE | ✅ | ❌ | ❌ | ❌ |
| Task management | ✅ Built-in | ❌ | ❌ | ❌ |
| Epic Swarm (parallel) | ✅ | ❌ | ❌ | ❌ |
| Agent coordination | ✅ Agent Mail | ❌ | ❌ | ❌ |
| Auto-proceed rules | ✅ | ❌ | ❌ | ❌ |
| Code editor | ✅ Monaco | ✅ VS Code | ✅ VS Code | ❌ |
| Git integration | ✅ | ✅ | ✅ | Partial |
| Supabase integration | ✅ Migrations | ❌ | ❌ | ❌ |
| 100% local | ✅ | ❌ Cloud | ❌ Cloud | ✅ |
| Open source | ✅ MIT | ❌ | ❌ | ✅ |
JAT isn't trying to replace your editor—it's the control tower for your agent swarm.
~/code/jat/
├── ide/ # SvelteKit app (the IDE)
│ └── src/
│ ├── routes/ # /tasks, /files, /source, /servers, /config
│ └── lib/
│ ├── components/files/ # FileTree, GitPanel, Editor
│ ├── components/work/ # SessionCard, WorkPanel
│ ├── components/source/ # CommitHistory, DiffViewer
│ └── stores/ # State management
├── tools/ # 50+ CLI tools
│ ├── core/ # Database, monitoring
│ ├── mail/ # Agent coordination (am-*)
│ ├── browser/ # Browser automation
│ └── signal/ # State sync
├── commands/ # /jat:start, /jat:complete, /jat:tasktree
└── shared/ # Agent documentation
- Node.js 20+
- tmux (agent sessions)
- Claude Code or similar AI assistant
- sqlite3, jq (auto-installed)
~/.config/jat/projects.json:
{
"projects": {
"myapp": {
"path": "~/code/myapp",
"port": 3000
}
},
"defaults": {
"max_sessions": 12,
"model": "opus"
}
}~/.config/jat/credentials.json (secure API keys):
{
"apiKeys": {
"anthropic": { "key": "sk-ant-..." },
"google": { "key": "..." },
"openai": { "key": "sk-..." }
},
"customApiKeys": {
"stripe": { "value": "sk_live_...", "envVar": "STRIPE_API_KEY" }
},
"projectSecrets": {
"myapp": { "database_password": "..." }
}
}Manage keys at /config?tab=apikeys or use jat-secret in scripts:
jat-secret stripe # Get value
eval $(jat-secret --export) # Load all as env varsIDE settings at /config:
- API keys and custom secrets
- Per-project credentials (Supabase, databases)
- Max concurrent sessions
- Automation rules
- Keyboard shortcuts
| Doc | Purpose |
|---|---|
| QUICKSTART.md | 5-minute tutorial |
| CLAUDE.md | Full technical reference |
| ide/CLAUDE.md | IDE dev guide |
| shared/ | Agent documentation |
Which AI assistants work? Any terminal-based AI: Claude Code, Aider, Cline, Codex, etc.
How many agents can I run? Tested with 20+. Limited by your machine and API limits, not JAT.
Can I use existing projects?
Yes. Run bd init in any git repo to initialize Beads tracking, then add the project via /config → Projects tab, or use the "Add Project" button on the Tasks page.
Is there a hosted version? No. JAT runs 100% locally. Code never leaves your machine.
- Discord — Join the JAT community for help, discussion, and sharing what you've built
- Issues — Report bugs or request features
- Discussions — GitHub Discussions for questions and ideas
We welcome contributions! See CONTRIBUTING.md for guidelines.
Quick start for contributors:
git clone https://github.com/joewinke/jat.git ~/code/jat
cd ~/code/jat/ide
npm install && npm run devOpen a PR against master. All contributions are licensed under MIT.
- Joe Winke — Creator Github
- Agent Mail — Agent Comms (Dicklesworthstone/mcp_agent_mail)
- Beads — Task management (steveyegge/beads)
- Mario Zechner — Think different about Agents (What if you don't need MCP?)
- Andrej Karpathy - Naming the Problem (Some Powerful Alien Tool)
- DHH - Developer-centric OS (Omarchy)
- Tmux - Terminal Multiplexer by (Nicholas Marriott)
- Monaco — Code editor engine (Microsoft)
- SvelteKit — IDE framework (Rich Harris)
- Tailwind CSS — Utility-first CSS (Adam Wathan)
- DaisyUI — Component library (Pouya Saadeghi)
- Git — Version control (Linus Torvalds)
- simple-git — Node.js Git wrapper (Steve King)
- D3.js — Data visualization (Mike Bostock)
- Vite — Build tool (Evan You)
- SQLite — Embedded database (D. Richard Hipp)
- TypeScript — Type safety (Anders Hejlsberg)
- Claude — Wrote a lot of the code (Anthropic)
MIT - This is my gift to all the great's who haved gifted so much to all of us. If you use this software, use it to make something you give back to open-source.
JAT: Supervise the swarm. Ship continuously.