repartee

A modern terminal IRC client built with Ratatui, Tokio, and Rust. Inspired by irssi, designed for the future.

Demo

Repartee Demo

TUI (left) | Mobile web (center) | Desktop web (right) — 1:1 state sync across all interfaces.

Features

Full IRC Protocol
Channels, queries, CTCP, SASL, TLS, channel modes, ban lists — the complete IRC experience.
irssi-style Navigation
Esc+1–9 window switching, /commands, aliases. If you know irssi, you already know repartee.
Mouse Support
Click buffers and nicks, drag to resize side panels. Terminal client, modern interaction.
Netsplit Detection
Batches join/part floods into single events so your scrollback stays readable.
Flood Protection
Blocks CTCP spam and nick-change floods from botnets automatically.
Persistent Logging
SQLite with optional AES-256-GCM encryption and FTS5 full-text search across all logs.
Nick Coloring
Deterministic per-nick colors (WeeChat-style). HSL hue wheel for truecolor, 256-color and 16-color fallbacks. Auto-detected terminal capability, configurable saturation/lightness.
Theming
irssi-compatible format strings with 24-bit color support and custom abstracts.
Lua Scripting
Lua 5.4 scripts with an event bus, custom commands, and full IRC/state access.
Spell Checking
Multilingual inline spell checking with Hunspell dictionaries and a 7,400-word computing/IT dictionary. Replace and highlight modes, Tab cycles suggestions.
IRCv3 Capabilities
Full IRCv3 suite: server-time, echo-message, away-notify, account tags, BATCH netsplit grouping, SASL SCRAM-SHA-256, and more.
Extended Bans
WHOX account tracking and extban support — ban by account name with /ban -a accountname.
Web Frontend
Built-in HTTPS web UI with mobile support. Real-time bidirectional sync with the terminal — switch buffers, send messages, see nick changes live.
DCC CHAT
Direct client-to-client messaging with active and passive (reverse) connections, auto-accept masks, and nick tracking.
Embedded Shell
Full PTY terminal inside Repartee — run vim, btop, irssi, or any command without leaving the client. Available in TUI and web (beamterm WebGL2 renderer with Nerd Font, mouse selection, font resize).
Detach & Reattach
Detach from your terminal and reattach later — IRC connections stay alive. Like tmux, built in.
Single Binary
Compiles to a ~15MB standalone executable with WASM web frontend bundled. Zero runtime dependencies.
Written in Rust
Memory-safe, zero-cost abstractions, fearless concurrency. Built on tokio async runtime.

Quick Install

cargo install repartee
repartee

That's it. No build steps, no configuration required. Connect to a server with /server add and you're chatting.

New to repartee? Start with the Installation guide.