Plugin development
Create and test a local Claire plugin with fixtures.
The basic plugin path uses local fixtures. You do not need Google Calendar, a task manager account, or any messaging login to build and test one.
Create a plugin#
bun run plugin:create my-pluginThis writes examples/plugins/my-plugin with a manifest and one dry-run action.
Run and test it#
bun run dev:plugin
bun run test:pluginsThe calendar example creates a mock event from a fixture:
await runPluginAction(calendarPlugin, 'calendar.events.create', {
conversationId: 'chat_fixture',
sourceMessageIds: ['msg_1'],
input: { title: 'Send Maya the proposal', startsAt: '2026-08-18T15:00:00Z' },
});Where approval happens#
A plugin proposes; the person decides. Sensitive writes surface in an approval inbox with the exact data and destination shown before anything leaves Claire.
The contract#
See packages/plugin-sdk and the Plugin system specification for manifests, permissions, approvals, and risk classes.