Plugins
Plugins extend donmai with new workflow node types, provider integrations, and lifecycle hooks. A plugin is a package that implements the IPlugin interface and registers itself with donmai at startup.
How plugins are loaded
donmai loads plugins from:
- Built-in plugins compiled into the binary (see below).
- Config-declared plugins in
~/.donmai/config.tomlunder[[plugins]]. - Per-workflow plugins declared in a
workflow.toml[plugins]section.
@donmai/plugin-linear
@donmai/plugin-linear is the canonical example and the most complete plugin in the ecosystem. It adds:
- Workflow nodes:
linear.create_issue,linear.update_issue,linear.transition_issue,linear.add_comment - Trigger sources: Linear webhooks (issue created, agent session events)
- Auth: OAuth 2.0 integration — the plugin registers a credential type that the daemon handles via the platform OAuth flow
Installing it:
npm install @donmai/plugin-linear
Then declare it in your workflow:
[[plugins]]
package = "@donmai/plugin-linear"
Or in ~/.donmai/config.toml to enable it globally:
[[plugins]]
package = "@donmai/plugin-linear"
Planned built-in plugins
The following plugins are on the roadmap:
@donmai/plugin-github— GitHub issue and PR nodes@donmai/plugin-slack— Slack message and channel nodes@donmai/plugin-webhook— Generic HTTP webhook trigger and action nodes
Track progress in the donmai repository.
Writing your own plugin
See Authoring a plugin for the IPlugin interface and lifecycle hook reference.