Framed CMS · Free · Open spec

An instruction, not an SDK.

Framed CMS is a spec — a single markdown file your AI builder reads, then generates a complete CMS natively inside your workspace. Widget, dashboard, wizard, design tokens. No package to install, no script to embed, no account to create.

Install one-liner
Read and install the Framed CMS skill from https://skills.framed.dev/cms
Why this shape

Specs survive longer than SDKs.

Most "AI-native" tools ship a package or a script. Three years from now, that package has a breaking change, the SaaS pivoted, the CDN went down. Framed CMS sidesteps that loop entirely.

The skill is the product

What we ship is a markdown spec — describing the widget, the dashboard, the auth flow, the design tokens. The AI builder turns that spec into code in your stack.

Native, not bundled

The generated CMS uses your framework, your bundler, your design system. No @framed-dev/* in your dependencies. No version pin to manage.

Owned by you

Every file the AI generates is yours — committed to your repo, reviewed in your PRs, deployed by your pipeline. You can keep it, fork it, throw it away.

Updatable in place

When we update the skill, re-running the install regenerates the components against the new spec. Your AI builder shows the diff, you accept the parts you want.

No telemetry on your visitors

The generated widget talks to your backend, not ours. We never see your visitors, your content, or your feedback queue.

Easy to remove

Don't like it? Delete the generated files. There's nothing else to clean up. No dashboard to deactivate, no account to delete.

Supported builders

Works wherever your AI lives.

We validate the skill against multiple AI builders so the install one-liner just works. If your builder can read a markdown URL and write code, it can install Framed CMS.

LovableBoltv0CursorClaude CodeCodex

Bolt is the reference target — every release is validated there first. Compatibility with the other builders is tracked in our public test log.

What the AI generates

Four things, all in your stack.

The widget

Renders on your live site as a small overlay. Visitors can flag content; editors can pick an element and edit it inline. State machine for element-select is documented in the spec — no ambiguity in what the AI generates.

<FramedCmsWidget />
// rendered conditionally for admins,
// element-select aware, no external runtime

The admin dashboard

Kanban triage of feedback + content edits. Cards, drag-and-drop, auto-refresh. Ships under /admin in your workspace, authenticated against your existing system.

/admin → CMSDashboard
// kanban columns: new · in-progress · done
// realtime auto-refresh

The first-run wizard

Password-default auth flow for the first admin user. Set up once during install; subsequent admins land via your existing login. No vendor lock-in.

/admin/setup → FirstRunWizard
// hashes the password locally,
// stores it via your DB adapter

Design-tokens reference

A reference of the Framed v2 design language as CSS variables — colors, type, radii. Your generated UI matches automatically; override every token to match your site.

// design-tokens.css (generated)
:root {
  --bg: #ffffff;
  --text: #1a1a1a;
  /* … */
}
Transparency

Three optional calls back to Framed.

None of these touch your visitors' data or your feedback queue. All three can be disabled by deleting one line in the generated code.

  • POST /api/install
    Lead capture

    Fires once when the wizard finishes. We get site_id + admin_email. Helps us count installs and send (rare) product updates. Delete the fetch to disable.

  • GET /api/insights
    Free Lighthouse teasers

    Optional. Returns a short performance teaser to display in the admin dashboard. Cached server-side; never includes user content.

  • GET /api/upgrade-status
    Upsell flag

    Optional. Returns whether the site has access to paid Framed features. Default state is 'free'.

Install

Paste the line. Ship a CMS.

Free, MIT-licensed, no signup. Coming to Skill.sh soon for one-click install across more builders.

Install one-liner
Read and install the Framed CMS skill from https://skills.framed.dev/cms