# Project Rules This file defines repository-specific working rules for future development. ## Workflow Rules - Never upload or push firmware to the board. - The user always performs hardware flashing manually. - Local compilation is allowed to verify code validity. ## Architecture Rules - Prefer a simple module structure. - Keep UI/navigation behavior separate from screen content. - The carousel or screen-switching logic must be agnostic to the specific data shown on each screen. - Keep external data integrations in their own modules. - Weather API access should live in a dedicated module rather than inside display or navigation code. - Keep hardware access, display rendering, navigation logic, and data fetching cleanly separated. ## Design Intent Examples of the intended separation: - A display carousel module manages which screen is active. - Individual screen modules decide how their own content is rendered. - Sensor modules handle sensor reads and related formatting inputs. - Network/data modules fetch and prepare remote data such as weather or time. The goal is to keep the codebase easy to extend without tightly coupling unrelated responsibilities.