From 4bb4fec2c51165aa809591272c1ba7e38f5d82dc Mon Sep 17 00:00:00 2001 From: esefxdz Date: Wed, 22 Jul 2026 19:28:04 +0300 Subject: [PATCH] gitignore: add _get_id.py and AGENTS.md, untrack AGENTS.md --- .gitignore | 5 ++++ AGENTS.md | 69 ------------------------------------------------------ 2 files changed, 5 insertions(+), 69 deletions(-) delete mode 100644 AGENTS.md diff --git a/.gitignore b/.gitignore index 763f57c..cc52313 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,10 @@ __pycache__/ ssh_update.py ssh_*.py blue_archive/ba_students.json +_get_id.py +AGENTS.md firebase-service-account.json firebase_service_account.json +**/.codewhale/* +!**/.codewhale/constitution.json +.deepseek/ diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index 36faa3f..0000000 --- a/AGENTS.md +++ /dev/null @@ -1,69 +0,0 @@ -# Repository Guidelines - -## Project Structure & Module Organization - -``` -yuuka/ -├── main.py # Bot entry point, cog loader, bridge initialization -├── cogs/ # Discord command modules (general, sysinfo, gifs, etc.) -├── ai/ # AI roleplay integration (DeepSeek API, per-channel personas) -│ └── personalities/ # Character prompt files -├── music/ # Music playback subsystem (wavelink + yt-dlp + ffmpeg) -│ ├── player/ # Playback commands, events, queue management -│ ├── radio/ # Internet radio streaming -│ └── shared/ # Constants, shared state, utilities -├── tgbridge/ # Telegram ↔ Discord two-way message forwarding -├── twitterbridge/ # Twitter/X RSS feed → Discord webhook relay -├── rio/ # SSH connection utilities -├── data/ # Runtime persistence files (gitignored) -├── gifs/ # GIF assets (gitignored) -└── credentials_test.env # Environment variable template -``` - -Each cog is a self-contained `commands.Cog` subclass loaded in `main.py`. Bridge components run as background `asyncio` tasks. - -## Build, Test, and Development Commands - -This is a personal bot with no formal build system. Run it directly: - -```bash -python main.py -``` - -- Copy `credentials_test.env` → `credentials.env` and fill in your tokens. -- There is no test suite. Test by running the bot locally and using `!`-prefixed commands in a Discord server. - -## Coding Style & Naming Conventions - -- **Language**: Python 3.12+ -- **Indentation**: 4 spaces -- **Naming**: `snake_case` for files, variables, and functions; `PascalCase` for classes; `UPPER_CASE` for constants -- **Cogs**: One class per file in `cogs/`, subclassing `commands.Cog`, loaded via `await bot.load_extension('cogs.')` -- **Music subpackage**: Uses mixin-based composition — `Music` inherits from several command/event mixins -- **Async**: All I/O uses `async`/`await`; bridge tasks run with `asyncio.create_task()` -- No linter or formatter is currently configured - -## Testing Guidelines - -No formal test framework is in place. When adding or changing features, validate manually: - -1. Start the bot locally with a test Discord token. -2. Exercise each affected command in a private server. -3. For music/radio, test with different stream types (YouTube, direct audio URLs, radio streams). -4. For bridges, confirm messages flow correctly in both directions. -5. Check the console for unhandled exceptions — the `logging` level is `INFO`. - -## Commit & Pull Request Guidelines - -This is a personal repository with informal conventions: - -- **Commit messages**: Short, lowercase, imperative mood (e.g., `fix radio race conditions`, `add radio mode`). No strict format is enforced. -- **Branches**: Work directly on `master` or use short-lived feature branches. -- **PRs**: Not used — the project is single-contributor. -- **Before committing**: Ensure the bot starts without import errors and any changed cogs load successfully. - -## Environment & Secrets - -- Store secrets in `credentials.env` (gitignored). The template is `credentials_test.env`. -- Required: `DISCORD_TOKEN`, `OWNER_ID`. Optional: `TELEGRAM_BOT_TOKEN`, `TWITTER_RSS_URL`, `DEEPSEEK_API`, and webhook URLs. -- The bot is managed as a `systemd` service on Arch Linux and updated via `git pull` over SSH (the `!gitpull` cog handles remote updates).