# Development Guidelines ## Project Overview This is a personal agenda web application built with Flask that tracks various events and important dates: - Events: birthdays, holidays, travel itineraries, conferences, waste collection schedules - Space launches, meteor showers, astronomical events - Financial information (FX rates, stock market) - UK-specific features (holidays, waste collection, railway schedules) - Authentication via UniAuth - Frontend uses Bootstrap 5, Leaflet for maps, FullCalendar for calendar views ## Python Environment - Always use `python3` directly, never `python` - Run `black` code formatter on modified code after creating or modifying Python files - Avoid running `black .` - Main entry point: `python3 web_view.py` (Flask app on port 5000) - Tests: Use `pytest` (tests in `/tests/` directory) ## Project Structure - `agenda/` - Main Python package with modules for different event types - `web_view.py` - Flask web application entry point - `templates/` - Jinja2 HTML templates - `static/` - CSS, JS, and frontend assets - `config/` - Configuration files - `personal-data/` - User's personal data (not in git) ## Git Workflow - Avoid committing unrelated untracked files (e.g., `node_modules/`, build artifacts) - Only commit relevant project files - Personal data directory (`personal-data/`) is excluded from git