repartee 0.1.0

A modern terminal IRC client built with Ratatui and Tokio
# First Connection

## Quick start

After installing repartee, launch it:

```bash
repartee
```

You'll see the main UI with a status buffer. Let's connect to an IRC network.

## Add a server

Edit `~/.repartee/config.toml` (created on first run) and add a server:

```toml
[servers.libera]
label = "Libera"
address = "irc.libera.chat"
port = 6697
tls = true
autoconnect = true
channels = ["#repartee"]
```

Or use the `/server` command at runtime:

```
/server add libera irc.libera.chat
/server connect libera
```

## Join channels

Once connected, join channels with:

```
/join #channel
/join #secret mykey
```

Channels listed in your config's `channels` array are joined automatically on connect.

## Cycle a channel

To refresh your presence in a channel (part + rejoin), use:

```
/cycle
/cycle #channel
/cycle Refreshing...
```

## Navigation

- **Esc + 1–9** — switch between buffers (windows)
- **Ctrl+N / Ctrl+P** — next / previous buffer
- **Click** on buffer list or nick list entries
- **Mouse wheel** — scroll chat history
- **Tab** — nick completion
- **Up/Down** — input history

## SASL authentication

For networks that support SASL (Libera Chat, OFTC, etc.), add credentials to `~/.repartee/.env`:

```bash
# ~/.repartee/.env
LIBERA_SASL_USER=mynick
LIBERA_SASL_PASS=hunter2
```

Then in your config:

```toml
[servers.libera]
address = "irc.libera.chat"
port = 6697
tls = true
sasl_user = "mynick"
# sasl_pass loaded from .env
# sasl_mechanism = "SCRAM-SHA-256"  # or PLAIN (default), EXTERNAL
```

Supported SASL mechanisms: **PLAIN**, **EXTERNAL** (client TLS certificate), **SCRAM-SHA-256** (secure challenge-response — preferred when available).

## Next steps

- [Configuration]configuration.html — full config reference
- [Commands]commands.html — all available commands
- [Theming]theming.html — customize colors and layout