Skip to main content
ChainBot is a Rust-based CLI application for managing automation workflows, triggers, and plugins.

What ChainBot Does

ChainBot lets you define workflows as directed acyclic graphs of nodes, attach triggers that fire those workflows on events, and run a long-lived daemon that coordinates execution with durable state.

Core Concepts

ConceptRole
WorkflowAn independent DAG of nodes that executes as a unit
TriggerConverts external events into workflow run requests
PluginExtends ChainBot with external executables or builtin capabilities
WorkspaceA root directory containing chainbot.toml and all packages
Runtime StatePersisted run summaries, trigger records, and coordination data

Key Design Points

  • Workflows run without requiring a trigger. You can invoke a workflow directly via chainbot run.
  • Triggers only matter when the daemon is running via chainbot serve.
  • All manifest contracts use manifest_version = "2.0.0".
  • The workspace root defaults to ~/.chainbot. Set CHAINBOT_CONFIG_DIR to override.
  • The canonical root config file is chainbot.toml (not config/root.toml).
  • Plugin packages live under plugins/<plugin_id>/config.toml. The legacy plugins/manifests/ layout is not part of the stable bootstrap contract.

Version

Current version: 2.2.0