Add Editability to your Next.js site. Edit copy in place. Publish as a GitHub commit.
Let non-technical teammates edit text on the live site, review a friendly diff, then publish changes as a commit that triggers your normal CI redeploy. Guests can enter edit mode from the floating Edit button and preview everything before sign-in.
Edit in place
Edit headings, lists, and links in place, with a true WYSIWYG preview.
Git-native workflow
Publish creates one commit with attribution (or hashed editor email for public repos). Review, rollback, and audit in Git.
No extra state
No CMS, no database. Content stays inside your components in the repo.
Editor-only cost
The Lexical editor bundle only loads in edit mode.
How it works
1. Wrap content
Developers wrap existing blocks with the Editability component.
2. Guest preview
Anyone can open the editing UI and iterate locally without auth.
3. Sign in to publish
Publishing is locked until allowlisted Google identity is verified. Then one GitHub commit is created.
4. CI redeploys
Your existing pipeline (Vercel or similar) deploys the change.
What it is (and is not)
It is
- Inline editing for existing Next.js text blocks.
- One commit per publish with clear history.
- Great for marketing sites, docs, and content-heavy pages.
- Minimal setup with no extra database.
It is not (v0)
- A page builder or full CMS.
- A full schema/modeling platform with migrations and admin workflows.
- Built for highly dynamic app UIs.
- Supporting images, tables, or complex layouts.
Minimal setup
Install and wrap
Install two packages, wrap text blocks, add one API route, use EditableDocumentView for docs split mode, and opt into `_draft/[slug]` preview routes for collection items when needed.
pnpm add @editability/next @editability/swc
// next.config.ts
export default withEditability(nextConfig);
// app/api/editability/[...action]/route.ts
export { GET, POST } from "@editability/next/api";Set your env
Use a Google client ID and a fine-grained GitHub token. Optional deploy webhook support is built in.
EDITABILITY_GOOGLE_CLIENT_ID=... EDITABILITY_SESSION_SECRET=... EDITABILITY_GITHUB_TOKEN=... EDITABILITY_REPO_OWNER=... EDITABILITY_REPO_NAME=... # optional EDITABILITY_DEPLOY_WEBHOOK_URL=...
Honest by design
Editability is intentionally small and boring. It avoids hidden state, keeps edits in Git, and stays out of the way.
If you need a full CMS or a page builder, this is not that.