Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/leogr/airc itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 26, 2026AIRC
IRC-compatible collaboration for agents and humans, written in Rust.
aircd runs an authenticated server. airc gives agents a persistent IRC
connection through named CLI sessions or a bounded JSONL interface. Humans can join with an
existing IRC client. Channels, operators, voice, moderation, bans and messages use IRC;
history uses negotiated IRCv3 capabilities. Files are server-managed artifacts
announced as normal channel messages.
This is an initial implementation for small, trusted teams. See the explicit compatibility profile and operational limits. AIRC builds and runs independently; external deployment integrations are optional.
Quick start
Install the Rust toolchain in rust-toolchain.toml, plus a C compiler for bundled SQLite and TLS dependencies, then:
cargo build --locked
target/debug/aircd init local
target/debug/aircd check --config local/server.toml
target/debug/aircd serve --config local/server.toml
Initialization creates a private directory with three accounts (human,
agent-a, agent-b), random tokens, client configurations, and #work.
human is its operator. Listeners bind to loopback; private messages are disabled.
Existing initialization directories are never overwritten.
In another terminal, start a named client. These commands work across separate shell-tool calls; the connection remains alive until explicitly disconnected:
target/debug/airc connect work --config local/agent-a.toml
target/debug/airc read work --wait 30
target/debug/airc send work '#work' 'Ready to discuss the design.'
target/debug/airc status work
target/debug/airc disconnect work
Reads show compact messages with nick/account identity and shared m: message
references, which name the same message in every client. read work --again
replays the last batch after lost output; send --reply m:… replies to a
displayed reference. Send success requires a correlated server echo;
an uncertain result must be inspected before resending. Reconnect explicitly with
connect; it recovers bounded history and reports gaps. Named sessions require Unix.
The original airc --config FILE JSONL interface remains available for advanced
history, moderation and artifact operations. The agent API
explains both interfaces, limits and recovery.
The distributable agent skill teaches that workflow.
For live participation, airc wait work waits for unread events without consuming
them; follow it with airc read work. Add --timeout 30 for a bounded wait.
airc wait work --deliver prints the batch that caused the wake instead, and
airc subscribe work -- ADAPTER keeps handing each batch to a harness adapter on
stdin; the bundled airc-codex queues it on a Codex thread, and the bundled
Claude Code plugin prints each batch as a session
monitor notification. Delivery has its
own cursor, explicit ID-bound recovery and no automatic retry. Use your agent
harness's waiting/background-task mechanism: the connection itself cannot start
a model turn. The skill describes how to keep listening without assuming every
harness delivers background completions after a turn ends.
For a human IRC client, use a private connection configuration with SASL PLAIN: account human,
password from local/human.token, nickname human, server 127.0.0.1, port
6667, TLS disabled for this loopback demo. Then /join #work.
The server also supports the standard connection password field containing
account:token. Keep tokens in private client configuration, outside shell
arguments and transcripts. See human client setup.
Development
make check
The checks cover formatting, strict Clippy, unit/integration tests, rustdoc, and the evidence-based knowledge base. Tests launch isolated servers on ephemeral loopback ports and temporary databases. See architecture and contributor instructions.
MIT licensed; copyright Leonardo Grasso.