Review docs the way you review code
Open a change request, edit on a branch of your space, and merge only when reviewers approve. The live docs stay untouched until then.
A branch for every change
A change request copies the main branch of a space. Edit pages, add new ones or reorganise the tree — nobody sees it until it merges.
Branch from main
Start a draft, then open it for review when it’s ready. Each change request is numbered per space.
See exactly what changed
Pages are marked added, removed, modified or moved, with a block-level diff shown side by side or inline.
Approve or request changes
Reviewers approve, ask for changes or just comment. Nobody can approve their own change request.
Discuss in context
Comment threads on the change request and on individual pages, with replies and edits.
Merges that understand documents
Docsheaf runs a three-way merge between the change request, its starting point and the current main branch.
Block-by-block merging
Two people editing different blocks of the same page merge cleanly. Only overlapping edits are a conflict.
Clear conflict resolution
When the same thing changed on both sides, choose main or the change request for each page — then merge.
Update from main
Bring the latest main into a long-running change request so reviewers always see a current diff.
Rules that protect your published docs
Decide how much ceremony each space needs.
Locked spaces
Switch a space from live editing to locked, and every edit has to go through a change request.
Require approval
Merge rules require at least one approval and no outstanding change requests — enforced by the server, not the UI.
Roles that fit review
Reviewers can approve, editors can edit and merge, commenters can join the discussion.
A revision for every merge
Each merge records an immutable revision of the space, so the history of your docs is always there.
Audit trail
Merges are recorded in the organization audit log with who did it and when.
Learn moreAutomate it
Create, update, review and merge change requests through the REST API.
Learn moreHow a change request flows
- 1
Open a change request
Start from the space you want to change. Your branch is a full copy of main.
- 2
Edit and request review
Write in the block editor, then move the change request from draft to open.
- 3
Review, merge, publish
Reviewers approve on the diff, you merge, and the published site updates.
Frequently asked questions
What is a change request?
A branch of a space where you can edit freely. When you’re done, reviewers look at the diff and you merge the changes into the main branch — like a pull request for docs.
What happens when two change requests edit the same page?
Docsheaf merges them block by block. If they changed different blocks, both edits are kept. If they changed the same block or field, you pick which version wins for that page before merging.
Can I require approval before merging?
Yes. Turn on the “require approval” merge rule for a space and a change request can only merge with at least one approval and no outstanding requests for changes.
Who can review and merge?
Reviewers and above can approve or request changes. Editors and above can edit and merge, subject to the space’s merge rules.
Do I have to use change requests?
No. Spaces in live mode can be edited directly on main, with change requests for bigger work. Locked spaces require a change request for every edit.
Accurate docs. Better answers.
Start writing for free, or talk to us about bringing your team and your existing docs.