Skip to content

Template Proposal: SonicJS - Edge-First Headless CMS #884

@lane711

Description

@lane711

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.

Why SonicJS would make a great template

  1. 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)
  2. 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
  3. 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
  4. 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
  5. 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions