Guides
Claire developer docs
Plugin development
Create and test a local Claire plugin with fixtures.
Plugin development
The basic plugin path uses local fixtures. You do not need Google Calendar, a task manager account, or any messaging login.
Create
bun run plugin:create my-pluginThis writes examples/plugins/my-plugin with a signed-off-style manifest and one dry-run action.
Run and test
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' },
});Contract
See packages/plugin-sdk and docs/CLAIRE_PLUGIN_SYSTEM_SPEC.md for manifests, permissions, approvals, and risk classes.
Rules for v1 examples:
- Detection is not permission.
- Sensitive writes require approval.
- No raw-message retention in fixture plugins.
- No real provider credentials in tests.