Imported from girishkvs/constraining-agent-procedures (
corpus/make-all/tuya-local/AGENTS.md). Install upstream withnpx skills add girishkvs/constraining-agent-procedures --skill tuya-local. Copyright stays with the author.
Instructions for autonomous agents
Development environment
- This project is a Home Assistant integration.
- The source languages are Python, YAML and JSON
- Use
pip install -r requirements-dev.txtto install dependencies
Coding standards
- Python files should be checked with
ruff check,ruff check --select -I - Python files should be formatted consistently with
ruff format - YAML files should be checked with yamllint
- YAML files should be located in the custom_components/tuya_local/devices folder
- Python files implementing the HA integration should be located in custom_components/tuya_local and its subfolders, with unit tests in tests and its subfolders.
- JSON files for translations should be located in the custom_components/tuya_local/translations folder.
- Icons should be defined in custom_components/tuya_local/icons.json, and use icons from the material design icons at https://pictogrammers.com/library/mdi/
- Where possible, new devices should use existing translation_keys which are present in custom_components/tuya_local/translations/*.json and custom/components/tuya_local/icons.json
- if new translation_keys are added, they should be generic, not device specific, and translations should be added to all files in custom_components/tuya_local/translations and relevant icons to custom_components/tuya_local/icons.json
Testing instructions
- Find the CI plan in the .github/workflows folder
- Ignore the .github/workflows/hacs-validate.yml workflow if not running from the main repository at https://github.com/make-all/tuya-local
- run
pytestto run every test defined for the project - run
pytest tests/test_device_config.pyto test only yaml file changes or additions - run
pytest tests/test_translations.pyto test only json file changes or additions - do not add new tests if only making a yaml or json file change
- add new tests if making a python file change that introduces new functionality
- fix any test or lint failures until the whole test suite passes
PR instructions
- Always run
ruff check .,ruff check --select -I .,ruff format --check .andyamllint custom_components/tuya_local/devicesbefore committing
