Skip to main content

GitHub

Managed repo

Zero-Git onboarding — we create the repo, install the GitHub App, and seed it with a starter template. You just write.

A managed repo is chosen during project creation by picking "Let NookDocs host the repo for you" — a browser action, with no API to provision one. NookDocs creates a private repo at github.com/nookdocs-projects/<your-slug>, seeds it with a flat starter (nookdocs.config.json, introduction.mdx, quickstart.mdx, logo/light.svg, logo/dark.svg — content at the base, no docs/ subfolder), and syncs it to a live site. You can still clone, branch, and PR via local Git; the editor enforces single-branch main. Two reversible migrations exist, both via Settings → Git: "Migrate to your GitHub" moves to a self-hosted repo you own (the managed repo is archived, not deleted), and the self-hosted "Host on NookDocs" button brings a project back onto managed hosting.

What you get

When you pick "Let NookDocs host the repo for you" during project creation, we provision a private GitHub repo on your behalf and connect it to your project in a single click. No Git, no SSH keys, no GitHub App install dance.

Zero Git knowledge

The editor commits feel like a CMS. You never see a branch, a merge, or a rebase unless you want to.

Pre-installed app

Our GitHub App is already on the hosting org, so sync works the instant the repo exists — no OAuth page, no permission review.

Seeded starter

The new repo ships with nookdocs.config.json, a working navigation, and a welcome page — all flat at the base. You're viewing rendered docs within 10 seconds of project creation.

How it works

  1. On project create, we provision a private repo at github.com/nookdocs-projects/<your-slug>.

  2. We seed it with (a flat layout — content sits at the base, no docs/ subfolder):

    • nookdocs.config.json — starter config that matches the project name + theme you picked.

    • introduction.mdx — a welcome page.

    • quickstart.mdx — a starter quickstart.

    • logo/light.svg + logo/dark.svg — placeholder logos.

  3. We install our GitHub App (it's already on the nookdocs-projects org, so this is a no-op under the hood).

  4. A webhook fires, the sync pipeline runs, and <your-slug>.nookdocs.site goes live.

New project → managed repo → webhook → sync pipeline → live site

End-to-end project creation to live site typically takes 10–30 seconds.

What you can still do

Managed doesn't mean locked. You have the same Git superpowers a self-hosted repo gives you — you just don't need them.

  • Clone locallygit clone git@github.com:nookdocs-projects/<your-slug>.git. Edit, commit, push. The sync pipeline runs the same way.

  • Open pull requests — commit to a branch, open a PR, merge when ready. The editor's branch selector stays single-branch by default, but local Git works fully.

  • Add collaborators — we mirror your NookDocs org members to the managed repo automatically. Adding a teammate in Settings → Members grants them repo access.

Limitations

You don't own the repo — we do. If that's a blocker, use a self-hosted repo instead.

  • Repo ownership: the repo lives under nookdocs-projects, not your GitHub org. For most customers this is invisible, but if your company requires docs repos under your own org, self-host.

  • No third-party GitHub Apps — we don't let other apps install on the managed org. If you rely on a CI check or Linear/Slack integration that runs via GitHub App, you'll need self-hosted.

  • Deletion is permanent — when you delete a project, we delete the repo and its history. Export first if you want a copy.

Migrating off

You're not locked in. In Settings → Git, the managed repository card has a Migrate to your GitHub button that moves the project to a repo you own — instantly, no support ticket and no waiting.

Pick the destination account

The modal lists every GitHub account/org you've connected the NookDocs App to. Don't see the right one? Connect another account installs the App on a new org or personal account without leaving the modal.

Choose or create the repo

Either select an existing empty repo or create a new one (name + private/public). Non-empty existing repos are rejected so we never overwrite your code.

We copy your content over

Your docs (every file on main) are copied into the destination repo in a single commit. The project flips to self-hosted mode and starts syncing from your repo. Your site stays live the whole time.

The managed repo is archived

We archive (not delete) the old managed repo, so it stops cluttering the hosting org but stays recoverable if something looks off. Nothing breaks mid-flight.

Changed your mind later? You can come back the other way — Host on NookDocs on a self-hosted project's Git settings brings it back onto managed hosting. See self-hosted repo → Switch to managed hosting.

Branch creation

The editor's branch selector is hidden for managed repos — we enforce single-branch (main) operation to keep the Zero-Git promise honest. If you need branches, either:

  • Use Git locally (git checkout -b feature/xyz; git push), then open a PR.

  • Migrate to your own repo, where the editor exposes full branch support.

Deletion

Deleting a project deletes its managed repo. We prompt you twice — once to confirm the project delete, once to confirm the repo delete — and require you to type the project slug to proceed. There's no undo.

Next

Self-hosted repo

For teams that want repo ownership in their own GitHub org.

Editor overview

How to actually use the editor you just connected.

Was this page helpful?

Last updated August 11, 2026