Skip to content

SveltyCMS is a headless CMS. Built with modern and lightweight SvelteKit, This CMS is designed for speed, flexibility, and scalability. Perfect for developers looking for a fast & fully customizable CMS with minimal setup. TailwindCSS, theme and widgets allow easy expansion.

License

Notifications You must be signed in to change notification settings

SveltyCMS/SveltyCMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SveltyCMS logo

SveltyCMS - Headless CMS with Sveltekit Power

(Still in Development β€” your support is appreciated!)

Chat License: BSL 1.1 Latest SemVer GitHub issues Bundle Size

SvelteKit TypeScript Tailwindcss

CodeQL Playwright Tests Auto Release

A powerful Headless CMS with Sveltekit Power

It's lightning fast, flexible and an easy to use modern content management system to provide a headless backend

This SveltyCMS headless CMS provides a powerful backend based on a modern SvelteKit 2 / Svelte 5 framework. Being designed to be database agnostic, we currently launch with MongoDB; SQL/Postgres support via Drizzle ORM is planned.

You can define Content Collections in two ways: in code or via the GUI-based collection builder. Full TypeScript support and a rich widget library make it straightforward to build custom data structures.

All widget fields support localization, validation using Valibot, and access control.

System localization uses Inlang Paraglide JS, a lightweight, type-safe i18n library. English is the default; additional languages are bundled and can be extended.

We used tailwindcss and a skeleton UI toolkit, so the CMS can be quickly optimized to your personal needs.

Backend data is available via REST API or GraphQL Yoga for fast, flexible frontends.

⭐ Key Features

Feature Status Notes
Collection Builder βœ… GUI and code-based definitions
Typed Widget System βœ… Localization, validation, access control
Multi-language (Paraglide) βœ… Type-safe i18n out of the box
REST API βœ… CRUD and configuration endpoints
GraphQL API (Yoga) βœ… High-performance schema
Database Resilience βœ… Retries, self-healing reconnection, diagnostics, log download
Email Templating βœ… Svelte Email + SMTP
Roles & Permissions βœ… Database-backed access control
SQL/Postgres via Drizzle πŸ“… Planned Roadmap item

πŸš€ Quick Start

Get up and running fast:

  1. Clone and install
git clone https://github.com/SveltyCMS/SveltyCMS.git
cd SveltyCMS
bun install  # or npm/pnpm
  1. Start dev server (guided installer auto-launches)
bun run dev  # or npm run dev / pnpm run dev
  1. Open the app

Prefer a full walkthrough? See: ./docs/getting-started.mdx

SveltyCMS Gui

πŸ› οΈ Developer Experience (DXP)

  • CLI installer auto-launches for smooth first-run setup
  • Typed widgets and schema-driven collection builder
  • Fast feedback loop with hot reloads and strong typing

πŸš€ Setup

Clone the repository

To clone our repository you need to be able to use Git.

git clone https://github.com/SveltyCMS/SveltyCMS.git
cd SveltyCMS

Install all dependencies

Install STABLE Node.js to get started. Then choose your preferred package manager:

npm
# Install all dependencies
npm install

# Development (CLI installer launches automatically if needed)
npm run dev

# Manual CLI Installer (optional)
npm run installer

# Build for production
npm run build

# Preview production build
npm run preview
pnpm
# Install pnpm if you haven't already
npm install -g pnpm

# Install all dependencies
pnpm install

# Development (CLI installer launches automatically if needed)
pnpm run dev

# Manual CLI Installer (optional)
pnpm run installer

# Build for production
pnpm run build

# Preview production build
pnpm run preview
bun
# Install bun if you haven't already
curl -fsSL https://bun.sh/install | bash

# Install all dependencies
bun install

# Development (CLI installer launches automatically if needed)
bun run dev

# Manual CLI Installer (optional)
bun run installer

# Build for production
bun run build

# Preview production build
bun run preview

Setup Wizard (auto)

When starting the dev server without configuration, the guided installer launches automatically:

  • Smart detection via vite.config.ts
  • Database configuration: MongoDB (SQL/Postgres planned via Drizzle ORM)
  • Admin account setup, secrets/keys generation
  • Optional SMTP and Google OAuth configuration

Start with:

bun run dev  # or npm run dev / pnpm run dev

Development and Production

See our package.json for more information about development, build, preview, format, lint & testing commands.

  • Development server runs on localhost:5173
  • Preview server runs on localhost:4173

πŸ”’ Authentication & Security

We want to keep your data Private and Secure.

Our extensive Authentication allows us to stay flexible for the future and adapt to changing security needs.

You can log in with email/password or Google OAuth. Role- and field-based access control lets you define precisely who can view, edit, or delete content. Sensitive data is masked in logs; admin-only endpoints protect operational features.

