| path | docs/README.mdx | ||||
|---|---|---|---|---|---|
| title | SveltyCMS Documentation | ||||
| description | Complete documentation for SveltyCMS - a powerful, modern Headless CMS built with SvelteKit and Svelte 5. Designed for both users and developers. | ||||
| icon | mdi:book-open-variant | ||||
| published | true | ||||
| order | 1 | ||||
| author | admin | ||||
| created | 2025-08-05 | ||||
| updated | 2025-10-05 | ||||
| tags |
|
Welcome to SveltyCMS - a powerful, modern Headless CMS built with SvelteKit and Svelte 5. Our documentation is designed with two clear goals:
- Complete feature guides with security confidence
- Built-in safety features explained
- Best practices for secure content management
- Deep dive into architecture and systems
- Implementation patterns and best practices
- Extension and customization guides
Perfect for content creators, editors, and administrators who need to:
- ✅ Use Features Safely - Complete guides with security best practices
- ✅ Manage Content - Create, edit, and publish with confidence
- ✅ Understand Security - Built-in protection features explained
- ✅ Troubleshoot Issues - Safe solutions to common problems
Key Security Highlights:
- 🛡️ Enterprise-grade authentication (JWT + OAuth)
- 🔐 Role-based permissions and access control
- 🔒 Encrypted data storage and transmission
- 📊 Audit logging and activity tracking
Essential for developers who need to understand:
- ⚙️ System Architecture - How components work together
- 🔧 Setup & Configuration - Automated CLI installer explained
- 🧩 Extension Development - Building custom functionality
- 📡 API Integration - REST and GraphQL implementation
Core Systems Explained:
- 🚀 Automated setup via vite.config.ts
- 🔐 JWT + OAuth authentication flow
- 🏗️ SvelteKit + Svelte 5 architecture
- 📊 Database abstraction and optimization
1. 🌐 Access your CMS URL
2. 🔑 Log in securely
3. 📝 Start creating content
4. 🛡️ Enjoy built-in security
git clone https://github.com/SveltyCMS/SveltyCMS.git
cd SveltyCMS
bun install
bun run dev # CLI installer launches automatically- 🎨 Modern Interface: Built with SvelteKit and Tailwind CSS
- 🚀 Automated Setup: CLI installer handles all configuration
- 🔐 Security First: JWT + OAuth with granular permissions
- 📱 Responsive: Works seamlessly on all devices
- 🌍 i18n Ready: Multi-language support built-in
- ⚡ Performance: Optimized for speed and efficiency
- 🧩 Extensible: Custom widgets, themes, and plugins
- 🚀 Getting Started - Get started safely
- 👥 User Registration - Secure account creation
- 🛡️ Admin Management - Secure administration
- 🏗️ Collection Builder - Build content structures
- ⚙️ Installation & Setup - Automated installer explained
- 🔐 Authentication System - Security implementation
- ⚡ Cache System - Dual-layer caching (Redis + MongoDB)
- ⚙️ System Settings - Configuration management
- 📡 API Reference - Complete API documentation
- 🧩 Widget Architecture - Modern widget system
SveltyCMS is designed with security as a core principle:
- 🔒 Data Protection: All data encrypted at rest and in transit
- 🛡️ Access Control: Granular role-based permissions
- 📝 Audit Logging: Complete activity tracking
- 🔍 Input Validation: Automatic sanitization and validation
- 🚨 Security Updates: Regular security patches and updates
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Community support
- Security Reports - Responsible disclosure
- Browser: Chrome, Firefox, Safari, Edge (latest versions)
- JavaScript: Required (security features depend on it)
- Node.js: 18+ for development
- Database: MongoDB (recommended) or PostgreSQL/SQLite
- Redis: Optional but recommended for caching
SveltyCMS uses a modern, database-driven approach for all configuration:
- ✅ 58 settings across 13 groups (General, Email, Security, Cache, etc.)
- ✅ Real-time updates without server restart
- ✅ Role-based access control
- ✅ Admin GUI at
/config/systemsetting - ✅ RESTful API:
/api/settings/[group]
- Database connection strings
- JWT secrets and encryption keys
- OAuth client credentials
- Environment-specific startup config
Drupal CMS-inspired configuration management:
POST /api/export/full
{
"includeSettings": true,
"includeCollections": false,
"includeSensitive": false
}POST /api/import/full
{
"data": { /* exported config */ },
"options": {
"strategy": "merge", // skip | overwrite | merge
"dryRun": true // validate before applying
}
}- ✅ Staging → Production: Export from staging, import to production
- ✅ Version Control: Store configs in git
- ✅ Team Collaboration: Share configuration files
- ✅ Backup & Restore: Daily automated backups
- ✅ Environment-Specific: Dev/staging/prod configs
Dual-layer caching for exceptional performance:
- Layer 1 (Redis): Ultra-fast in-memory cache (~1ms reads)
- Layer 2 (MongoDB): Persistent cache across restarts
- 8 TTL Categories: Static, Dynamic, API, Query, Session, Widget, Computed, Media
- Automatic Expiration: TTL-based with configurable values
- UI Management: Configure via System Settings
See Cache System Documentation for details.
- Static config files with CLI prompts
- Hard-coded settings in code
- Manual file editing for changes
- No import/export capability
- Database-driven settings - All config in MongoDB
- RESTful API - Programmatic access via
/api/settings/* - Admin GUI - User-friendly interface at
/config/systemsetting - Import/Export - Environment management with validation
- Version Control - Config files in git alongside code
- Update to latest version:
git pull && bun install - Run database migration:
bun run migrate - Export old config: Legacy settings auto-migrated
- Verify settings: Check
/config/systemsetting - Test import/export: Try exporting and re-importing
- Update deployment scripts: Use new API endpoints
New to SveltyCMS? Start with Getting Started for users or Installation for developers.