diff options
Diffstat (limited to '')
| -rw-r--r-- | AGENTS.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..44be9d5 --- /dev/null +++ b/AGENTS.md | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | # Agent Instructions for Senator Sperma | ||
| 2 | |||
| 3 | ## Required Setup | ||
| 4 | - Requires **Python 3.13** (3.14 not supported - py-cord incompatibility) | ||
| 5 | - System dependencies: `ffmpeg`, `zbar` library (installed system-wide) | ||
| 6 | - Bot token in `.env` file (copy from `.env.example`) | ||
| 7 | |||
| 8 | ## Commands | ||
| 9 | - Run bot: `.venv/bin/python main.py` | ||
| 10 | - Type check: `.venv/bin/basedpyright` | ||
| 11 | - Test: `.venv/bin/pytest` | ||
| 12 | |||
| 13 | ## Architecture | ||
| 14 | - Slash commands defined as cogs in `cogs/*.py` | ||
| 15 | - Discord API uses `discord.ApplicationContext` | ||
| 16 | - Music auto-complete queries copyparty server (`COPYPARTY_URL` config) | ||
| 17 | |||
| 18 | ## Environment | ||
| 19 | - Copyparty URL for read-only access is COPYPARTY_URL | ||
| 20 | - Copyparty URL for write-only access is COPYPARTY_URL_UPLOAD | ||
| 21 | - Above should be accessed using COPYPARTY_PASSWORD as a cookie | ||
| 22 | - Channel for vclogs and alike is STATUS_CHANNEL_ID | ||
| 23 | - Trigger word for assistant is ASSISTANT_KEYWORD | ||
| 24 | |||
| 25 | ## Testing | ||
| 26 | - Tests in `tests/cogs/test_*.py` | ||
| 27 | - Uses pytest-asyncio with `asyncio_default_fixture_loop_scope = function` | ||
| 28 | - `conftest.py` provides fixtures for mocking Discord objects | ||
