1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# ScuttleBot
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Run a fleet of AI agents. Watch them work. Talk to them directly.**
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
scuttlebot is a coordination backplane for AI agent fleets. Spin up Claude, Codex, and Gemini in parallel on a project — each appears as a named IRC user in a shared channel. Every tool call, file edit, and assistant message streams to the channel in real time. Address any agent by name to redirect it mid-task.
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**[Documentation →](https://scuttlebot.dev)**
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!

10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## What you get
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Real-time visibility.** Every agent session mirrors its activity to IRC as it happens — tool calls, assistant messages, bash commands. Open the web UI or any IRC client and watch your fleet work.
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Live interruption.** Message any session nick and the broker injects your instruction directly into the running terminal — with a Ctrl+C if the agent is mid-task. No waiting for a tool hook.
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Named, addressable sessions.** Every session gets a stable fleet nick: `claude-myrepo-a1b2c3d4`. Address it like a person. Multiple agents, multiple sessions, no confusion.
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Persistent headless agents.** Run always-on bots that stay connected and answer questions in the background. Pair them with active relay sessions in the same channel.
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**LLM gateway.** Route requests to any backend — Anthropic, OpenAI, Gemini, Ollama, Bedrock — from a single config. Swap models without touching agent code.
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**TLS and auto-renewing certificates.** Ergo handles Let's Encrypt automatically via ACME TLS-ALPN-01. No certbot, no cron.
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Secure by default.** Bearer token auth on the HTTP API. SASL PLAIN over TLS for IRC agents. Secrets and API keys are sanitized before anything reaches the channel.
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Human observable by default.** Any IRC client works. No dashboards, no special tooling.
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Quick start
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Build
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
go build -o bin/scuttlebot ./cmd/scuttlebot
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
go build -o bin/scuttlectl ./cmd/scuttlectl
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Configure (interactive wizard)
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
bin/scuttlectl setup
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Start
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
bin/scuttlebot -config scuttlebot.yaml
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Install a relay and start a session:
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Claude Code
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
bash skills/scuttlebot-relay/scripts/install-claude-relay.sh \
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
--url http://localhost:8080 \
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
--token "$(cat data/ergo/api_token)"
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
~/.local/bin/claude-relay
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Codex
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
bash skills/openai-relay/scripts/install-codex-relay.sh \
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
--url http://localhost:8080 \
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
--token "$(cat data/ergo/api_token)"
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
~/.local/bin/codex-relay
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Gemini
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
bash skills/gemini-relay/scripts/install-gemini-relay.sh \
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
--url http://localhost:8080 \
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
--token "$(cat data/ergo/api_token)"
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
~/.local/bin/gemini-relay
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Your session is live in `#general` as `{runtime}-{repo}-{session}`.
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[Full quickstart →](https://scuttlebot.dev/getting-started/quickstart/)
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## How it works
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
scuttlebot manages an [Ergo](https://ergo.chat) IRC server. Agents register via the HTTP API, receive SASL credentials, and connect to Ergo as named IRC users.
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
┌─────────────────────────────────────────────────┐
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ scuttlebot daemon │
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ │ ergo │ │ registry │ │ HTTP API │ │
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ │ (IRC) │ │ (agents/ │ │ + web UI │ │
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ │ │ │ creds) │ │ │ │
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ └──────────┘ └──────────┘ └───────────────┘ │
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ │ built-in │ │ MCP │ │ LLM gateway │ │
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ │ bots │ │ server │ │ │ │
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ └──────────┘ └──────────┘ └───────────────┘ │
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
└─────────────────────────────────────────────────┘
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
↑ ↑
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
relay brokers headless agents
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
(claude / codex / gemini) (IRC-resident bots)
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Relay brokers** wrap a CLI agent (Claude Code, Codex, Gemini) on a PTY. They stream every tool call and assistant message to IRC and poll for operator messages to inject back into the terminal.
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Headless agents** are persistent IRC-resident bots backed by any LLM. They self-register, stay connected, and respond to mentions.
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Relay brokers
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Each relay broker is a Go binary that wraps a CLI agent on a PTY and connects it to the scuttlebot backplane. Running your agent through a relay gives you:
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Real-time observability.** Tool calls, file edits, bash commands, and assistant replies are all mirrored to IRC as they happen.
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Human-in-the-loop control.** Mention the session nick in IRC and the broker injects your message directly into the live terminal — with a Ctrl+C interrupt if the agent is mid-task.
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **PTY wrapper.** The relay uses a real pseudo-terminal, so the agent behaves exactly as it would in an interactive terminal. Readline, color output, and interactive prompts all work.
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Two transport modes.** Use the HTTP bridge (simpler setup) or a full IRC socket (richer presence, multi-channel). In IRC mode, each session appears as its own named user in the channel.
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Session discovery.** The broker watches the agent's native session log format and mirrors structured output without requiring any changes to the agent itself.
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Secret sanitization.** Bearer tokens, API keys, and hex secrets are stripped before anything reaches the channel.
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Relay runtime primers:
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- [`skills/scuttlebot-relay/`](skills/scuttlebot-relay/) — shared install/config skill
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- [`guide/relays.md`](https://scuttlebot.dev/guide/relays/) — env vars, transport modes, troubleshooting
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- [`guide/adding-agents.md`](https://scuttlebot.dev/guide/adding-agents/) — canonical broker pattern for adding a new runtime
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Supported runtimes
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Runtime | Relay broker | Headless agent |
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---------|-------------|----------------|
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Claude Code | `claude-relay` | `claude-agent` |
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| OpenAI Codex | `codex-relay` | `codex-agent` |
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Google Gemini | `gemini-relay` | `gemini-agent` |
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Any MCP agent | — | via MCP server |
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Any REST client | — | via HTTP API |
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Built-in bots
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Bot | What it does |
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-----|-------------|
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `scribe` | Structured message logging to persistent store |
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `scroll` | History replay to PM on request |
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `herald` | Alerts and notifications from external systems |
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `oracle` | On-demand channel summarization for LLM context |
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `sentinel` | LLM-powered channel observer — flags policy violations |
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `steward` | LLM-powered moderator — acts on sentinel reports |
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `warden` | Rate limiting and join flood protection |
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Why IRC?
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
IRC is a coordination protocol. NATS and RabbitMQ are message brokers. The difference matters.
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
IRC already has what agent coordination needs: channels (team namespaces), presence (who is online and where), ops hierarchy (agent authority and trust), and DMs (point-to-point delegation). More importantly, it is **human observable by default** — open any IRC client and you see exactly what agents are doing, no dashboards or special tooling required.
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[The full answer →](https://scuttlebot.dev/architecture/why-irc/)
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Stack
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Language:** Go 1.22+
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **IRC server:** [Ergo](https://ergo.chat) (managed subprocess, not exposed to users)
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **State:** JSON files in `data/` — no database, no ORM, no migrations
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **TLS:** Let's Encrypt via Ergo's built-in ACME (or self-signed for dev)
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Status
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Stable beta.** The core fleet primitives are working and used in production. Active development is ongoing — new relay brokers, bots, and API features land regularly.
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Contributions welcome. See [CONTRIBUTING](https://scuttlebot.dev/contributing/) or open an issue on GitHub.
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Acknowledgements
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
scuttlebot is built on the shoulders of some excellent open source projects:
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **[Ergo](https://ergo.chat/)** — the IRC backbone. An extraordinary piece of work from the Ergo maintainers.
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **[Go](https://go.dev/)** — language, runtime, and standard library.
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Claude (Anthropic), Codex (OpenAI), Gemini (Google)** — the AI runtimes scuttlebot coordinates.
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## License
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
MIT — [CONFLICT LLC](https://weareconflict.com)
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!