You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+20-8Lines changed: 20 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,22 +4,30 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
4
4
5
5
## Project Overview
6
6
7
-
discli is a Discord CLI for AI agents and humans — a Python command-line tool for managing Discord servers, messages, reactions, threads, DMs, and events from the terminal. Published on PyPI as `discord-cli-agent`.
7
+
discli is a Discord CLI for AI agents and humans — a Python command-line tool for managing Discord servers, messages, reactions, threads, DMs, events, voice audio, and rich interactive components (modals, workflows, dashboards) from the terminal. Published on PyPI as `discord-cli-agent`.
8
8
9
9
## Commands
10
10
11
+
This project uses [uv](https://docs.astral.sh/uv/) for dependency management.
12
+
11
13
```bash
12
-
# Install (editable, with dev deps)
13
-
pip install -e ".[dev]"
14
+
# Install (editable, with dev deps) — creates .venv/ automatically
-`interact_engine.py` — InteractEngine for modals, workflows, and dashboards with interaction routing and state management
48
+
-`tts.py` — TTS provider protocol with ElevenLabs and OpenAI implementations
49
+
-`stt.py` — STT provider protocol with Deepgram and OpenAI Whisper implementations
38
50
39
51
**Command pattern:** Each module in `commands/` defines Click commands, takes an async action function, and calls `run_discord(ctx, action)`. Follow existing modules when adding new commands.
40
52
41
-
**`serve` command (commands/serve.py):** The largest module (~1100 lines). Runs a persistent bot with bidirectional JSONL over stdin/stdout. Features: event forwarding, action dispatch (send/reply/edit/delete/stream/typing/reactions/threads/polls/channels/members/roles/DMs), slash command registration, streaming message edits with periodic flush, Windows-compatible stdin reading via threading.
53
+
**`serve` command (commands/serve.py):** The largest module (~1200 lines). Runs a persistent bot with bidirectional JSONL over stdin/stdout. Features: event forwarding, action dispatch (send/reply/edit/delete/stream/typing/reactions/threads/polls/channels/members/roles/DMs), voice actions (connect/speak/play/listen/etc.), interactive actions (workflows, dashboards), slash command registration, streaming message edits with periodic flush, Windows-compatible stdin reading via threading.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,13 @@ Thanks for your interest in contributing!
4
4
5
5
## Development Setup
6
6
7
+
This project uses [uv](https://docs.astral.sh/uv/) for dependency management. Install it first if you don't have it: see https://docs.astral.sh/uv/#installation.
0 commit comments