Plugins
Pyrite's plugin protocol lets extensions add custom entry types, MCP tools, CLI commands, validators, lifecycle hooks, and relationship semantics. Five extensions ship out of the box.
software-kb is the supported product. Three are example plugins — reference code showing how a plugin adds entry types, CLI commands, MCP tools and a preset. journalism-investigation is experimental: its MCP tools are unsupported until the 0.28 plugin/API contract.
Task management used to live here as an extension. It is now built in:
task is a core entry type with its own
MCP tools, a pyrite task command group,
and per-type state machines.
Build your own
The plugin protocol exposes 19 extension points. A minimal plugin is a
Python class with a name attribute
and one or more methods.
# my_plugin/__init__.py
class MyPlugin:
name = "my-plugin"
def get_type_metadata(self):
return {
"recipe": {
"description": "A cooking recipe",
"fields": {
"prep_time": {"type": "number"},
"cuisine": {"type": "select", ...},
},
},
}