╔───────────────────────────────────────────╗
│ │
│ __ ___ .___________. │
│ | | / \ | | │
│ | | / ^ \ `---| |----` │
│ .--. | | / /_\ \ | | │
│ | `--' | / _____ \ | | │
│ \______/ /__/ \__\ |__| │
│ │
│ ◇ 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:
┌─────────────────────────────────────────────────────────────┐
│ ⎇ main ↑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.svelte [+] [↻] │
├─────────────────────────────────────────────────────────────┤
│ [↑ 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.
- @joewinke — Creator
- 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, Microsoft)
- Claude — Wrote a lot of the code (Anthropic)
MIT
JAT: Supervise the swarm. Ship continuously.