npm package: @orchestrator-claude/sdk
Description: Orchestrator SDK - Programmatic API for agents, workflows, and skills
Latest version: 3.30.2

# @orchestrator/sdk

Programmatic SDK for Orchestrator - Create and manage agents, workflows, and skills via code.

## Installation

```bash
npm install @orchestrator/sdk
```

## Quick Start

```typescript
import { OrchestratorSDK } from '@orchestrator/sdk';

// Initialize SDK
const sdk = new OrchestratorSDK({ projectPath: '.' });

// Create an agent
const agent = sdk.agents.create({
  name: 'my-agent',
  displayName: 'My Custom Agent',
  prompt: 'You are a helpful assistant...',
  capabilities: ['code-generation', 'documentation']
});

await sdk.agents.save(agent);
```

## Features

- **Type-safe API**: Full TypeScript support with strict types
- **Fluent interface**: Chainable methods for easy usage
- **Event-driven**: Emits domain events for observability
- **Local & Remote**: Supports both local file and remote API modes

## API Overview

### Agents API

```typescript
// Create agent
const agent = sdk.agents.create({
  name: 'code-reviewer',
  prompt: 'You are an expert code reviewer...',
  capabilities: ['code-review', 'security-analysis'],
  tools: ['git', 'grep']
});

await sdk.agents.save(agent);

// List agents
const agents = await sdk.agents.list({ tier: 'user' });

// Get agent
const agent = await sdk.agents.get('code-reviewer');

// Clone agent
const cloned = await sdk.agents.clone('specifier', 'my-specifier', {
  prompt: 'Custom prompt...'
});

// Delete agent
await sdk.agents.delete('my-agent');
```

### Workflows API

```typescript
// Create workflow definition
const definition = sdk.workflows.createDefinition({
  name: 'Custom Workflow',
  description: 'A custom development workflow',
  phases: [
    { id: 'research', name: 'Research', agent: 'researcher' },
    { id: 'plan', name: 'Plan', agent: 'planner' },
    { id: 'implement', name: 'Implement', agent: 'implementer' }
  ],
  approvalPoints: [
    { beforePhase: 'implement', message: 'Approve implementation?' }
  ]
});

await sdk.workflows.saveDefinition(definition);

// Start workflow instance
const workflow = await sdk.workflows.start('custom-workflow', 'project-123');

// Get workflow instance
const instance = await sdk.workflows.getInstance(workflow.id);

// List definitions
const definitions = await sdk.workflows.listDefinitions({ tier: 'user' });

// List instances
const instances = await sdk.workflows.listInstances({ status: 'active' });
```

### Skills API

```typescript
// Create skill
const skill = sdk.skills.create({
  name: 'code-analyzer',
  description: 'Analyzes code quality',
  trigger: {
    type: 'command',
    value: 'analyze-code'
  },
  promptTemplate: 'Analyze this code for quality and security: {{input}}'
});

await sdk.skills.save(skill);

// List skills
const skills = await sdk.skills.list({ triggerType: 'command' });

// Get skill
const skill = await sdk.skills.get('code-analyzer');

// Delete skill
await sdk.skills.delete('my-skill');
```

## Configuration

```typescript
const sdk = new OrchestratorSDK({
  // Project root path (default: process.cwd())
  projectPath: '/path/to/project',

  // API URL for remote mode (optional)
  apiUrl: 'https://api.orchestrator.dev',

  // Operation mode (default: 'local')
  mode: 'local' // or 'remote'
});
```

## Type Definitions

All SDK types are fully typed with TypeScript:

```typescript
import type {
  AgentDefinition,
  CreateAgentConfig,
  WorkflowDefinition,
  CreateWorkflowDefinitionConfig,
  SkillDefinition,
  CreateSkillConfig
} from '@orchestrator/sdk';
```

## Examples

See the [examples](./examples) directory for complete usage examples:

- `create-agent.ts` - Create custom agents
- `create-workflow.ts` - Create workflow definitions
- `start-workflow.ts` - Start and manage workflows
- `create-skill.ts` - Create custom skills

## Documentation

See [API Documentation](./docs/API.md) for detailed API reference.

## License

MIT