Writing pages (contract)¶
Goal: state the structure every operational page on docs.engineeringruntime.com must follow, so that a human or an AI assistant can execute the page without inferring anything.
This tab is about the docs website
It is the contract for updating these pages — not a guide to contributing code to the Runtime binary. Product / Control Plane contribution lives on the developer portal.
The primary reader of this site is increasingly an assistant acting on someone's behalf. An assistant cannot use a page that buries commands in prose: it needs to know what the page achieves, what must already be true, what to run, what success looks like, and what to do when it does not happen.
Which pages this applies to¶
| Kind | Contract? | Examples |
|---|---|---|
| Operational — tells the reader to run something | Required | Install Runtime · Authenticate Runtime · Connect GitHub · Run Capabilities |
| Reference — describes a surface | Partial: Goal + accurate tables; the rest where it fits | config.yaml keys, CLI flags, provider operations |
| Conceptual — explains why | Exempt. Stays prose | Runtime Home, architecture explanations |
Do not convert an explanation into a checklist to satisfy this contract. A fake procedure is worse than honest prose — it invites an assistant to execute something that was never a procedure.
The sections, in order¶
| Section | Answers | Rule |
|---|---|---|
| Goal | What this page accomplishes | One sentence, imperative. First thing after the # H1 |
| Prerequisites | What must already be true | Each one verifiable by a command, not by belief |
| Inputs | Values the operator supplies | Named, with an example value. Omit the section if there are none |
| Steps | The commands | Copy-pasteable exactly as written. No "open a terminal", no "navigate to" |
| Expected output | What success looks like | Literal output copied from a real run. Not a description of it |
| Common failures | Symptom → cause → fix | Table. Quote the real error text the binary prints |
| Exit codes | What non-zero means | Where the command defines them. Omit where it does not |
| Next | Where to go now | Exactly one link. A chain, not a menu |
The rules behind the rules¶
Expected output is copied, never written from memory. Run the command, paste what came back. A plausible-looking block that does not match reality is the most damaging thing on this site: it teaches an assistant to expect something that will never appear, and it fails silently because nothing checks prose.
Error text is quoted character-for-character. An assistant matches on it. If the binary prints:
then that is what the page says — not "a policy error is shown".
Prerequisites are verifiable. "You have Engineering Runtime installed" is
not a prerequisite; runtime version printing a version is.
Next is one link. The Get Started chain is a sequence with one path through it. A menu at the end of every page turns a chain into a maze, and an assistant has no basis to choose.
Never document what the binary does not support. This is product hub hard
rule 5, and it outranks any structure here. The binary ships two providers,
files and github. Command Engine cheatsheets for other CLIs are a different
mechanism and must not be presented as provider support. If a page cannot show
a working path against the shipping binary, it does not ship the claim — the
roadmap belongs on Enterprise → Roadmap.
Page names are goals, not nouns¶
Pages are named for what the reader is trying to do:
| Not this | This |
|---|---|
| Installation | Install Runtime |
| Authentication | Authenticate Runtime |
| GitHub | Connect GitHub |
| Quick Start | Run Your First Capability |
| Providers → Overview | Configure Providers |
| Validate & Execute | Run Capabilities |
| Control Plane (Portal) | Connect the Control Plane |
A noun names a screen. A verb names a task, and a task is something an assistant can be asked to complete.
Skeleton¶
# Connect GitHub
**Goal:** authenticate the runtime against GitHub so `runtime github` operations work.
## Prerequisites
| Must be true | Check |
|---|---|
| Runtime is installed | `runtime version` |
| Runtime Home exists | `runtime bootstrap` |
## Inputs
| Input | Example |
|---|---|
| A GitHub personal access token | `ghp_…` |
## Steps
```bash
export RUNTIME_GITHUB_TOKEN=ghp_your_token
runtime auth login github
Expected output¶
Common failures¶
| Symptom | Cause | Fix |
|---|---|---|
…real error text… |
… | … |
Next¶
Checklist before merging a page¶
- [ ] Named for a goal, not a noun
- [ ] Goal sentence is imperative and first
- [ ] Every prerequisite has a command that proves it
- [ ] Every command is copy-pasteable as written
- [ ] Expected output was copied from a real run
- [ ] Failure table quotes the real error text
- [ ] Exactly one Next link
- [ ] Nothing unshipped is described as available
- [ ]
mkdocs build --strictpasses and the page is inmkdocs.yamlnav