Stormy CMS

Built for business. Developer friendly. A rare and powerful combo.

A website your business owns, not rents. The headless CMS where you own the editor.

Start free with a site that simply works. Edit it yourself in an editor that shows your real website. When you need bigger changes, any developer or AI agent can make them in minutes, not billable hours.

Stormy scaffolds the page editor straight into your repo. Your React components define the schema, render the site, and power the editor: one source of truth, zero black boxes.

Start on the free tier. A payment method is required to create a subscription.

~/projects
$ npx @stormycms/cli init
 Project name  my-stormy-site
 Scaffolded site, admin editor, and components
 Dependencies installed

 site   localhost:3000
 admin  localhost:4000  ← your editor, in your repo
Typical website builders

Monthly fees that climb, templates everyone recognizes, and a platform that holds your website hostage, because leaving means starting over.

Stormy CMS

Start free and own every line of your website. Any developer, or any AI agent, can maintain it, so you're never stuck with one vendor, one agency, or one bill.

Every other headless CMS

The editor lives on their servers, behind their login, with their schema portal. You define every content model twice and hope the two stay in sync.

Stormy CMS

The editor is code in your repository. Your component definitions and CMS configuration provide one shared schema. Extend it, restyle it, and automate it.

Talk to us Project questions

Questions about starting with Stormy? Evaluating Stormy for a client?

Stormy scaffolds a website and editor into your project. Once a developer has set it up, day-to-day updates are made in a visual editor: change the words, swap photos, and publish.

Initial setup requires a developer or AI agent to run the CLI, configure credentials, and customize the generated project. Tell us what you are trying to build and we'll help you understand the product.

Scaffold a project with one command, then configure its credentials and customize the generated apps. Tell us about the project if you have questions about the fit or workflow.

Where are you starting from?

No obligation, and nothing to pay until you choose a plan. We'll reply by email with a few questions and what happens next.

Why Stormy

Everything downstream of one idea: you own your website. Everything downstream of one idea: you own the code.

No rented page builders. No hostage platforms. Stormy gives you a real website, built from real code your business owns, with an editor made just for it. That changes the economics of everything that comes after.

Stormy is codegen-first. Instead of hiding the important parts behind a hosted panel or a node_modules folder, it generates real, readable code into your project, then gets out of your way.

A practical free tier

Start with the core editor and content API. The free tier has plan limits but no trial countdown. A payment method is required to create a subscription.

Edit like a document

Click a block, change the words, swap the photo, publish when it's right. If you can fill out a form, you can run your website. No training week required.

What you see is what ships

Your editor renders your actual website, not an approximation of it. The preview you approve is exactly what your visitors get. No surprises after publish.

Minutes, not billable hours

Your whole site lives in one tidy project, so developers find everything fast. Small changes stay small, and so do the invoices.

Hand it to an AI agent

Stormy sites are built so AI agents can see and manage everything. Routine updates can cost you a prompt instead of a project, with confidence instead of crossed fingers.

Never locked in

Your generated website, editor, and components live in your repository. Change developers, agencies, or hosting providers whenever you like; export Stormy-hosted content before ending your subscription.

Own your editor

stormy init scaffolds a complete page, layout, and media editor into your project. It works out of the box, and because it's your code, there's no customization ceiling. Ever.

One source of truth

No external schema portal, no duplicate definitions, no drift. The same React components render your public site and drive the editor's forms and live previews.

Built for AI agents

Your whole CMS (components, schema, editor) is local files. Coding agents get complete context and fine-grained control without credentials to some external system.

A hosted API that keeps up

Pages, layouts, media, users, and roles are served by a single GraphQL endpoint, built in Rust for the performance your content deserves. We run the API; you run everything else.

Codegen, not lock-in

Generated code is a starting point, not a cage. Read it, change it, delete it. If you outgrow a convention, you're never stuck waiting on a vendor roadmap.

Batteries included

OAuth sign-in with short-lived tokens, per-site roles and email invites, and an S3-backed media library that keeps your assets in storage you control.

Your editing experience

Editing that feels like filling out a form, because it is.

Your developer defines the building blocks once. After that, every block on your site opens as a simple form. No page-builder spaghetti, no accidental redesigns at 5 PM on a Friday.

  1. Pick a block on your page Headings, text, photos, buttons: everything on your site is a labeled block you can click.
  2. Fill in the form Change the words, swap the image, choose from options your developer set up. You can't break the design. The guardrails are built in.
  3. Publish when it's right The preview is your real website, pixel for pixel. What you approve is what your visitors see.
One schema, zero duplication

