You write docs the same way you write code: in branches, reviewed by a human, deployed automatically. This page covers the mechanics.Documentation Index
Fetch the complete documentation index at: https://internal.september.wtf/llms.txt
Use this file to discover all available pages before exploring further.
Setup
http://localhost:3000. Edits
to .mdx files are picked up live.
Writing a new page
- Decide which tab the page belongs in: Platform, Operations, or Internal.
- Decide the Diátaxis mode: tutorial, how-to, conceptual, or reference. See the style guide.
- Write the page in
.mdxwith frontmatter: - Add the page to
docs.jsonso it shows up in the navigation. The build will fail if you forget. - Cross-link from related pages.
- Open a PR.
Reviewing a doc PR
Reviewers check:- Mode purity. Page is one Diátaxis quadrant, not several.
- Voice. Right person, right tense.
- Accuracy. Endpoint paths, env var names, types — all match the Engine’s current behavior.
- Code samples run. Reviewer should be able to copy-paste and have it work.
- Cross-links. First mention links to canonical reference.
- Internal/public split. Anything sensitive is gated.
- Style. Sentence case, no marketing words, no exclamation marks.
Build flavors
The same source builds two outputs:- Public build. Strips pages with
internal: truein frontmatter. Stripsinternal: trueblocks within pages (Mintlify supports conditional content). - Internal build. Includes everything.
scripts/strip-internal.mjs (TODO — script lands
with the first deploy).
When to ask
- Should this be a new page or an addition to an existing one? — ask in PR review.
- Should this be public or internal? — when in doubt, internal.
- Substantial reshape of the docs surface? — discuss in the docs channel before opening a large PR.
Pulling docs from the Engine source
Some pages — env vars, endpoints, event types — are best as auto-generated content. Today they’re hand-written but kept in sync with the engine repo. The longer-term plan is a generator that reads the engine source on every build and emits a_generated/ tree, which is
gitignored.
Test before merging
There’s no CI test that catches a misleading paragraph, but there is one for broken links and frontmatter. The Mintlify CLI runs both:After merging
Mintlify rebuilds and redeploys automatically. The internal site updates within a couple of minutes. The public site updates on the next release window — see the release calendar.Learning more
README.mdfor the repo layout.CONTRIBUTING.mdfor the public-facing version of this page (briefer).- Style guide for voice and structure.

