mirror of
https://github.com/coder/coder.git
synced 2026-09-21 20:51:01 +08:00
docs: add glossary drift guidance (content guidelines + skills)
Address review feedback from @bpmct on #27165: document if/when/how to keep docs/reference/glossary.md current so it does not drift as product terms are introduced, renamed, or deprecated. - content-guidelines.md: add a Structural rule (canonical) - doc-check skill: flag terminology changes that need a glossary update - write-docs skill: update the glossary in the same change; checklist item - word-choice.md: cross-link the glossary as the fuller name registry The automated lint guard is tracked separately (DOCS-604).
This commit is contained in:
@@ -58,6 +58,10 @@ writing them.
|
|||||||
below.
|
below.
|
||||||
- **Renames or moves**: See [Renames and moves require redirects](#renames-and-moves-require-redirects)
|
- **Renames or moves**: See [Renames and moves require redirects](#renames-and-moves-require-redirects)
|
||||||
below.
|
below.
|
||||||
|
- **Terminology and the glossary**: Does the change introduce, rename, or
|
||||||
|
deprecate a Coder product or feature name? If so,
|
||||||
|
`docs/reference/glossary.md` needs a matching entry. See
|
||||||
|
[Glossary and terminology](#glossary-and-terminology) below.
|
||||||
|
|
||||||
## What not to comment on
|
## What not to comment on
|
||||||
|
|
||||||
@@ -126,6 +130,24 @@ a separate repo, not in this one. When a doc page is renamed or moved:
|
|||||||
Do not create a `docs/_redirects` file in this repo; that format isn't
|
Do not create a `docs/_redirects` file in this repo; that format isn't
|
||||||
processed by coder.com.
|
processed by coder.com.
|
||||||
|
|
||||||
|
### Glossary and terminology
|
||||||
|
|
||||||
|
The [glossary](../../../docs/reference/glossary.md) defines Coder-specific
|
||||||
|
product and feature names, including collisions like the several senses of
|
||||||
|
"agent". It drifts when the product's vocabulary changes and the page
|
||||||
|
doesn't. Flag a glossary update when a change:
|
||||||
|
|
||||||
|
- Adds a Coder product or feature name that isn't in the glossary yet.
|
||||||
|
- Renames one. The entry should keep the former name (for example,
|
||||||
|
"previously named ...").
|
||||||
|
- Deprecates one. The entry should say so and name the replacement.
|
||||||
|
|
||||||
|
This is the canonical rule in
|
||||||
|
[Structural rules](../../../docs/.style/content-guidelines.md#structural-rules);
|
||||||
|
the content guidelines govern. Don't flag generic lowercase concepts or
|
||||||
|
internal-only identifiers with no user-facing surface; they don't earn a
|
||||||
|
glossary entry.
|
||||||
|
|
||||||
## Coder-specific patterns
|
## Coder-specific patterns
|
||||||
|
|
||||||
### Callouts
|
### Callouts
|
||||||
|
|||||||
@@ -66,7 +66,10 @@ style.
|
|||||||
the Diátaxis framework in the [content guidelines](../../../docs/.style/content-guidelines.md#follow-the-diátaxis-framework).
|
the Diátaxis framework in the [content guidelines](../../../docs/.style/content-guidelines.md#follow-the-diátaxis-framework).
|
||||||
One outcome per page. New pages MUST be added to `docs/manifest.json` under
|
One outcome per page. New pages MUST be added to `docs/manifest.json` under
|
||||||
the right section, and the documentation lands in the same change as the
|
the right section, and the documentation lands in the same change as the
|
||||||
feature.
|
feature. If the change introduces, renames, or deprecates a Coder product
|
||||||
|
or feature name, update the [glossary](../../../docs/reference/glossary.md)
|
||||||
|
in the same change (add, edit, or mark the entry) per the
|
||||||
|
[Structural rules](../../../docs/.style/content-guidelines.md#structural-rules).
|
||||||
4. **Draft with deliberate pedagogy** (see patterns below).
|
4. **Draft with deliberate pedagogy** (see patterns below).
|
||||||
5. **Self-review and validate.** Apply the prose style guide with it open.
|
5. **Self-review and validate.** Apply the prose style guide with it open.
|
||||||
Run `make lint/emdash`, markdownlint, and Vale. Run the commands and code
|
Run `make lint/emdash`, markdownlint, and Vale. Run the commands and code
|
||||||
@@ -122,9 +125,9 @@ drift from the source.
|
|||||||
The canonical
|
The canonical
|
||||||
[Structural rules](../../../docs/.style/content-guidelines.md#structural-rules)
|
[Structural rules](../../../docs/.style/content-guidelines.md#structural-rules)
|
||||||
cover the manifest entry, auto-generated content, Premium marking, renames
|
cover the manifest entry, auto-generated content, Premium marking, renames
|
||||||
and redirects, and the emdash ban. Read them for the exact wording; the
|
and redirects, the emdash ban, and the glossary. Read them for the exact
|
||||||
pre-handoff checklist below turns them into pass/fail items. Two application
|
wording; the pre-handoff checklist below turns them into pass/fail items. Two
|
||||||
notes the canonical rules do not spell out:
|
application notes the canonical rules do not spell out:
|
||||||
|
|
||||||
- On a rename, pick the new link target by the specific page each sentence
|
- On a rename, pick the new link target by the specific page each sentence
|
||||||
promises, not just the section hub, and confirm moved anchors still resolve.
|
promises, not just the section hub, and confirm moved anchors still resolve.
|
||||||
@@ -166,6 +169,9 @@ the whole series as a single review.
|
|||||||
- [ ] The content belongs in `docs/`; anything that does not was routed.
|
- [ ] The content belongs in `docs/`; anything that does not was routed.
|
||||||
- [ ] One outcome per page, correct Diátaxis mode, added to
|
- [ ] One outcome per page, correct Diátaxis mode, added to
|
||||||
`docs/manifest.json`.
|
`docs/manifest.json`.
|
||||||
|
- [ ] New, renamed, or deprecated product or feature names have a matching
|
||||||
|
`docs/reference/glossary.md` entry (a rename keeps the former name; a
|
||||||
|
deprecation names the replacement).
|
||||||
- [ ] Prose style guide applied with it open; `make lint/emdash`,
|
- [ ] Prose style guide applied with it open; `make lint/emdash`,
|
||||||
markdownlint, and Vale pass.
|
markdownlint, and Vale pass.
|
||||||
- [ ] Inbound links resolve; renames have redirects in `coder/coder.com`.
|
- [ ] Inbound links resolve; renames have redirects in `coder/coder.com`.
|
||||||
|
|||||||
@@ -285,6 +285,23 @@ doc-check agent.
|
|||||||
semicolons, or periods, or restructure the sentence. For numeric
|
semicolons, or periods, or restructure the sentence. For numeric
|
||||||
ranges, use a plain hyphen (e.g., `0-100`). The rule is enforced by
|
ranges, use a plain hyphen (e.g., `0-100`). The rule is enforced by
|
||||||
`make lint/emdash`.
|
`make lint/emdash`.
|
||||||
|
- **Terminology changes update the glossary.** When a change introduces,
|
||||||
|
renames, or deprecates a Coder product or feature name, update the
|
||||||
|
[glossary](../reference/glossary.md) in the same change, the way a
|
||||||
|
user-facing feature lands with its docs:
|
||||||
|
1. New name: add an entry with a short definition and a link to the
|
||||||
|
page that covers the term.
|
||||||
|
2. Rename: update the entry and record the former name (for example,
|
||||||
|
"previously named ...") so a reader who searches the old term still
|
||||||
|
lands in the right place.
|
||||||
|
3. Deprecation: mark the term deprecated and name its replacement.
|
||||||
|
|
||||||
|
A term earns an entry when it is a Coder-specific product or feature
|
||||||
|
proper noun, or a word that collides with another Coder meaning (for
|
||||||
|
example, the several senses of "agent"). Generic lowercase concepts and
|
||||||
|
internal-only identifiers with no user-facing surface do not. This is
|
||||||
|
what keeps the glossary from drifting as the product's vocabulary
|
||||||
|
changes.
|
||||||
|
|
||||||
## What does not belong in the docs
|
## What does not belong in the docs
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ It reads as a misspelling of the product name.
|
|||||||
|
|
||||||
*Enforced by `Coder.ProductTerms` (planned).*
|
*Enforced by `Coder.ProductTerms` (planned).*
|
||||||
|
|
||||||
|
The [glossary](../../reference/glossary.md) is the fuller registry of these names and disambiguates collisions like the several senses of "agent".
|
||||||
|
When you add, rename, or deprecate a product or feature name, update the glossary in the same change.
|
||||||
|
The planned `Coder.ProductTerms` rule and the glossary should draw on one shared term list.
|
||||||
|
|
||||||
## Brand names
|
## Brand names
|
||||||
|
|
||||||
Use the canonical casing for third-party brand and product names.
|
Use the canonical casing for third-party brand and product names.
|
||||||
|
|||||||
Reference in New Issue
Block a user