Files
ANewDawn/.github/copilot-instructions.md

37 lines
2.0 KiB
Markdown

# Custom Instructions for GitHub Copilot
## Project Overview
This is a Python project named ANewDawn. It uses Docker for containerization (`Dockerfile`, `docker-compose.yml`). Key files include `main.py` and `settings.py`.
## Development Environment
- **Operating System:** Windows
- **Default Shell:** PowerShell (`pwsh.exe`). Please generate terminal commands compatible with PowerShell.
## Coding Standards
- **Linting & Formatting:** We use `ruff` for linting and formatting. Adhere to `ruff` standards. Configuration is in `.github/workflows/ruff.yml` and possibly `pyproject.toml` or `ruff.toml`.
- **Python Version:** 3.13
- **Dependencies:** Managed using `uv` and listed in `pyproject.toml`. Commands include:
- `uv run pytest` for testing.
- `uv add <package_name>` for package installation.
- `uv sync --upgrade` for dependency updates.
- `uv run python main.py` to run the project.
## General Guidelines
- Follow Python best practices.
- Write clear, concise code.
- Add comments only for complex logic.
- Ensure compatibility with the Docker environment.
- Use `uv` commands for package management and scripts.
- Use `docker` and `docker-compose` for container tasks:
- Build: `docker build -t <image_name> .`
- Run: `docker run <image_name>` or `docker-compose up`.
- Stop/Remove: `docker stop <container_id>` and `docker rm <container_id>`.
## Discord Bot Functionality
- **Chat Interaction:** Responds to messages containing "lovibot" or its mention (`<@345000831499894795>`) using the OpenAI chat API (`gpt-4o-mini`). See `on_message` event handler and `misc.chat` function.
- **Slash Commands:**
- `/ask <text>`: Directly ask the AI a question. Uses `misc.chat`.
- **Context Menu Commands:**
- `Enhance Image`: Right-click on a message with an image to enhance it using OpenCV methods (`enhance_image1`, `enhance_image2`, `enhance_image3`).
- **User Restrictions:** Interaction is limited to users listed in `misc.get_allowed_users()`. Image creation has additional restrictions.