Your component signature is your schema.

Wrap a component with withCMS and it becomes an editable building block, with typed props, form fields, and placement rules. The CLI can even infer a starting schema from your props.

  1. Write a React component A plain component with plain props. Nothing proprietary, nothing to unlearn.
  2. Register its fields once Map props to editor controls (inputs, markdown, media pickers, repeatable lists) and set nesting rules, right next to the component.
  3. Both apps just use it The public site renders it; the editor builds its palette, forms, and live previews from it. What editors see is exactly what ships.
packages/components/index.ts
import { withCMS } from '@stormycms/react/cms';
import { Heading } from './src/heading';

export default {
	Heading: withCMS(
		{
			export: 'Heading',
			label: 'Heading',
			fields: [
				{ label: 'Text', prop: 'text', field: 'input', required: true },
				{ label: 'Level', prop: 'level', field: 'select',
					options: ['h1', 'h2', 'h3'] },
			],
			noChildren: true,
		},
		Heading,
	),
	// …the same map powers your site AND your editor
};
How it works

From zero to publishing in three steps.

Create your free site

Sign up at account.stormycms.com and choose a plan for your site. A payment method is required to create a subscription, including the free tier.

Have it set up in minutes

Hand your site credentials to your developer, or to an AI agent. One command builds your entire website and its editor, ready to customize.

Edit and publish yourself

From then on, day-to-day updates are yours: click a block, change the words, publish. No tickets, no waiting, no hourly rate.

Create your site

Sign up at account.stormycms.com, choose a plan, and create a site to get your client credentials. A payment method is required to create a subscription.

Scaffold your project

One command generates the public site, your own admin editor, and a shared components package, wired together and ready to run.

npx @stormycms/cli init

Build and publish

Run pnpm dev, sign in to your editor, and compose pages from your own components. Deploy the two apps anywhere Next.js runs.

“If you don't own the code you use, you're not riding on the shoulders of giants; you're shackled by them.

The principle behind everything Stormy generates: real, readable code in your repository, never a black box buried in node_modules.

Pricing

Start free. Upgrade when it earns it.

The free tier includes the core editor and content API, subject to plan limits, with no trial clock. A payment method is required to create a subscription. Paid plans add capacity; see the account portal for current details.

Free

$0 /month

  • Your own scaffolded editor
  • GraphQL content API
  • Plan limits apply
  • Payment method required
Create your free site
FAQ

Questions, answered.

How is Stormy different from other headless CMSs?

With most headless platforms, the editor lives on the vendor's servers behind their login, and you maintain a schema in their portal that mirrors your components, defining everything twice. Stormy scaffolds the entire editor into your repository. Your React components define the schema, render the public site, and power the editor previews: one source of truth you fully control.

Do I have to build the editor myself?

No. stormy init scaffolds a complete, working project: a public Next.js site, a full page/layout/media editor, and a shared components package. It works out of the box, and you customize it only if and when you want to. See the getting started guide.

I'm not a developer. Can I still use Stormy?

The generated editor is designed for day-to-day content updates: pick a block, change the words, and publish. Initial project setup requires a developer or AI agent to run the CLI and configure the project.

Which frameworks does Stormy support?

Next.js with React is fully supported today via the official boilerplate and the @stormycms/react and @stormycms/next packages. The CLI is built on a plugin system, with support for more frameworks planned.

How much does it cost?

Stormy has a $0/month free tier with the core editor and content API, subject to plan limits. There is no trial clock, but a payment method is required to create a subscription. Paid plans add capacity; see the account portal for current names, prices, seats, and API allowances.

Where is my content and media stored?

Content (pages, layouts, component trees, and metadata) is stored and served by Stormy's hosted GraphQL API, built in Rust for speed. Media uploads go to your own S3-compatible bucket, so your assets stay in storage you control.

Can I leave Stormy later?

Your generated website, editor, and components remain in your repository, so you can change developers or hosting providers. Stormy-hosted content is available through the API while your subscription is active; export it before cancelling or deleting an account, subject to the Terms of Service.

Does it work with AI coding agents?

Yes, it's a core design goal. Because the components, schema, and editor are ordinary files in your repo, agents get complete context and fine-grained control without credentials to an external system. An agent can create a component, register its fields, and see it live in the editor in one pass.

Stop renting your website. Take back your editor.

Start free today and own the whole thing: the site, the editor, and every line of code behind them. If it's not for you, you've lost nothing.

Scaffold a real project in minutes: a site, an editor, and components in your repository. If the storm isn't for you, you've lost nothing but a git init.