Files
crossfit/AGENTS.md

2.7 KiB

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).