Operations
Every repository can publish a website
A docs folder is a documentation site with navigation and search. Push to your default branch, and what a visitor reads is what the branch says.
It reads the repository, not a settings page
You do not pick a generator. The build looks at the tree and knows what to do with it.
- A
docs/folder is built by bunpress — no configuration required, and a config in the tree decides the title, sidebar and theme. - Markdown in the root, with a bunpress config, builds the same way.
- A
pages/folder or anindex.stxis rendered by stx. - An
index.htmlis already a site, and is published as it stands.
A repository with none of those is not a failure. It is a repository with no site, and the run says so and passes.
Private repositories can publish privately
A site defaults to whoever may read the repository, which for a private one means a signed-in member. Internal documentation gets a URL, a search index and a link you can paste, without becoming public.
A site somebody may not read answers 404, never 403 — because "you may not read this" confirms it exists.
Your build, not ours
The contract is one artifact named pages, containing your built site. Anything that can produce it publishes: the starter workflow, your own build script, a generator this product has never heard of.
Nothing runs on the forge
A documentation build executes your code — a config file is a module, a template evaluates expressions. So builds happen on the machines your CI already runs on, under the same isolation and the same fork policy, and this instance only publishes and serves the result.
The same rule decides what can publish: a pull request cannot replace a site, because a site has an address strangers read.
Your own domain
Point a CNAME at the site and it answers there instead. Same files, your name.
Publish the docs you already wrote
MIT licensed, open source, and yours to operate.