Skip to main content
StormyCMS

About StormyCMS

StormyCMS is an API-first, headless content management system for developers who want flexibility and control over their content infrastructure — including the editing experience itself.

The Problem We Solve

Traditional headless CMS platforms give you an API, but the management panel stays on their servers, behind their login, with their schema editor. That creates three recurring pain points:

  1. You can't extend the editor. If the hosted panel doesn't support your use case, you're stuck.
  2. You define everything twice. Your site has React components; the CMS has a separate schema you maintain in a web portal. They drift.
  3. Automation is hard. AI agents and scripts need special API access to a third-party system just to change a content model.

StormyCMS closes that gap by putting the management panel in your repository:

  1. Own your editor code — the admin app is scaffolded into your project. Customize and extend it like any other code you own.
  2. Define components once — the same React components (wrapped with withCMS) power both the public site and the editor preview. One schema, one place.
  3. Agent-ready by design — because the entire configuration lives in local files, AI coding agents can build and manage Stormy-based websites without credentials to an external editor system.

Architecture

A Stormy project has two halves:

The hosted API — a GraphQL service that stores and serves your content: sites, pages, layouts, components, media, users, and API keys.

Your codebase — scaffolded by stormy init:

  • apps/site — the public, CMS-rendered website
  • apps/admin — your own editing application (pages, layouts, media)
  • packages/components — shared React components and their CMS field definitions

Core Content Concepts

  1. Pages — content containers with a slug, metadata (title, description, keywords), and a component tree
  2. Layouts — reusable page chrome (headers, footers, navigation) that can nest via parent/child chains, with an Outlet marking where page content renders
  3. Components — the building blocks of pages and layouts; each has typed props, attributes, and child components
  4. Media — uploaded assets tracked by the API and stored in your own S3-compatible bucket

Supporting Concepts

  • Sites — the top-level container; each site has a client ID and client secret for API access
  • Users & Roles — owner, admins, and contributors per site, with email invites
  • Auth — OAuth sign-in (GitHub/Google) issues a session; short-lived JWTs authorize editing operations

The Package Ecosystem

PackagePurpose
@stormycms/clistormy init scaffolding and stormy generate schema generation
@stormycms/coreFramework-agnostic client (StormyCMSClient), types, S3 storage helpers
@stormycms/reactwithCMS, rendering trees (ComponentTree, LayoutTree), session context
@stormycms/nextNext.js auth route handlers, server provider, server actions

Use Cases

  • Marketing & corporate sites — editors work in a panel that matches the live site exactly
  • Blogs & content sites — component-driven pages with SEO metadata
  • Agencies — ship each client a customized editor without building one from scratch
  • AI-managed sites — let coding agents create components, register fields, and publish pages

What's Next

StormyCMS ships today with a hosted GraphQL API, OAuth-based team access with roles and invites, an S3-backed media library, and the React/Next.js editor toolchain. Two directions are already visible in the codebase:

  • More frontend frameworks — the CLI's plugin system and framework detection (Vue, Svelte, Solid) lay the groundwork for editor toolchains beyond React.
  • Team plans — every account includes one free site with one seat; multi-seat team collaboration is rolling out next (see stormycms.com for current plan details).

Contact


Thank you for choosing StormyCMS. We're excited to see what you'll build!

Last updated: 7/9/26, 6:42 AM

StormyCMSThe headless CMS where you own the management panel
Community
StormyCMS