v1.3 · Open Source
SpliceCMS is a self-hosted, GitHub-backed headless CMS. Every save is a commit. No database to manage, no vendor lock-in, no surprises — just files.
How it works
Three steps, zero magic. SpliceCMS sits between your editors and your GitHub repo — no proprietary database, no data migration, no lock-in.
OAuth authentication means no separate accounts to manage. Permissions are inherited directly from your GitHub repo access and the roles defined in your config.
→Click any tagged region in the live preview to edit it with a rich contenteditable editor. Or switch to the Code tab for full-source CodeMirror editing. Changes are tracked locally until you commit.
→Hitting Save writes the file directly to GitHub via the Contents API. Your existing CI/CD pipeline — GitHub Actions, Netlify, Vercel — picks it up from there. SpliceCMS doesn't touch your deploy.
Features
Live preview with click-to-edit contenteditable regions. Tag any block element as editable without touching code.
Full-file code editing for HTML, CSS, JavaScript, Markdown, and YAML. Syntax highlighting and smart completions included.
Browse folders, drag-and-drop uploads, copy URLs, create folders, and delete files — all backed by the GitHub Contents API.
Edit on feature branches and open pull requests for review without leaving the CMS. Full branch switching built in.
Git-nativeOpt-in AI rewriting via Anthropic, OpenAI, Azure OpenAI, or Azure AI Foundry. Attach context files to guide the model.
Opt-inPer-repo editor and admin roles. allowedPaths restricts which folders each user can touch — enforced server-side, not just in the UI.
Responsive layout with a slide-out file tree. Full editing capability on phones and tablets — even touch-device image pickers.
No Postgres, no MongoDB, no Redis. GitHub is the content store, the version history, and the access control layer.
An authenticated asset proxy rewrites image URLs so private-repo assets render correctly inside the CMS preview without leaking tokens to the browser.
Configuration
Drop a splicecms.config.json in the repo root. Define your repos, access rules, branding, and AI settings. No admin UI to learn.
{
"id": "acme-site",
"name": "Acme CMS",
"branding": {
"primaryColor": "#539D27"
},
"repos": [{
"owner": "acme",
"repo": "website",
"allowedPaths": ["/pages", "/blog"],
"roles": {
"alice": "admin",
"bob": "editor"
}
}],
"ai": {
"provider": "anthropic",
"model": "claude-sonnet-4-5",
"features": {
"contentRewrite": true
},
"limits": {
"requestsPerUserPerDay": 50
}
}
}
AI Features
AI is entirely opt-in. When enabled, editors can rewrite regions, full pages, or raw source with a single instruction — and attach context files like stylesheets so the model understands your brand.
Use Cases
SpliceCMS scales from a personal site to a fully white-labelled client platform without changing the codebase.
Your own repos, your own deployment. Full access with no user management required.
Your shared deployment, clients log in with their own GitHub accounts and see only their repos.
Isolated deployment on the client's own domain, with their GitHub OAuth App and custom branding.
Open Source · Self-Hosted · MIT License
Clone the repo, point it at your GitHub, and you're editing in under ten minutes.
git clone https://github.com/your-org/splicecms