# BlockNinja Plugin SDK Types, interfaces, and utilities for building BlockNinja plugins. ## Package Structure | Package | Purpose | |---------|---------| | `plugin/` | PluginRegistration, ServiceDeps, RegisterFunc | | `blocks/` | BlockMeta, BlockFunc, BlockRegistry interface, BlockContext | | `blocks/builtin/` | Reusable block implementations (HTMLBlock) | | `templates/` | TemplateRegistry interface | | `templates/bn/` | Shared templ components (head, engagement, toolbar) | | `auth/` | Claims types, context extractors | | `content/` | Content access interface | | `settings/` | Settings access interface | | `gating/` | Access gating evaluation | | `crypto/` | Encrypt/Decrypt interface | | `render/` | Rich text rendering utilities | | `video/` | Video embed URL parsing | | `ai/` | AI tool registry interface and types | | `rbac/` | Role type definition | ## Usage ```go import "git.dev.alexdunmow.com/ninja/core/plugin" ```