donmai docs
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:

  1. Built-in plugins compiled into the binary (see below).
  2. Config-declared plugins in ~/.donmai/config.toml under [[plugins]].
  3. 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.

On this page