Your editors write. PullPress opens the pull request.
A friendly CMS for websites that live in Git. Writers get a clean editor — you get real commits, reviews and history. No Git jargon, ever.
Built for agencies and developers who run client sites on GitHub Pages, Netlify and friends.
How it works
From idea to merged in three steps
One-time setup for you, zero setup for your writers.
Connect your repo
Install the PullPress GitHub App on the repository. PullPress reads your existing content and proposes the structure and fields automatically — accept or tweak, done.
Editors just write
They log in with a magic link and get friendly forms and a clean editor. No accounts on GitHub, no checkout, no command line.
Review & publish
Every change becomes a tidy pull request. Review the diff, or let trusted editors publish directly. Merge = live.
Editorial workflow
An editorial workflow, not a Git tutorial
Writers see friendly statuses like “Waiting for approval” and “Published” — while Git quietly keeps the full history, approvals and rollbacks underneath.
Features
Everything an editorial team needs, nothing your repo regrets
An editor built for non-technical writers
Slash commands, drag-and-drop and paste-to-upload images with alt prompts, live word count and reading time, autosave, save with ⌘/Ctrl+S, friendly validation, and a ⌘K command palette. It always writes clean Markdown — content it can't model opens in a protected source mode.
Review and collaborate without leaving the app
Read the diff, discuss in a comment thread, @mention and assign teammates, resolve threads, approve with one click, schedule for later, or reject with a reason the writer can act on — they adjust and resubmit on the same change.
A publishing flow per site
Small site? Submissions go live instantly. Bigger site? Approve in PullPress, or require the final merge on GitHub under branch protection.
Connects itself to your site
PullPress detects your generator, layout (including folder-per-post bundles) and frontmatter fields from the content that's already there.
Structured content from simple forms
24 field types — from dates, colors and maps to relations between collections, conditional fields and stackable page sections. Opening hours, team members, menus: fields, not code.
Plan on a content board
A Kanban board with an Ideas stage — Ideas → Draft → In review → Published — and an editorial calendar of scheduled and published work.
Media library in your repo
Upload once (auto-optimized), reuse everywhere with alt text, or pull in free stock photos. Images and video land in your repo — committed, versioned, yours.
Search & SEO built in
Full-text search across every collection, plus an SEO field with title/description hints, canonical URL, OpenGraph image and ready-to-emit JSON-LD.
History and one-click restore
Every entry shows its full git history. Restore an older version as a draft that follows the normal review flow.
Multilingual, with one-click AI translation
Language variants as sibling files (post.fr.md), a language bar on every entry, 'create translation', and an AI translate button that keeps your Markdown intact.
Built for agencies
One dashboard for every client site, roles down to individual collections, viewer access, and white-label branding per client.
No lock-in
Your content is plain Markdown and YAML in your own repo; import from WordPress, and leave anytime keeping everything — history included.
AI
AI that works through your review, not around it
Every AI change lands as a draft in the same review flow your team already uses — a human still approves. Opt-in: bring your own key, and the AI features simply appear.
Translate in one click
Turn any text or Markdown field into another language in place, with formatting, links and code kept intact.
Diffs explained in plain language
On the review screen, get a short, plain-language summary of what actually changed — so non-technical approvers don't have to read a diff.
Content agents via MCP
Connect Claude or ChatGPT with a personal token. Agents draft and submit through the exact same path as editors — same permissions, same review, same audit trail.
Anything that runs on Markdown.
Simple pricing that grows with you.
Start free with one site and your whole team. Upgrade for more sites when you grow — cancel anytime.
FAQ
Frequently asked questions
Do my editors need a GitHub account?
No. Editors sign in with a magic link — no passwords, no GitHub. Behind the scenes a GitHub App acts on their behalf, and every change is credited to the editor who made it.
What happens when an editor saves?
PullPress creates a branch and a commit in your repository. When the editor submits their work, it opens a pull request — which you review and merge like any other PR.
Can I review changes before they go live?
Yes — that's the default. You review the change inside PullPress (with a readable diff and an optional live preview), approve, schedule it for later, or reject it with a reason the writer can act on. Larger sites can require the final merge on GitHub under branch protection.
Can changes go live at a scheduled time?
Yes. Approvers can pick a date and time; PullPress merges the change automatically when the moment arrives.
Does it use AI? Can AI write content for me?
Optionally. Add your own API key and you get in-editor translation and plain-language summaries of each change. You can also connect Claude or ChatGPT as content agents over MCP — they draft and submit through the same review flow as any editor, so a human always approves before anything goes live. No key, no AI: the features simply stay hidden.
Can I migrate my existing content?
Your content already lives in your repo, so PullPress edits it in place. Coming from WordPress? Upload a WXR export and PullPress turns it into Markdown entries as one change to review.
What if I stop using PullPress?
Nothing breaks. Your content is already sitting in your repository as plain Markdown and YAML. Uninstall the GitHub App and keep everything.
Which site generators does it work with?
Any generator that reads Markdown or YAML from the repo: Astro, Hugo, Jekyll, Eleventy, Next.js, and friends. If your site builds from files in Git, PullPress fits.
Is my repo safe?
The GitHub App can only touch content and pull requests; it cannot change workflows or settings. You can also restrict it to the paths where your content lives.
Give your editors a door into the repo — without handing them the keys.
Set up your first site in minutes. Free for one site and one editor.