This folder contains Abilities contributed by the OpenHome community.
Note: These Abilities are community-maintained and are not officially supported by OpenHome. For official Abilities, see
official/.
-
Copy a template from
templates/into this folder:cp -r templates/basic-template community/your-ability-name
-
Build your Ability — edit
main.py, add aREADME.mdand__init__.py -
Test it in the OpenHome Live Editor
-
Submit a Pull Request against the
devbranch
See CONTRIBUTING.md for the full guide.
Each community Ability should follow this structure:
community/
└── your-ability-name/
├── __init__.py
├── main.py # Your Ability code
└── README.md # Description, trigger words, setup instructions
Before submitting, make sure your Ability:
- Extends
MatchingCapability - Includes
#{{register_capability}}boilerplate - Calls
resume_normal_flow()on every exit path - Has no
print()statements (useeditor_logging_handler) - Has no hardcoded API keys
- All
requests.*()calls include atimeoutparameter - Includes a
README.mdwith description and suggested trigger words - PR targets the
devbranch - Should have run code in Openhome alility editor
- Be respectful in PR reviews and issue discussions
- Don't modify other contributors' Abilities without their consent
- Report bugs via GitHub Issues
- Suggest ideas via Ability Ideas
Outstanding community Abilities can be promoted to the official/ folder. See the Promotion Path section in CONTRIBUTING.md for criteria.