# Qwen Code Agent Configuration This file configures the behavior and preferences for the Qwen Code agent for this specific project. ## Project Context - **Name**: CrossFit Scheduler - **Primary Language**: Python - **Key Technologies**: Python scripts, JSON, Docker - **Purpose**: Automates booking CrossFit classes based on user preferences. ## Agent Interaction Preferences ### Code Style & Conventions - Follow PEP 8 for Python code. - Use clear, descriptive variable and function names. - Prefer explicit over implicit code. - Use docstrings for modules, classes, and functions. - Keep functions small and focused on a single task. ### Project Structure Awareness - `main.py`: Entry point for the application. - `execute_book_session.py`: Alternative execution script for booking sessions. - `preferred_sessions.json`: User preferences for session booking. - `src/`: Directory for source code modules. - `auth.py`: Authentication handling with bearer token management. - `booker.py`: Main booking logic with time-based booking windows. - `session_manager.py`: Session fetching, filtering, and booking operations. - `session_notifier.py`: Email and Telegram notifications for booking status. - `session_config.py`: Configuration for preferred session matching. - `test_book_session.sh`: Shell script for testing session booking. - `requirements.txt`: Python dependencies. - `Dockerfile` and `docker-compose.yml`: Container configuration. ### Preferred Tools & Commands - Use `pytest` for running tests. - Use `docker compose` for container orchestration. - Use `python` for running scripts. - Refer to `requirements.txt` for dependencies. ### Communication Style - Be concise and direct. - Use markdown for formatting responses. - Prioritize clarity and correctness. - Avoid unnecessary explanations or chit-chat. ### Testing & Verification - Always run tests after making changes. - Use `pytest.ini` for test configuration. - Ensure Docker containers are properly configured before running. - Verify JSON files are correctly formatted. ### Security & Best Practices - Never commit sensitive information like passwords or API keys. - Use `.env` files for environment variables. - Follow Docker best practices for containerization. - Keep dependencies up to date. ## Custom Instructions - When modifying `preferred_sessions.json`, ensure the structure remains valid. - When writing shell scripts, ensure they are executable and follow best practices. - When creating new Python files, ensure they are properly formatted and tested. - Environment variables required: `CROSSFIT_USERNAME`, `CROSSFIT_PASSWORD`, plus optional email/telegram settings. - Booking window controlled by `TARGET_RESERVATION_TIME` (default: "20:01") and `BOOKING_WINDOW_END_DELTA_MINUTES` (default: 10).