SveltyCMS Documentation
SveltyCMS documentation map for the open-source Svelte CMS and headless CMS — start, concepts, guides, build, reference, and contributing.
On this page
SveltyCMS is a self-hosted CMS. Editors use the admin. Other apps use REST or GraphQL. Server code inside this project uses LocalCMS. The same collections run on SQLite, PostgreSQL, MariaDB, or MongoDB.
New here? Read Concepts (one page), then Getting started, then the setup walkthrough.
Map
These seven sections are the public docs. Open the one that matches your question. Architecture, tests, and project records stay available and are linked from the section that needs them.
| Section | You are trying to… | Open |
|---|---|---|
| Get started | Install and finish the five setup steps | Getting started, Setup walkthrough |
| Concepts | Learn the six ideas (collection, entry, widget, tenant, API, adapter) | Concepts |
| Guides | Finish a task in the admin or in operations | Guides |
| Build | Add a widget, plugin, dashboard widget, or frontend | Development |
| Reference | Look up an API, permission, adapter, or component | Reference |
| Architecture | Understand why the engine is built this way | Architecture |
| Contribute | Change the product or these docs | Contributing to the documentation |
Stuck on an error: Troubleshooting.
On docs.sveltycms.com a page lives at /docs/ plus its path without the docs/ prefix and without .mdx. Example: docs/concepts.mdx → /docs/concepts.
By role
Editors and administrators
| Task | Guide |
|---|---|
| Install and setup wizard | Getting started, Setup walkthrough |
| Model content | Collection Builder |
| Drafts and publish | Workflows |
| Emails and webhooks on change | Automations |
| A store | E-commerce |
| Users, roles, 2FA | User registration, Access management |
| Languages | System languages |
| Media | Image editor |
| Bring in existing content | Migration and import |
Integrators
| Task | Guide |
|---|---|
| Call the CMS from another app | API reference |
| Choose LocalCMS or HTTP | Local SDK vs HTTP |
| Ship a site in this repo | Site starter |
| Deploy | Production deployment |
People extending or changing the CMS
| Task | Guide |
|---|---|
| Admin page UI | Native UI |
| Custom field | Widgets |
| Server hook | Plugins |
| Dashboard card | Dashboard widgets |
| Engine change | Architecture, then the file you are editing |
| Docs change | Contributing to the documentation |
Product in one table
| Piece | What it is |
|---|---|
| Admin | SvelteKit 3 (RC), Svelte 5 runes, Tailwind CSS v4 |
| Content | Collections compiled from config/collections/ by ContentSync |
| Fields | Widgets: definition, input, and display |
| APIs | REST, GraphQL, and LocalCMS for in-process server calls |
| Databases | SQLite, PostgreSQL, MariaDB, MongoDB through adapters |
| Tenancy | tenantId on stored records |
| Auth | Argon2id, optional TOTP, role permissions, account lockout |
| Languages | Paraglide for admin chrome; localized fields for content |
| Container | ghcr.io/sveltycms/sveltycms — SQLite by default, amd64 and arm64 |
Measured throughput lives only in Performance benchmarks, with the run date and the command that produced it. A comparison with other CMSs, written against public sources, is in Competitive comparison.
Security reporting: security@sveltycms.com · GitHub Advisories. The control list is the Security reference.
Community
- Bugs: GitHub Issues
- Discussions: GitHub Discussions
- Contribute: Documentation guide
- Agents: llms.txt — the same map, as links