Contributing to TendrilGrow¶
Thanks for helping improve TendrilGrow.
Before you start¶
- Read
README.mdfor product context and architecture. - Review open issues before starting new work.
- For substantial changes, open an issue first to align scope.
Development setup¶
TendrilGrow targets Python 3.13+ and the current Home Assistant release.
python3 -m venv .venv
./.venv/bin/python -m pip install --upgrade pip
./.venv/bin/pip install -r requirements-test.txt
Run the same checks CI runs before pushing:
Workflow¶
- Create a topic branch from
main. - Make focused commits with clear messages.
- Run checks locally:
- Open a Pull Request with:
- Problem statement
- Scope and implementation summary
- Validation evidence (tests/screenshots/log snippets)
Pull request standards¶
- Keep PRs small and focused.
- Add or update tests for behavior changes.
- Update docs for user-visible changes.
- Do not include secrets, real API keys, or private URLs.
Coding standards¶
- Follow existing integration patterns and naming.
- Prefer explicit typing and small functions.
- Preserve backward compatibility where possible.
- Use redaction-safe logging for sensitive fields.
OpenSpec workflow¶
This repository uses OpenSpec for planning and implementation tracking.
- Propose changes first when introducing non-trivial behavior.
- Keep tasks/specs synchronized with implemented changes.
Commit and PR conventions¶
- This project follows Conventional Commits
(for example,
feat(sensor): ...,fix(config): ...,docs: ...). - Keep PRs small and focused, and fill in the pull request template.
- Add or update tests for behavior changes, and update docs for user-visible changes.
Documentation¶
User-facing docs live under docs/ and are built with MkDocs Material. Preview
locally with:
Reporting bugs¶
Please include:
- Home Assistant version
- TendrilGrow version
- Integration configuration context (without secrets)
- Reproduction steps
- Expected vs actual behavior
- Relevant logs
Code of Conduct¶
By participating, you agree to CODE_OF_CONDUCT.md.