-
Notifications
You must be signed in to change notification settings - Fork 910
Description
Template Proposal: SonicJS
What is SonicJS?
SonicJS is a modern, TypeScript-first headless CMS built specifically for Cloudflare's edge platform. It provides a complete content management system that runs entirely on Cloudflare Workers with D1 database and R2 object storage.
- Website: https://sonicjs.com
- GitHub: https://github.com/lane711/sonicjs
- NPM:
npx create-sonicjs@latest
Why SonicJS would make a great template
-
Showcases Multiple Cloudflare Bindings: SonicJS demonstrates the power of combining multiple Cloudflare services:
- D1 - SQLite database for content storage
- R2 - Object storage for media files
- Workers - Serverless compute runtime
- KV - Key-value storage for caching (optional)
- Images API - Image optimization (optional)
-
Production-Ready Application: Unlike simple starter templates, SonicJS is a full-featured CMS with:
- Rich text editing with TinyMCE
- Content versioning and revision history
- Content scheduling (publish/unpublish automation)
- Workflow system (Draft → Review → Published → Archived)
- Media management with R2
- Role-based permissions
- Auto-save functionality
- Live preview
-
Modern Tech Stack:
- Hono.js - Ultrafast web framework for Workers
- TypeScript - Full type safety
- Drizzle ORM - Type-safe database queries
- HTMX - Enhanced HTML for dynamic interfaces
- Playwright - E2E testing included
-
Easy to Get Started:
- One-command setup:
npx create-sonicjs@latest my-app - Deploy with Cloudflare's "Deploy to Workers" button
- Pre-configured database migrations
- Example content collections included
- Admin interface ready at
/admin
- One-command setup:
-
Active Development & Community:
- Regular releases and updates
- Open source (MIT License)
- Growing community of users
Proposed Template Details
- Template Name:
sonicjs-cms-template - Label: "SonicJS Headless CMS"
- Products:
["D1", "R2", "Workers"] - Category: "starter"
Bindings Required
{
"DB": {
"description": "D1 database for storing CMS content, collections, and user data"
},
"MEDIA_BUCKET": {
"description": "R2 bucket for storing uploaded media files (images, documents)"
}
}What I Can Provide
I'm the creator/maintainer of SonicJS and can:
- Create a dedicated template directory following all contribution guidelines
- Write comprehensive README with dash-content markers
- Provide Playwright E2E tests
- Include preview images/screenshots
- Maintain and update the template as SonicJS evolves
Demo
A live demo can be viewed at: https://sonicjs.com (marketing site runs on SonicJS)
I believe SonicJS would be a valuable addition to the Cloudflare templates gallery, demonstrating how developers can build sophisticated, production-ready applications using Cloudflare's edge platform. It goes beyond simple "hello world" examples to show what's possible with Workers + D1 + R2.
Happy to answer any questions or make adjustments based on feedback!