The Engine’s docs aim to be warm, conversational, respectful of the reader’s time, and concrete. This page is the long version of those vibes, with concrete rules.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.
Voice
- Second person for tutorials and how-tos. “You’ll send a request, read the response, and…” A tutorial is a thing the reader is doing. Address them.
- Third person for reference and conceptual. “The Engine returns…” “When the agent loop encounters…” Reference and explanation are about the system, not about the reader.
- Active voice. “The Engine returns” not “is returned by the Engine.”
- Present tense for behavior. “The Engine retries” not “the Engine will retry.”
- Past tense only for incidents. “On 2026-04-12 the Engine returned 500s for 12 minutes.”
Tone
- Warm, not cute. No emoji in technical content. No exclamation marks.
- Confident, not arrogant. State what the system does. Don’t apologize for what it doesn’t.
- Specific, not vague. Replace “many users” with a number or with “users who,” etc.
Structure
- Lead with the thing. Don’t open with three paragraphs of context before showing code. Show the smallest working example first; explain after.
- One thought per paragraph. If a paragraph has more than one argument, split it.
- Short sentences. Long sentences hide long thinking. Cut ruthlessly.
- Sentence-case headings. “Streaming events” not “Streaming Events” or “STREAMING EVENTS.” Product names keep their casing.
Headings
- Use
##for major sections,###for sub-sections. Avoid####. If you find yourself reaching for it, the page wants to be split. - Heading text should answer “what’s in this section?” — not “let’s talk
about X.”
- Bad: “About authentication”
- Good: “How requests are authenticated”
Lists
- Bullets when order doesn’t matter.
- Numbered when order matters.
- One sentence or short clause per bullet. If a bullet runs to three lines, it wants to be a sub-section instead.
Code
- Always tag code blocks with their language:
bash,python,js,ts,json,http,sql. - Code samples are real and tested. If the code is hypothetical, mark
it
# pseudocode. - Use real values, not placeholders, where possible.
claude-sonnet-4-5beats<your-model>. - Wrap inline code in backticks:
task_id,X-Engine-Key.
Tables
- Use tables for parallel data with the same columns per row (env vars, endpoints, error codes).
- Use prose for narrative information.
- First column is the key being defined. Subsequent columns are attributes.
Linking
- Link the first time you mention a concept; not every time.
- Use descriptive link text: “see the agent loop” not “see here.”
- Internal links use relative paths. External links use full URLs.
- Cross-link reference pages from concept pages and back.
Diátaxis discipline
Every page is one of:| Mode | Tense | Purpose | Example |
|---|---|---|---|
| Tutorial | 2nd person, present | Learn-by-doing | ”Quickstart” |
| How-to | 2nd person, present | Solve a specific problem | ”Migrate from v1 to v2” |
| Conceptual | 3rd person, present | Build a mental model | ”The agent loop” |
| Reference | 3rd person, present, scannable | Look up a fact | ”POST /execute” |
Internal vs. external
- Anything not safe for public eyes — roadmap, customer names, cost
figures, threat-model attacker profiles, anything touching live
credentials — goes on a page with
internal: truein frontmatter. - The public build strips those pages. Don’t rely on the strip — assume
every line you write under
internal: truecould leak, and write carefully anyway.
Diagrams
- Use Mermaid for all diagrams (Mintlify renders it inline). Mermaid produces real boxes, arrows, and clusters that render legibly in every browser.
- Avoid ASCII art — it’s brittle, hard to maintain, and looks bad in most fonts.
- Always explain the diagram in prose immediately after.
House rules for code samples
- HTTP requests show full headers. No assumed defaults.
- Python uses
httpx. Node uses built-infetch. - Show error handling in real samples; skip it only when the page is explicitly about the happy path.
- Don’t import what you’re not using.
Things we don’t do
- We don’t use marketing words. “Powerful,” “robust,” “best-in-class,” “next-generation.” Cut them.
- We don’t use “simply” or “just.” If it’s simple, it doesn’t need saying. If it’s not, the word is dishonest.
- We don’t link to GitHub line numbers — they rot. Link to the file or to the relevant doc page.
- We don’t write FAQ pages as a substitute for fixing the docs. If the same Q surfaces three times, fix the documentation that should have answered it.

