Docup

Features

Everything between a repository and a docs site people trust

Generation is where Docup starts. The rest is what makes the site worth linking to: hosting, sync, editing, search and a way to know what readers need.

Generation

Every sentence traces back to a line of code

Pages are written with the relevant source retrieved on demand, and each claim keeps the file and line it came from. Before publishing, identifiers, signatures and links are checked against the parsed code; anything that fails is rewritten or removed.

  • Overview, quickstart, guides and reference from one run
  • Reference pages built from real signatures, not comments
  • Citations stay attached to the page for readers who want the source
Writing · guides/retries.md

Retries and backoff

Relay retries failed deliveries up to five times by default src/retry/policy.ts:12, waiting between attempts with exponential backoff and full jitter src/retry/policy.ts:41. Once attempts are exhausted the event is moved to the dead-letter queue src/client.ts:88 and a DeliveryError is raised src/errors.ts:27.

retrieving src/retry/policy.ts · 2 of 4 sources
Verification · guides/retries.md
  • Identifiers exist in source214 / 214
  • Internal links resolve38 / 38
  • Code samples parse12 / 12
  • Signatures match declarations61 / 61

1 sentence rewritten

Retries default to three attempts. Retries default to five attempts. src/retry/policy.ts:12

Hosting

On docup.dev today, on your domain when you are ready

Every project is served at {you}.docup.dev/{project} from an edge network with server-rendered HTML. Add a custom domain from the project settings: prove ownership with a TXT record, point a CNAME, and a certificate is issued as soon as DNS resolves.

  • Automatic TLS with renewal
  • The docup.dev address redirects to the custom domain
  • Logo, colours and fonts from the project settings
Project · relay · Domain

Custom domain

docs.acme.com
TypeNameValueCNAMEdocscname.docup.devTXT_docup.docsdocup-verify=7c1e…
  • DNS resolves
  • Ownership verified
  • Certificate issued · renews automatically
  • acme.docup.dev/relay redirects here

Sync

Follows the branch, rewrites only what changed

A push to the tracked branch starts an incremental run. Changed files are re-summarised, pages that depend on them are rewritten, and the rest of the site is untouched. A run that changes nothing is skipped in seconds.

  • Choose the branch to follow per project
  • Publish automatically, or land every run as a draft to review
  • Every run is listed with its commit, pages and duration
Project · relay · Runs
TriggerCommitPagesDurationResult
pusha3f9c1e2 rewritten48sPublished
push9d2b0f41 rewritten31sPublished
push5b0d19fno changes6sSkipped
manualc71e88a14 written4m 12sPublished

Editing

Change anything before it goes live

Open any page in a Markdown editor with a live preview, fix the wording, add an example, and publish. Every publish is a version; roll back to any earlier one from the project page.

  • Edits are kept until the page's sources change
  • Version history with restore on Pro
  • Pin a page to keep it out of future regenerations
Editing · quickstart.md · draft
1# Quickstart2 3Install the package and create a client:4 5```bash6npm install @acme/relay7```8 9Then deliver your first event with10`client.send()`.

Quickstart

Install the package and create a client:

npm install @acme/relay

Then deliver your first event with client.send().

Unpublished changes · v14 livePublish

Discoverability

Readable by search engines and AI assistants alike

Every site ships server-rendered HTML, a sitemap, canonical URLs and OpenGraph tags. It also publishes llms.txt and a Markdown copy of each page at the same path, so assistants read exactly what your readers do.

  • Instant full-text search on every plan
  • AI crawlers allowed by default, switchable per project
  • Clean URLs that survive regeneration
acme.docup.dev/relay200
  • /sitemap.xmlapplication/xml
  • /llms.txttext/plain
  • /llms-full.txttext/plain
  • /guides/retriestext/html
  • /guides/retries.mdtext/markdown
  • /robots.txttext/plain

AI assistant

Answers grounded in the docs, with the source attached

Turn on the assistant for a project and readers can ask questions in plain language. Answers are composed from the published pages and cite both the page and the source file behind it, so a reader can always verify.

  • Add-on per project, on Pro
  • Questions readers ask appear in analytics
  • Never answers from outside the project's docs
Ask the docs

What happens to events that are still in flight when I rotate the secret?

Nothing is dropped. After rotateSecret() new events are signed with the new secret, and verify() keeps accepting the previous one for an hour, so receivers can roll over at their own pace.

guides/signingsrc/signing.ts:52

Ask a question about Relay…

Analytics

Know which pages matter and which are missing

Page views, top pages, referrers, and the two signals that tell you what to write next: searches that returned nothing and questions the assistant could not answer.

  • Privacy-friendly, no cookies
  • Per project, on Pro
Analytics · last 30 days

Page views

8,412

Searches with no result

  • websocket transportwrite a page
  • python sdkwrite a page
  • rate limitswrite a page

Compared

Against the alternatives

Most teams are choosing between writing docs by hand, a docs-as-code framework, or nothing.

By handDocs-as-codeDocup
Time to a complete siteWeeksDays of setup, then weeksMinutes
Keeping it currentWhoever remembersPR disciplineEvery push, automatically
Reference pagesRarely writtenGenerated from commentsWritten from signatures and usage
Hosting and TLSYour problemYour problemIncluded
Search, sitemap, llms.txtPluginsPluginsIncluded
Edits survive regenerationn/an/aUntil the source changes, with history

Start now, read the docs before you decide

Connect a repository and the first generation is on us. No card, no configuration files, nothing to install.