Everything you need to build fast, file-based websites with Bolt CMS. No database, no dependencies, no complexity.
Set up Bolt CMS from scratch in under five minutes with just PHP and Apache.
How URLs map to files and directories with automatic resolution and path sanitization.
Method-routed handler files, path parameters, shared bootstraps, and a uniform JSON contract.
Compose pages from headers, layouts, and footers with a simple configuration system.
PHP pages, Markdown pages, and how frontmatter configuration works.
Package pages, blocks, and API endpoints under extensions/, with core-first resolution and no registry to edit.
The inline styling engine — responsive tokens, states, variables, and components rendered at load with no build step.
Typography, color palette, spacing scale, and visual conventions used across Bolt sites.
Author reusable PHP partials in the includes folder, pass them data, and render their markup in any page.
Self-contained partials that bundle their own scoped CSS, markup, and JavaScript per instance.
BOLT_DB, the connectionless flat-file store for web-served JSON snapshots and secured private records.
BOLT_SQL, the single-class PDO/MySQL layer: JSON-defined schema, prepared-statement CRUD, write validation, and read-time type casting.
BOLT_MAIL, the single-class SMTP library: send, queue, log, and blacklist email with no dependencies — available to core and every extension.
Two interchangeable auth backends — a zero-setup flat file, or SQL accounts with registration, one-time codes, and recovery — switchable from the dashboard.
Multi-tenancy and organization-scoped authorization — an organization hierarchy, email-linked staff with permissions, and the predicates for who may act on which organization.
ParadigmCSS rendering, the page boot sequence, and the SITEURL global available to your scripts.
Bolt CMS is a minimalist, file-based content management system. There is no database, no admin panel, and no build step. Your file system is the CMS.
pages/ and it becomes a URL.
Every request flows through a single index.php entry point. The routing resolution chain determines which file to load:
pages/{path}.php (direct file match).
pages/{path}/index.php (directory-based).
$page['config'] and captures content via output buffering.