# Extension SDK (v0.5)

## Purpose

Public API for third-party plugins to extend Teddy without forking core.

## Entry points

- `teddy()` facade → `src/SDK/TeddyFacade.php`
- Global helpers → `src/SDK/functions.php`
- Hook: `teddy_boot`, `teddy_register_extensions`

## Registrars

| Gateway | Registers |
|---------|-----------|
| `ToolsGateway` | `ToolInterface` implementations |
| `WorkflowsGateway` | `WorkflowDefinition` |
| `PromptsGateway` | `PromptTemplateInterface` |
| `ResourcesGateway` | Knowledge sources (stub) |
| `AiActionsGateway` | Custom AI actions (stub) |

## Metadata

`ExtensionMetadataRegistry` tracks `origin` (`core` | `extension`) and source `plugin` slug. Exposed via `GET /domain-tools`.

## Developer tools

Registered when `enable_extension_sdk` is enabled:

- `dev.cpt.create`
- `dev.taxonomy.create`
- `dev.rest_endpoint.create`

## Demo

`examples/demo-extension/teddy-demo-extension.php`

## Documentation

`docs/EXTENSION_GUIDE.md`

## Feature flag

- `enable_extension_sdk` (default `false`)

## Verification

- `tests/Unit/ToolsGatewayTest.php`
