You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Community sandbox definitions |`fern/pages/sandboxes/community-sandboxes.mdx`|
61
61
62
62
If a commit does not map to any existing page but introduces a user-visible concept, flag it as needing a new page.
63
63
@@ -88,16 +88,22 @@ Identify where the new content should go. Follow the page's existing structure.
88
88
89
89
## Step 5: Draft the Update
90
90
91
-
Write the doc update following the rules in `docs/CONTRIBUTING.md`. Key reminders:
91
+
Write the doc update following the rules in `fern/pages/CONTRIBUTING.mdx`. Key reminders:
92
92
93
93
-**Active voice, present tense, second person.**
94
94
-**No unnecessary bold.** Reserve bold for UI labels and parameter names.
95
95
-**No em dashes** unless used sparingly. Prefer commas or separate sentences.
96
96
-**Start sections with an introductory sentence** that orients the reader.
97
97
-**No superlatives.** Say what the feature does, not how great it is.
98
-
-**Code examples use `console` language** with `$` prompt prefix.
98
+
-**Code examples use `shell` language** for copyable commands, with no `$` prompt prefix.
99
+
-**Use `text` fences** for transcripts, logs, or shell sessions that should not be copied verbatim.
99
100
-**Include the SPDX header** if creating a new page.
100
-
-**Match existing frontmatter format** if creating a new page.
101
+
-**Match existing Fern frontmatter format** if creating a new page, including `sidebar-title`, `keywords`, `tags`, and `position` when they are relevant. Use frontmatter `slug` only for folder-discovered pages or absolute URL overrides.
102
+
-**Use `sidebar-title` for short nav labels**. For explicit navbar entries, keep relative `slug` values in `fern/versions/latest.yml` instead of page frontmatter.
103
+
-**Keep explicit `page:` entries in `fern/versions/latest.yml`**. Fern still requires them. If the page defines `sidebar-title`, set `page:` to that value. Otherwise set `page:` to the page frontmatter `title`.
104
+
-**Use `skip-slug: true` in `fern/versions/latest.yml`** when a child page should live at the parent section path.
105
+
-**Use `keywords` as a comma-separated string**. When migrating a page from `docs/`, combine the legacy `topics` and `tags` into `keywords` and preserve the legacy `tags` array when it is still useful.
106
+
-**Do not add a duplicate H1**. Fern renders the page title from frontmatter.
101
107
-**Always write NVIDIA in all caps.** Wrong: Nvidia, nvidia.
echo "::notice::Skipping Fern docs preview because FERN_TOKEN is unavailable. This is expected for fork PRs and repos without Fern preview credentials configured."
|`architecture/`| Architecture docs | Design decisions and component documentation |
@@ -185,8 +187,10 @@ ocsf_emit!(event);
185
187
## Documentation
186
188
187
189
- When making changes, update the relevant documentation in the `architecture/` directory.
188
-
- When changes affect user-facing behavior, also update the relevant pages under `docs/`.
189
-
- Follow the style guide in [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md): active voice, no unnecessary bold, no em dash overuse, no filler introductions.
190
+
- When changes affect user-facing behavior, update the relevant published docs pages under `fern/pages/` and navigation in `fern/versions/latest.yml`.
191
+
-`docs/` is retained for legacy Sphinx build tasks and migration/reference work. Do not update it unless the user explicitly asks.
192
+
- Follow the docs style guide in [fern/pages/CONTRIBUTING.mdx](fern/pages/CONTRIBUTING.mdx): active voice, minimal formatting, no filler introductions, `shell` fences for copyable commands, and no duplicate body H1.
193
+
- Fern PR previews run through `.github/workflows/branch-docs.yml`, and production publish runs through the `publish-fern-docs` job in `.github/workflows/release-tag.yml`.
190
194
- Use the `update-docs` skill to scan recent commits and draft doc updates.
|`.agents/`| Agent skills and persona definitions |
192
193
193
194
## RFCs
@@ -196,19 +197,30 @@ For cross-cutting architectural decisions, API contract changes, or process prop
196
197
197
198
## Documentation
198
199
199
-
If your change affects user-facing behavior (new flags, changed defaults, new features, bug fixes that contradict existing docs), update the relevant pages under `docs/` in the same PR.
200
+
If your change affects user-facing behavior (new flags, changed defaults, new features, bug fixes that contradict existing docs), update the relevant pages under `fern/pages/` in the same PR and adjust `fern/versions/latest.yml` if navigation changes. For explicit navbar entries, keep `page:` aligned with `sidebar-title` when present and put relative `slug:` values in `fern/versions/latest.yml`. Reserve frontmatter `slug` for folder-discovered pages or absolute URL overrides.
200
201
201
202
To ensure your doc changes follow NVIDIA documentation style, use the `update-docs` skill.
202
-
It scans commits, identifies doc pages that need updates, and drafts content that follows the style guide in `docs/CONTRIBUTING.md`.
203
+
It scans commits, identifies doc pages that need updates, and drafts content that follows the style guide in `fern/pages/CONTRIBUTING.mdx`.
203
204
204
-
To build and preview docs locally:
205
+
To preview Fern docs locally:
205
206
206
207
```bash
207
-
mise run docs # to build the docs locally
208
-
mise run docs:serve # to serve locally and automatically rebuild on changes
208
+
fern docs dev
209
209
```
210
210
211
-
See [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) for more details.
211
+
To run non-interactive validation:
212
+
213
+
```bash
214
+
fern check
215
+
```
216
+
217
+
PRs that touch `fern/**` also get a preview from `.github/workflows/branch-docs.yml` when `FERN_TOKEN` is available to the workflow.
218
+
219
+
Fern docs publishing is handled by the `publish-fern-docs` job in `.github/workflows/release-tag.yml` when a release tag is created.
220
+
221
+
`docs/` and `mise run docs` / `mise run docs:serve` are still kept for the legacy Sphinx build during the transition, but they are no longer the primary published docs workflow.
222
+
223
+
See [fern/pages/CONTRIBUTING.mdx](fern/pages/CONTRIBUTING.mdx) for the current docs authoring guide.
0 commit comments