🏘️ Tinytown
Simple multi-agent orchestration using Redis — All the power of complex systems, none of the complexity.
Named after Tinytown, Colorado — a miniature village with big charm.
📚 Read the Documentation | 🚀 Getting Started Guide | 🔄 Coming from Gastown?
What is Tinytown?
Tinytown is a minimal, blazing-fast multi-agent orchestration system that lets you coordinate AI agents with Redis. It's designed for developers who want agent orchestration without the bloat.
Think of it as:
- Gastown, but 100x simpler ✨
- Temporal, but for humans 🧠
- Airflow, but actually fun to use 🎉
Why Tinytown?
| Feature | Tinytown | Complex Systems |
|---|---|---|
| Setup time | 30 seconds | Hours |
| Config files | 1 JSON | 10+ YAML files |
| Core concepts | 5 types | 50+ concepts |
| CLI commands | 13 | 50+ |
| Message latency | <1ms (Unix socket) | 10-100ms |
| Lines of code | ~2,600 | 50,000+ |
📦 Install
Prerequisites: Rust 1.85+ and Redis 8.0+ (or use tt bootstrap below).
🚀 Quick Start
# 0. Bootstrap Redis (one-time setup, uses AI to download & build)
# 1. Initialize a new town (auto-names from git repo+branch)
# Creates town "my-repo-feature-branch"
# 2. Spawn an agent (uses default CLI from config)
# 3. Assign a task
# 4. Or use the conductor - an AI that orchestrates for you
# Conductor: "I'll spawn agents and assign tasks. What do you want to build?"
That's it! Your agents are now coordinating via Redis.
Note:
tt bootstrapdelegates to an AI agent to download Redis from GitHub and compile it for your machine. Alternatively:brew install redis(macOS) orapt install redis-server(Ubuntu).
🏗️ Architecture
Tinytown is built on 6 core concepts:
| Concept | Purpose |
|---|---|
| Conductor 🚂 | AI orchestrator that manages agents and assigns tasks |
| Town 🏘️ | Project workspace with Redis state and agent registry |
| Agent 🤖 | AI workers (Claude, Auggie, Codex, Gemini, Copilot, Aider, Cursor) |
| Task 📋 | Units of work with state tracking |
| Message 💬 | Inter-agent communication with priorities |
| Channel 📡 | Redis-based message passing (<1ms latency) |
┌─────────────────┐
│ Conductor 🚂 │ (You talk to this)
└────────┬────────┘
│ spawns, assigns, coordinates
┌────────▼────────┐
│ Town 🏘️ │
└────────┬────────┘
│
┌────────▼────────────────┐
│ Redis (Unix Socket) │ <1ms latency
└────────┬────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│ Agent1 │ │ Agent2 │ … │ AgentN │
└────────┘ └────────┘ └────────┘
🎮 CLI Commands
| Command | Description |
|---|---|
tt bootstrap [version] |
Download & build Redis (uses AI agent) |
tt init |
Initialize a new town |
tt spawn <name> |
Create a new agent (starts AI process!) |
tt assign <agent> <task> |
Assign a task |
tt list |
List all agents |
tt status [--deep] |
Show town status (--deep for activity) |
tt kill <agent> |
Stop an agent gracefully |
tt inbox <agent> |
Check agent's message inbox |
tt send [--urgent] <agent> <msg> |
Send message to agent |
tt conductor |
🚂 AI orchestrator mode |
tt plan --init |
Create tasks.toml for planning |
tt sync [push|pull] |
Sync tasks.toml ↔ Redis |
tt save |
Save Redis state to AOF (for git) |
tt restore |
Restore Redis state from AOF |
🤖 Supported Agent CLIs
Built-in presets for popular AI coding agents (with correct non-interactive flags):
| CLI | Command |
|---|---|
claude |
claude --print --dangerously-skip-permissions |
auggie |
auggie --print |
codex |
codex exec --dangerously-bypass-approvals-and-sandbox |
aider |
aider --yes --no-auto-commits --message |
gemini |
gemini |
copilot |
gh copilot |
cursor |
cursor |
# Spawn uses default CLI from config (or override)
⚙️ Configuration
Single tinytown.json file:
Setting the Default CLI
Change default_model in tinytown.json to set which AI CLI is used when spawning agents:
Available options: claude, auggie, codex, aider, gemini, copilot, cursor
Or override per-agent:
🎯 Design Philosophy
Simplicity over features. We include only what you need:
✅ Agent spawning & lifecycle
✅ Task assignment & tracking
✅ Redis message passing
✅ Priority queues
❌ No workflow DAGs
❌ No distributed transactions
❌ No complex scheduling
If you need more, add it yourself in 10 lines.
🔧 Redis Installation
Redis 8.0+ is required. Tinytown will check your Redis version on startup.
| Platform | Command |
|---|---|
| macOS | brew install redis |
| Ubuntu/Debian | See Redis downloads |
| Any | tt bootstrap (uses AI to build from source) |
🔧 Development
📄 License
MIT License - see LICENSE for details.
Made with ❤️ by Jeremy Plichta
Tinytown: Simple multi-agent orchestration for humans.