I am building _exactly_ this for my org for the past month, using Nuxt Content.
A "draft" is a row in a database with live preview. Users can click a button to make a checkpoint (git commit, by GitHub API, but they don't know that). When they click "publish", the PR for their draft is merged.
Writers in my team can use a nice Tiptap editor with custom components. I get the change management of git.
The API for reading content and editing drafts is also exposed over MCP meaning AI can collaborate in the authoring process from anywhere that can connect to MCP.
Loving it so far.