v0.3 · Open Source
SpliceCMS is a self-hosted, Git-backed headless CMS. Every save is a commit. Works with GitHub, GitLab, and Azure DevOps. 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 Git repo — works with GitHub, GitLab, and Azure DevOps. No proprietary database, no data migration, no lock-in.
OAuth authentication via GitHub, GitLab, or Azure DevOps — no separate accounts to manage. Permissions are inherited from your provider 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 your Git host via the provider API. Your existing CI/CD pipeline — GitHub Actions, GitLab CI, Azure Pipelines, 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 (GitHub/ADO) or merge requests (GitLab) 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. Your Git provider 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.
All three providers active simultaneously in one instance. Mix GitHub, self-hosted GitLab, and Azure DevOps repos in a single config — each with its own OAuth flow.
Multi-providerEdit JSON and JS data files as a spreadsheet-style table. Primitive values inline; object rows open a form modal with per-field inputs. Switch to raw CodeMirror at any time.
NewIntegrations
SpliceCMS talks to GitHub, GitLab, and Azure DevOps simultaneously. Mix providers in a single deployment — each repo specifies its own provider and authenticates independently.
The original integration. OAuth App + GitHub Contents API for reads, writes, branches, and pull requests. Works with github.com and GitHub Enterprise.
Full parity with the GitHub integration. Supports gitlab.com and any self-hosted GitLab instance. Set GITLAB_HOST for private instances.
Authenticated via Azure AD (Microsoft Entra ID) using a single delegated user_impersonation permission — no admin consent required in most tenants.
JSON Array Editor
Open any .json or .js (or jsx, .ts, .tsx) file containing an array and SpliceCMS renders it as an editable spreadsheet — no hand-editing raw JSON required.
const/export default array declarations in .js and .ts files| name | role | |
|---|---|---|
| Alice Chen | Engineering | |
| Carol Smith | Product |
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",
/* GitHub (default) */
"allowedPaths": ["/pages"],
"roles": { "alice": "admin" }
},
{
"owner": "acme-group", "repo": "docs",
"provider": "gitlab", /* self-hosted OK */
"allowedPaths": ["/"]
},
{
"owner": "acme-org", "repo": "marketing",
"provider": "devops",
"project": "acme-project", /* ADO only */
"allowedPaths": ["/content"]
}
],
"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 provider accounts and see only their repos.
Isolated deployment on the client's own domain, with their OAuth App, Git host, and custom branding.
Open Source · Self-Hosted · MIT License
Clone the repo and point it at your GitHub, GitLab, or Azure DevOps — and you're editing in under ten minutes. Or let SpliceCloud handle the ops.
git clone https://github.com/your-org/splicecms