You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 days ago | |
|---|---|---|
| .. | ||
| example | 1 week ago | |
| voice-announcements | 4 days ago | |
| .gitkeep | 1 week ago | |
| README.md | 1 week ago | |
README.md
Plugins
Drop-in extensions live under plugins/<name>/. The server loads them at runtime from this directory (default: <project_root>/plugins).
Reference skeleton
example/ is the only plugin versioned in this repository. It is disabled by default (enabled: false in config.yaml). Use it as a minimal, working template (clean architecture layout, event handling, JSON output on call end).
To try it locally, set enabled: true in plugins/example/config.yaml and reload the server (systemctl reload adn-server).
Layout
plugins/<plugin-name>/
config.yaml # enabled: true|false (+ plugin options)
plugin/
__init__.py # create_plugin()
domain/
application/
infrastructure/
tests/
Documentation
Full framework guide (contract, events, threading, PLUGINS server config):
- English: Plugins (user guide)
- Spanish: Plugins (guía de usuario)
Tests for each plugin run from that plugin's directory:
cd plugins/example
python3 -m pytest tests/ -q