|
| 1 | +# ESPHome Documentation AI Collaboration Guide |
| 2 | + |
| 3 | +This document provides context for AI models interacting with this project. |
| 4 | +Adhering to these guidelines will promote consistency and content quality. |
| 5 | + |
| 6 | +## Project Overview & Purpose |
| 7 | + |
| 8 | +* **Primary Goal:** ESPHome is a system to configure microcontrollers (like ESP32, ESP8266, RP2040, and LibreTiny-based chips) |
| 9 | + using simple yet powerful YAML configuration files. It generates C++ firmware that can be compiled and flashed to |
| 10 | + these devices, allowing users to control them remotely through home automation systems. |
| 11 | + |
| 12 | + This repo is the source for the primary documentation for users of ESPHome, published on [esphome.io](https://esphome.io). |
| 13 | +* **Business Domain:** Internet of Things (IoT), Home Automation. |
| 14 | + |
| 15 | +## Core Technologies & Stack |
| 16 | + |
| 17 | +* **Languages:** HTML, CSS, Markdown, Go templates |
| 18 | +* **Frameworks & Runtimes:** Hugo and Pagefind |
| 19 | +* **Key Libraries/Dependencies:** |
| 20 | + * **Hugo:** For building the static site. |
| 21 | + * **Pagefind:** For client-side text searching |
| 22 | + |
| 23 | +## Architectural Patterns |
| 24 | + |
| 25 | +See the README.md file. |
| 26 | + |
| 27 | +## Branches |
| 28 | + |
| 29 | +* **Current** |
| 30 | + The `current` branch represents the published documentation in sync with the latest ESPHome release. |
| 31 | + PRs may be raised against this where they contain documentation revisions only. |
| 32 | +* **Next** |
| 33 | + The `next` branch is where changes are made via PR corresponding to new features in the ESPHome code repo |
| 34 | + (esphome/esphome). When a release is made this branch is merged into current. |
| 35 | + |
| 36 | +## Development & Testing Workflow |
| 37 | + |
| 38 | +See the README.md file |
| 39 | + |
| 40 | +## Contribution Workflow (Pull Request Process) |
| 41 | +1. **Fork:** Fork the repository. |
| 42 | +1. **Branch:** Create a new branch in your fork from the appropriate base branch (`current` or `next`.) |
| 43 | +1. **Make Changes:** Adhere to all coding conventions and patterns. |
| 44 | +1. **Test:** Use the `make live-html` command to invoke hugo in server mode for instant preview. |
| 45 | +1. **Commit:** Commit your changes. There is no strict format for commit messages. |
| 46 | +1. **Pull Request:** Submit a PR against the base branch. The Pull Request title should have a prefix of the component being worked on (e.g., `[display] Add new examples`, `[abc123] Add new component`). Pull requests should always be made with the PULL_REQUEST_TEMPLATE.md template filled out correctly. |
| 47 | + |
| 48 | +## Guidelines for AI generated reviews and PR summaries |
| 49 | + |
| 50 | +Avoid the use of flowery language and weasel-words that add no useful content; Keep comments concise and technically |
| 51 | +accurate - you are not writing a press release. |
| 52 | +For example instead of "Created comprehensive documentation with configuration examples and setup instructions" |
| 53 | +it is sufficient to say "Created documentation with examples and instructions". |
| 54 | + |
| 55 | + |
0 commit comments