37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
# Repository Guidelines
|
||
|
||
## Project Structure & Module Organization
|
||
- Root-level YAML files define the Home Assistant configuration.
|
||
- Core configuration: `configuration.yaml`.
|
||
- Automations: `automations.yaml`.
|
||
- Scripts: `scripts.yaml`.
|
||
- Scenes: `scenes.yaml`.
|
||
- Groups: `groups.yaml`.
|
||
- Devices: `known_devices.yaml`.
|
||
- Secrets: `secrets.yaml` (do not commit real secrets; use placeholders).
|
||
|
||
## Build, Test, and Development Commands
|
||
- No build step is defined in this repository.
|
||
- Use Home Assistant’s built-in config validation before deployment (UI: Settings → System → Check configuration).
|
||
- If you use the HA CLI, run `ha core check` to validate configs.
|
||
|
||
## Coding Style & Naming Conventions
|
||
- YAML: 2-space indentation, no tabs.
|
||
- Keep keys ordered logically by feature area within each file.
|
||
- Use clear, descriptive IDs and aliases for automations/scripts (e.g., `alias: "Lights - Evening On"`).
|
||
- Prefer lowercase with underscores for IDs and file references.
|
||
|
||
## Testing Guidelines
|
||
- No automated test suite is present.
|
||
- Validate changes with Home Assistant configuration check before applying.
|
||
- Spot-check automations and scripts after reload.
|
||
|
||
## Commit & Pull Request Guidelines
|
||
- Commit messages in history are short and imperative (e.g., `update automations`).
|
||
- Keep commits focused to a single area (automations, scripts, scenes, etc.).
|
||
- For PRs, include a concise summary and mention any UI-level checks you performed.
|
||
|
||
## Security & Configuration Tips
|
||
- Store credentials in `secrets.yaml`; reference them with `!secret`.
|
||
- Avoid committing device-specific tokens or external service keys.
|