🎨 Easy Theme Adaptions to your needs

If you require a different look, use the skeleton theme generator and modify the SveltyCMSTheme.ts to your needs

🌍 Great System Localization i18n infrastructure

We use Paraglide JS, the best i18n library together with inlang ecosystem for first class System Translations with full typescript support.

Our System Translations are available at: inlang and can easily be extended.

If a language has not yet been defined, reach out to us, so that you can help extend the System Localization.

inlang status badge

πŸ“‹ Easily create Data Collections

Great Experience to designing user-friendly and intuitive interfaces for managing content. Full Typescript support to display all available widgets, options to create fully custom data structures.

πŸ“§ Flexible Email Templating System

Build and send emails using Svelty Email and TypeScript.

πŸ“¦ Optimized Bundle Size

SveltyCMS is built with modern optimization techniques resulting in a compact bundle compared to traditional CMS platforms:

CMS Platform Bundle Size (gzipped) Bundle Size (Brotli) Technology Stack
SveltyCMS 604 KB 508 KB ⚑ SvelteKit 5 + Vite
WordPress Admin ~800 KB ~675 KB jQuery + PHP
Drupal Admin ~1.1 MB ~930 KB jQuery + Drupal

What this means:

  • βœ… Smaller downloads = Faster initial load
  • βœ… Lower bandwidth costs = Savings at scale
  • βœ… Better mobile experience = Works well on slower connections
  • βœ… Brotli compression = Automatically served by modern servers

πŸ“š Documentation

Comprehensive documentation is available to help you get started:

πŸ”Œ Quick API Examples

REST (fetch 5 posts):

curl -H "Authorization: Bearer <token>" \
  "http://localhost:5173/api/collections/posts?limit=5"

GraphQL (posts with author):

query {
	posts(limit: 5) {
		id
		title
		slug
		author {
			name
		}
	}
}

πŸ“œ License: Fair Source (BSL 1.1)

SveltyCMS is licensed under the Business Source License 1.1 (BSL 1.1) β€” Fair Source software that balances openness with sustainability.

What this means:

  • βœ… Free for individuals & small businesses β€” Use, modify, and deploy in production if your organization's total finances are under $1,000,000 USD
  • πŸ’Ό Paid license for larger organizations β€” Commercial license required if total finances exceed $1M USD
  • πŸ”“ Future open source β€” Automatically converts to MIT License on the "Change Date" specified in the license file
  • 🀝 Open collaboration β€” Source code is publicly available; contributions welcome

Who needs a paid license?

If your organization's Total Finances (revenue, funding, assets) exceed $1,000,000 USD, you must purchase a commercial license to use SveltyCMS in production.

Commercial licensing inquiries:

πŸ“§ Email: info@sveltycms.com

For more details, see the full LICENSE file.

❓ Need help?

Contact us if you're struggling with installation or other issues:

πŸš€ Semantic Versioning

For detailed information on our Git workflow, branching strategy, and commit conventions, see our Git Workflow & Automated Releases guide.

We use semantic versioning to manage our releases. This means that our version numbers follow a specific format: MAJOR.MINOR.PATCH.

  • MAJOR version changes when we make incompatible API changes
  • MINOR version changes when we add functionality in a backwards-compatible manner
  • PATCH version changes when we make backwards-compatible bug fixes

When submitting pull requests, please make sure your commit messages follow the Conventional Commits specification. This will help us automatically generate changelogs and release notes.

Please also read our Code of Conduct before submitting Pull Requests.

If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch.

Run the tests with pnpm test and lint the project with pnpm lint and pnpm check.

Please prefix changeset messages with feat:, fix:, or chore:.

Thank you for helping us maintain a consistent and predictable release process! ❀️

🀝 Contributing

We welcome all kinds of contributions! Please see our CONTRIBUTING.md for details on how to get started.

οΏ½ Sponsoring

If you find our project useful and would like to support its development, you can become a sponsor! Your sponsorship will help us cover the costs of maintaining the project and allow us to dedicate more time to its development.

There are several ways you can sponsor us:

Thank you for your support! πŸ™

πŸ‘ Thanks

To all our contributors β€” without you, SveltyCMS would never have been possible.

⭐ Give us a star

If you like what we're doing, give us a star and share our SveltyCMS project with others!


SveltyCMS Builder SveltyCMS User

About

SveltyCMS is a headless CMS. Built with modern and lightweight SvelteKit, This CMS is designed for speed, flexibility, and scalability. Perfect for developers looking for a fast & fully customizable CMS with minimal setup. TailwindCSS, theme and widgets allow easy expansion.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published