SleekCMS Documentation
SleekCMS is a hosted headless CMS with an integrated static site builder. You model structured content, create and manage it through a visual editor, and deliver it through a content API or as a fully generated static website — without setting up servers, databases, Git repositories, or build pipelines.
This documentation covers everything from content modeling and the editing experience to template development, API integration, deployment, and site administration.
What Is SleekCMS
SleekCMS is a content management system built around two ideas: structured content modeling and zero-infrastructure publishing.
Structured content modeling means your content is defined by schemas — models with typed fields — rather than freeform pages. A blog post isn't a blob of HTML. It's a model with a title field, an author reference, a publish date, a featured image, and a composable body made of block sections. This structure gives you a consistent editing interface, a predictable API shape, and content that's ready for any frontend.
Zero-infrastructure publishing means you don't manage servers, databases, deployment pipelines, or Git repositories. SleekCMS hosts the content editor, the content API, and the static site builder. You create content in the browser, and it's immediately available through the API or as a generated static site — deployable to Netlify, Vercel, Cloudflare Pages, or any hosting provider that serves static files.
Headless CMS + Static Site Builder
Most headless CMS platforms give you a content API and leave the rendering to you. SleekCMS does that too — the content API delivers your structured content as JSON to any frontend framework. But it also includes an integrated site builder that turns your content and EJS templates into a complete static website, entirely in the browser. No build servers, no CI pipelines, no local development environment required.
You can use SleekCMS as a pure headless CMS with React, Next.js, Astro, SvelteKit, or any other framework. Or you can use the built-in site builder to create and deploy sites without writing a frontend application. Or both — the content API and the site builder work from the same content, so you can build a marketing site with the site builder and a mobile app with the API, all from a single content source.
Who It's For
SleekCMS serves three audiences that often work together:
Developers build content models, write templates and frontend code, configure API integrations, and set up deployment workflows. The platform gives you typed fields, a JSON content API, a JavaScript/TypeScript client library, EJS templates for static generation, and zero-setup Tailwind CSS.
Content editors create and manage content through a visual editor with live preview. They compose pages from pre-built block sections, manage entries like authors and categories, upload and organize media, and publish content — all without touching code.
Site administrators configure content models and field schemas, manage team members and roles, set up environments and publishing workflows, and handle deployment settings.
Core Use Cases
Marketing websites and landing pages — Model page types with composable block sections. Content teams build and iterate on pages visually while developers maintain design consistency through block models and templates.
Blogs and editorial publishing — Model blog posts as page collections with author references, categories, publish dates, and rich text or composable body sections. Use the content API to power a custom frontend or the site builder for a static blog.
Multi-page sites with shared content — Entries hold reusable data like navigation, footer content, team members, testimonials, and site settings. Reference them from any page. Update once, reflected everywhere.
Design systems and component libraries — Block models act as content components with defined fields and templates. Build a library of hero sections, feature grids, CTA banners, pricing tables, and testimonial carousels. Editors compose pages from these components.
Headless content for apps — Use the content API to deliver structured content to React, Vue, Svelte, mobile apps, or any frontend. The JavaScript/TypeScript client provides sync and async access patterns for SSG and SSR workflows.
Key Concepts
SleekCMS is built on four primitives that work together to structure all content on your site.
Models
Models are schemas that define the structure of your content. Every piece of content in SleekCMS is an instance of a model, and the model determines what fields are available, what the editor looks like, and what shape the API response takes. There are three types of models:
Page models define routable content — content with a URL. A homepage, a blog post, a product page, a contact page. Page models can be static (one page at a fixed path) or collections (many pages with a shared path prefix and individual slugs). Pages are the content your visitors navigate to directly.
Entry models define structured, non-routable content — content without a URL. Authors, categories, site settings, navigation links, footer content. Entries hold reusable data that pages and other entries reference. Update an author's bio in one place and it's reflected on every blog post that references them.
Block models define reusable, composable content components — self-contained sections like hero banners, feature grids, CTA cards, and testimonial carousels. Blocks are embedded within pages and entries through block fields. Each block model has its own fields and its own template, and a single block model can be used across any number of pages and entries.
→ Page Models → Entry Models → Block Models
Fields
Fields are the building blocks of every model. When you add a field to a model, you're defining a single piece of structured data — a title, an image, a date, a reference to another entry, a composable stack of blocks. SleekCMS provides textual fields (text, markdown, rich text, number, boolean), choice fields (dropdown, color), temporal fields (date, date time), media fields (image, video), data fields (JSON, code, location, data table), relational fields (reference, link), and structural fields (group, collection, block, dynamic blocks).
Content
Content is the data created from models. When an editor creates a blog post, they're creating an instance of the blog post page model and filling in its fields. Content is managed through the visual editor, which provides field-specific input controls, live preview, draft states, and publishing workflows.
Templates
Templates define how content renders to HTML in the site builder. Each model can be bound to an EJS template. When the site builder compiles your site, it processes each content record through its model's template and produces static HTML. Templates have access to the current record's data through the item variable, plus the full site content through global accessors and helper methods.
→ Site Builder → Template Context and Data Access
How It Works
The core workflow in SleekCMS follows three steps:
1. Model your content — Define page models, entry models, and block models with the fields your content requires. This creates the editing interface and the API shape simultaneously.
2. Create content — Editors fill in fields, compose pages from block sections, reference shared entries, and upload media. The visual editor with live preview lets content teams work independently of developers.
3. Deliver content — Publish through the content API for headless frontend integration, or generate a static site with the built-in site builder and deploy it to any hosting provider.
Model (schema) → Content (data) → Deliver (API or static site)
Documentation Map
Getting Started
- Getting Started — Create your first project, set up models, create content, and publish.
Content Modeling
- Content Modeling — The architecture of structured content: pages, entries, blocks, and how they connect.
- Page Models — Routable content with URL paths, static pages, and slug-based collections.
- Entry Models — Non-routable structured data for reusable content like authors, categories, and settings.
- Block Models — Reusable, composable content components for dynamic page sections.
- Option Sets and Lists — Key-value pairs that power dropdown fields and lightweight taxonomy.
- Content Field Types — The full set of field types: textual, media, relational, structural.
- Group Fields — Organizing related fields into non-repeatable containers with column layouts.
- Collection Fields — Repeatable inline structures for variable-length lists.
- Block Fields — Single block and dynamic block fields for embedding block instances.
- Dynamic Blocks — Composable page layouts, the editor experience, and layout governance.
Content Editing
- Content Editing — The editing experience for content creators.
- Editing Content — Working with the visual editor and live preview.
- Draft Entries — Draft states and the publishing lifecycle.
- Content Translations — Managing content in multiple languages.
- Compare Content — Comparing content versions and changes.
Media
- Media Management — Uploading, organizing, and managing media assets.
- Image Management & Optimization — Image sources, optimization, and processing.
- File and Document Assets — Managing non-image file uploads.
Site Builder
- Site Builder — Architecture, build pipeline, and capabilities of the integrated static site builder.
- Integrated JAMstack — The static generation philosophy and how SleekCMS implements it.
- Online Coding Environment — The browser-based code editor for templates and assets.
- Model Templates — Binding EJS templates to page, entry, and block models.
- Layout — The common layout wrapper template for pages.
- Template Context and Data Access — The
itemvariable, global content access, and helper methods. - Using VS Code / Cursor IDE — Connecting an external IDE for local development.
- Assets and Static Files — Managing JavaScript, CSS, and other static files.
- Build Configuration — Environment settings and build options.
- Tailwind and Styling — Zero-setup Tailwind CSS support.
- Form Backend — Processing form submissions from static sites.
- Deploying Sites — Download, Netlify, Vercel, surge.sh, and other deployment options.
Publishing and API
- Publishing Content — Making content available through the API and managing versions.
- Content API — The JSON content API for headless integration.
- Automating with Triggers — Webhooks and automated workflows on content changes.
- Environments & Content Versions — Managing content environments and version history.
Settings and Administration
- Site Settings — Configuration options for your SleekCMS site.
- Site Configuration — General site settings and defaults.
- Image Processing with Imgix — External image processing and CDN integration.
- Multiple Languages — Configuring internationalization support.
- Key Naming Style — Default naming conventions for field handles.
- Site Members — Managing team access and permissions.
- Admin Role — Administrator capabilities and restrictions.
- Editor Role — Content editor capabilities and restrictions.
- Customizable Access — Fine-grained access control configuration.
Organization
- Organization and Sites — Managing multiple sites within an organization.
- Member Management — Organization-level team management.
- Subscription and Billing — Plans, billing, and account management.
Client Libraries
- @sleekcms/client — JavaScript/TypeScript client for sync and async content access.
- @sleekcms/react — React hooks for fetching content in client-side applications.