Everything you need, built in.
No third-party services required. Just features that work. Code-first or visual, your choice.
Rich Text Editor
Lexical-powered editor with formatting, lists, tables, code blocks, and inline toolbars. Define richText fields in your collections and get a polished editing experience.
Asset Management
Media library with folder organization, drag-and-drop upload, and pluggable storage adapters: S3-compatible, Vercel Blob, or local filesystem.
Database Adapters
PostgreSQL, MySQL, and SQLite, all powered by Drizzle ORM. Pick the database that fits your project and switch adapters without changing application code.
Hooks & Lifecycle
8 collection hooks: beforeOperation, beforeValidate, beforeChange, afterChange, beforeRead, afterRead, beforeDelete, afterDelete. Transform data, enforce rules, trigger side effects.
hooks: {
beforeChange: [
async ({ data, operation }) => {
if (data?.title) {
return {
...data,
slug: data.title.toLowerCase().replace(/\\s+/g, "-"),
};
}
return data;
},
],
}Reusable Components
Define reusable field groups with defineComponent() or build them visually in the admin panel. Embed single or multiple instances across any collection or single.
Form Builder
First official Nextly plugin. Drag-and-drop form creation with 13 field types, submission tracking, spam protection, and email notifications.
Email System
Send transactional and notification emails via Resend, SMTP, or SendLayer. Built-in templates with variable interpolation and database-managed providers.
Access Control
RBAC with default roles (admin, editor, viewer), field-level read/write permissions, and code-defined or database-defined access functions. Sync or async.