Plugin Development
A VeloCMS plugin is a TypeScript module that exports a manifest object and handler functions. VeloCMS calls your handlers at lifecycle hook points — after a post is published, when a member signs up, when a daily schedule fires — and passes them a typed payload plus a context object for logging and settings access.
Plugins run in an isolated V8 environment (V2 general availability) or in-process with capability-declared access (V1, current). In both cases, the manifest's capabilities array is your permission contract with the platform and with the tenants who install your plugin.
In this section
Manifest reference
All manifest fields, validation rules, and ID format requirements.
Hook reference
Every lifecycle hook with payload types, firing conditions, and handler examples.
Capabilities reference
All capabilities, risk levels, and what API surface each grants.
Settings UI integration
Build admin settings panels using the admin.tsx entry point. Encrypted storage for API keys.
Testing locally
Unit test hooks with @velocms/plugin-sdk/test-helpers. No running VeloCMS instance needed.
Publishing
Build, pack, and submit a draft to the marketplace. Review SLA and what reviewers check.