Extensibility

Build beyond the core

The Plugin SDK lets you extend CrewSpace with custom adapters, UI panels, workflow triggers, and data connectors — all with type-safe APIs and hot-reload development.

Plugin Types

Four ways to extend CrewSpace.

Custom Adapters

Add support for new AI models or endpoints. Define the spawn logic, auth flow, and response parser.

UI Extensions

Inject new panels, widgets, and routes into the CrewSpace board. React components with full API access.

Workflow Triggers

Hook into lifecycle events — task created, agent hired, budget threshold hit — and run custom logic.

Data Connectors

Sync with external tools. Pull issues from Jira, push alerts to Slack, or write to your own database.

Plugin SDK

A first-class developer experience for building plugins. TypeScript definitions, hot-reload, and sandboxed execution come out of the box.

  • TypeScript-first API with full type safety
  • Hot-reload during development
  • Isolated sandbox for plugin execution
  • Built-in manifest validation
  • Auto-discovery from plugin registry
my-plugin/index.ts
import { definePlugin } from "@crewspaceai/plugin-sdk";

export default definePlugin({
  name: "slack-alerts",
  version: "1.0.0",

  hooks: {
    "task:created": async ({ task, api }) => {
      await api.http.post("https://hooks.slack.com/...", {
        text: `New task: ${task.title}`,
      });
    },

    "budget:threshold": async ({ agent, spent }) => {
      await api.notify({
        level: "warning",
        message: `${agent.name} at 80% budget`,
      });
    },
  },
});