Plugin Architecture: Making Korben Truly Extensible
The Extensibility Problem
When we first built Korben, adding new functionality required editing multiple files:
- Create your task implementation
- Import it in
registry.py - Add it to the
TASKSdictionary - Remember to do this for flows too
- Update documentation
Every. Single. Time.
This worked fine for the core team, but it created friction for:
- Contributors - Making a simple addition required understanding the registry system
- Personal extensions - Your custom tasks got mixed with core code
- Maintenance - Import statements and dictionaries grew unwieldy
- Discoverability - No way to see what’s available without reading
registry.py
We needed something better. Something that let you just write code and go.
