nemo-gym-docs

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

NeMo Gym Docs Maintenance

NeMo Gym文档维护

Unified skill for adding, updating, moving, and removing pages on the NeMo Gym Fern documentation site.
用于在NeMo Gym Fern文档站点上添加、更新、移动和删除页面的统一操作指南。

Scope Rule

范围规则

ALL docs edits happen under
fern/
.
All new pages — including release notes and migration guides — belong under
fern/
.
Bleeding-edge tree + GA snapshots. Gym keeps one bleeding-edge content tree at
fern/versions/latest/
(the folder name is historical — it's mounted under the
main
slug via
main.yml
) and one frozen GA snapshot per shipped release (currently
fern/versions/v0.2.1/
). All new edits land in
fern/versions/latest/
. The
latest.yml
file is a GA alias — a symlink to the current GA's yml — so
/latest/...
and
/<current-ga>/...
serve the same pages. Back-ports into a frozen GA snapshot are deliberate and rare; default to editing
fern/versions/latest/
only.
所有文档编辑操作均在
fern/
目录下进行。
所有新页面——包括发布说明和迁移指南——都应放在
fern/
目录下。
前沿版本树 + GA快照。Gym在
fern/versions/latest/
维护一个前沿内容树(文件夹名称是历史遗留的——通过
main.yml
挂载在
main
路径下),每个已发布版本对应一个冻结的GA快照(当前为
fern/versions/v0.2.1/
)。所有新编辑内容都提交到
fern/versions/latest/
latest.yml
文件是GA别名——指向当前GA版本yml文件的符号链接——因此
/latest/...
/<current-ga>/...
会展示相同的页面。向冻结的GA快照进行回溯移植是刻意且罕见的操作;默认仅编辑
fern/versions/latest/
目录下的内容。

Layout at a Glance

概览布局

fern/
├── fern.config.json          # Org + Fern CLI version (currently 4.80.3)
├── package.json              # `npm run dev|check|generate` — wraps `npx -y fern-api@latest`
├── docs.yml                  # Site config: instances, versions, tabs, redirects, libraries
├── versions/
│   ├── latest.yml            # GA alias — symlink to the current GA's yml (currently v0.2.1.yml)
│   ├── main.yml              # Nav tree for the bleeding-edge train (mounts ./latest/pages)
│   ├── latest/pages/         # MDX content for the bleeding-edge train (slug: main)
│   ├── v0.2.1.yml            # Nav tree for the 0.2.1 GA snapshot
│   └── v0.2.1/pages/         # MDX content for the 0.2.1 GA snapshot
├── components/               # Custom TSX (CTAButtons, NavButton, CustomFooter)
├── assets/                   # Images, SVGs, favicon
├── main.css                  # Global theme overrides (NVIDIA green, badge spacing, etc.)
└── product-docs/             # GENERATED library reference (gitignored)
File system                                            Published URL
─────────────────────────────────────────────────────  ──────────────────────────────────
fern/versions/latest/pages/get-started/quickstart.mdx  docs.nvidia.com/nemo/gym/main/get-started/quickstart
fern/versions/v0.2.1/pages/get-started/quickstart.mdx  docs.nvidia.com/nemo/gym/v0.2.1/get-started/quickstart
                                                       docs.nvidia.com/nemo/gym/latest/get-started/quickstart  (GA alias)
fern/
├── fern.config.json          # Org + Fern CLI version (currently 4.80.3)
├── package.json              # `npm run dev|check|generate` — wraps `npx -y fern-api@latest`
├── docs.yml                  # Site config: instances, versions, tabs, redirects, libraries
├── versions/
│   ├── latest.yml            # GA alias — symlink to the current GA's yml (currently v0.2.1.yml)
│   ├── main.yml              # Nav tree for the bleeding-edge train (mounts ./latest/pages)
│   ├── latest/pages/         # MDX content for the bleeding-edge train (slug: main)
│   ├── v0.2.1.yml            # Nav tree for the 0.2.1 GA snapshot
│   └── v0.2.1/pages/         # MDX content for the 0.2.1 GA snapshot
├── components/               # Custom TSX (CTAButtons, NavButton, CustomFooter)
├── assets/                   # Images, SVGs, favicon
├── main.css                  # Global theme overrides (NVIDIA green, badge spacing, etc.)
└── product-docs/             # GENERATED library reference (gitignored)
File system                                            Published URL
─────────────────────────────────────────────────────  ──────────────────────────────────
fern/versions/latest/pages/get-started/quickstart.mdx  docs.nvidia.com/nemo/gym/main/get-started/quickstart
fern/versions/v0.2.1/pages/get-started/quickstart.mdx  docs.nvidia.com/nemo/gym/v0.2.1/get-started/quickstart
                                                       docs.nvidia.com/nemo/gym/latest/get-started/quickstart  (GA alias)

Operations

操作流程

Add a Page

添加页面

  1. Gather: page title, target section, filename (kebab-case
    .mdx
    ), subdirectory under
    fern/versions/latest/pages/
    .
  2. Create
    fern/versions/latest/pages/<subdirectory>/<filename>.mdx
    :
    mdx
    ---
    title: "<Page Title>"
    description: "One-line SEO description (or empty string)"
    position: 3
    ---
    
    # <Page Title>
    
    <content>
  3. If the parent folder is mounted in
    main.yml
    with
    title-source: frontmatter
    , the page is auto-discovered — no nav edit needed. Otherwise add a
    - page:
    entry under the right
    section:
    in
    fern/versions/main.yml
    .
  4. Do not mirror into the current GA snapshot folder (e.g.,
    v0.2.1/
    ) — frozen GA snapshots only get back-ports on explicit request.
  1. 准备信息:页面标题、目标章节、文件名(短横线分隔的
    .mdx
    格式)、
    fern/versions/latest/pages/
    下的子目录。
  2. 创建文件
    fern/versions/latest/pages/<subdirectory>/<filename>.mdx
    mdx
    ---
    title: "<Page Title>"
    description: "One-line SEO description (or empty string)"
    position: 3
    ---
    
    # <Page Title>
    
    <content>
  3. 如果父文件夹在
    main.yml
    中配置了
    title-source: frontmatter
    ,页面会被自动识别——无需修改导航。否则需在
    fern/versions/main.yml
    中对应
    section:
    下添加
    - page:
    条目。
  4. 不要将内容镜像到当前GA快照目录(如
    v0.2.1/
    )——冻结的GA快照仅在明确请求时才进行回溯移植。

Update a Page

更新页面

  1. Locate by path, title, or keyword (
    grep -rn
    in
    fern/versions/latest/pages/
    ).
  2. Content only — edit the MDX in
    fern/versions/latest/pages/
    . Don't touch
    v0.2.1/
    unless this is an explicit back-port.
  3. Title change — update the frontmatter
    title:
    and (if the parent uses
    title-source: frontmatter
    ) nothing else; otherwise update the nav
    - page:
    entry too.
  4. Section move
    git mv
    the file, update its
    path:
    in
    main.yml
    , fix all incoming links inside
    fern/versions/latest/pages/
    .
  5. Slug change — folders use the page filename for the slug. Renaming the file changes the URL; add a redirect in
    fern/docs.yml
    so the old URL keeps working.
  1. 通过路径、标题或关键词定位文件(在
    fern/versions/latest/pages/
    目录下使用
    grep -rn
    命令)。
  2. 仅修改内容——编辑
    fern/versions/latest/pages/
    下的MDX文件。除非是明确的回溯移植请求,否则不要触碰
    v0.2.1/
    目录。
  3. 修改标题——更新前端元数据
    title:
    ;如果父文件夹使用
    title-source: frontmatter
    ,无需其他操作;否则还需更新导航中的
    - page:
    条目。
  4. 移动章节——使用
    git mv
    命令移动文件,更新
    main.yml
    中的
    path:
    ,修复
    fern/versions/latest/pages/
    目录内所有指向该文件的链接。
  5. 修改路径别名——文件夹使用页面文件名作为路径别名。重命名文件会改变URL;需在
    fern/docs.yml
    中添加重定向规则,确保旧URL仍可访问。

Remove a Page

删除页面

  1. Find incoming links:
    grep -rn "<filename>" fern/versions/latest/pages --include="*.mdx"
    .
  2. git rm
    the file from
    fern/versions/latest/pages/
    .
  3. Remove the matching
    - page:
    block from
    main.yml
    if it was a manual entry.
  4. Fix or remove all incoming links.
  5. Add a redirect in
    fern/docs.yml
    if the URL was public.
  1. 查找指向该页面的链接:
    grep -rn "<filename>" fern/versions/latest/pages --include="*.mdx"
  2. 使用
    git rm
    命令删除
    fern/versions/latest/pages/
    下的文件。
  3. 如果该页面在
    main.yml
    中有手动添加的
    - page:
    块,将其移除。
  4. 修复或移除所有指向该页面的链接。
  5. 如果该URL已公开,需在
    fern/docs.yml
    中添加重定向规则。

Back-port to a GA Snapshot

回溯移植到GA快照

Only back-port when the user explicitly asks ("back-port to v0.2.1"). Apply the same change inside the GA snapshot's
pages/
folder (e.g.,
fern/versions/v0.2.1/pages/
) and update its yml if needed.
latest.yml
is a symlink to the current GA's yml, so nav changes propagate automatically.
仅当用户明确要求时(如“回溯移植到v0.2.1”)才执行此操作。在GA快照的
pages/
目录(如
fern/versions/v0.2.1/pages/
)中应用相同的修改,并根据需要更新其yml文件。
latest.yml
是指向当前GA版本yml文件的符号链接,因此导航变更会自动同步。

Worked Example: Adding a Page

实操示例:添加页面

Request: "Add a how-to for collecting rollouts under Get Started."
  1. Create
    fern/versions/latest/pages/get-started/rollout-collection.mdx
    :
    mdx
    ---
    title: "Collect Rollouts"
    description: "Run the agent against your dataset and write results to JSONL"
    position: 4
    ---
    
    # Collect Rollouts
    
    <content>
  2. The
    get-started
    folder in
    main.yml
    uses
    title-source: frontmatter
    , so the page appears automatically.
    position: 4
    controls ordering — it's optional; without it, pages sort alphabetically by filename.
  3. cd fern && npm run check && npm run dev
    , verify
    /main/get-started/rollout-collection
    renders.
请求:“在入门章节下添加收集rollouts的操作指南。”
  1. 创建文件
    fern/versions/latest/pages/get-started/rollout-collection.mdx
    mdx
    ---
    title: "Collect Rollouts"
    description: "Run the agent against your dataset and write results to JSONL"
    position: 4
    ---
    
    # Collect Rollouts
    
    <content>
  2. main.yml
    中的
    get-started
    文件夹配置了
    title-source: frontmatter
    ,因此页面会自动显示。
    position: 4
    控制页面排序——该配置为可选;若未设置,页面会按文件名字母顺序排序。
  3. 执行
    cd fern && npm run check && npm run dev
    ,验证
    /main/get-started/rollout-collection
    页面是否正常渲染。

Worked Example: Renaming a Slug (with Redirect)

实操示例:重命名路径别名(带重定向)

Request: "Rename
/main/get-started/setup
to
/main/get-started/detailed-setup
."
  1. git mv fern/versions/latest/pages/get-started/setup.mdx fern/versions/latest/pages/get-started/detailed-setup.mdx
    .
  2. Add a redirect in
    fern/docs.yml
    :
    yaml
    redirects:
      - source: "/main/get-started/setup"
        destination: "/main/get-started/detailed-setup"
  3. grep -rn "/get-started/setup" fern/versions/latest/
    and update any incoming links.

请求:“将
/main/get-started/setup
重命名为
/main/get-started/detailed-setup
。”
  1. 执行
    git mv fern/versions/latest/pages/get-started/setup.mdx fern/versions/latest/pages/get-started/detailed-setup.mdx
  2. fern/docs.yml
    中添加重定向规则:
    yaml
    redirects:
      - source: "/main/get-started/setup"
        destination: "/main/get-started/detailed-setup"
  3. 执行
    grep -rn "/get-started/setup" fern/versions/latest/
    并更新所有指向该路径的链接。

Content Guidelines

内容规范

NeMo Gym uses Fern-native MDX components directly. Do not use GitHub
> [!NOTE]
syntax — it will not render.
PurposeComponent
Neutral aside
<Note>...</Note>
Helpful tip
<Tip>...</Tip>
Informational callout
<Info>...</Info>
Warning
<Warning>...</Warning>
Error / danger
<Error>...</Error>
Card grid on index pages
<Cards>
with
<Card title="..." href="...">
children
Status/scope tag inside a Card
<Badge minimal outlined>tag</Badge>
(see below)
Images live in
fern/assets/
(shared) or under a version's
pages/
(version-scoped). Reference with root-relative paths.
NeMo Gym直接使用Fern原生MDX组件。请勿使用GitHub的
> [!NOTE]
语法——该语法无法正常渲染。
用途组件
中立提示
<Note>...</Note>
实用技巧
<Tip>...</Tip>
信息提示框
<Info>...</Info>
警告
<Warning>...</Warning>
错误/危险提示
<Error>...</Error>
首页卡片网格
<Cards>
搭配
<Card title="..." href="...">
子组件
卡片内的状态/范围标签
<Badge minimal outlined>tag</Badge>
(见下方示例)
图片存储在
fern/assets/
(共享目录)或对应版本的
pages/
目录下(版本专属)。使用根相对路径引用图片。

Cards and Badges

卡片与标签

Index pages use a
<Cards>
grid. Each
<Card>
can carry one or more
<Badge>
tags to indicate scope, status, or read-time.
Valid intents:
success
,
note
,
tip
,
warning
,
error
,
info
,
launch
,
check
. Use
<Badge minimal outlined>...</Badge>
(no intent) for neutral tags.
Place badges as the last line inside the
<Card>
, separated by a blank line from the body text. The CSS in
main.css
(
.fern-card .fern-docs-badge
) handles spacing — do not add inline
style=
props.
mdx
<Cards>
  <Card title="Quickstart" href="/main/get-started/quickstart">
    Install, start servers, and collect your first rollouts in one page.

    <Badge intent="success" minimal outlined>start here</Badge> <Badge minimal outlined>5 min</Badge>
  </Card>
</Cards>
首页使用
<Cards>
网格布局。每个
<Card>
可携带一个或多个
<Badge>
标签,用于标识范围、状态或阅读时长。
有效的意图值包括:
success
note
tip
warning
error
info
launch
check
。对于中立标签,使用
<Badge minimal outlined>...</Badge>
(无需指定意图值)。
将标签放在
<Card>
内的最后一行,与正文之间空一行。
main.css
中的
.fern-card .fern-docs-badge
规则会处理间距——请勿添加内联
style=
属性。
mdx
<Cards>
  <Card title="Quickstart" href="/main/get-started/quickstart">
    Install, start servers, and collect your first rollouts in one page.

    <Badge intent="success" minimal outlined>start here</Badge> <Badge minimal outlined>5 min</Badge>
  </Card>
</Cards>

Frontmatter Fields

前端元数据字段

yaml
---
title: "<Page Title>"        # required — used for nav and <h1>
description: ""              # required (may be empty string) — SEO
position: 1                  # optional — orders auto-discovered pages within a folder
---
The MDX body should still open with
# <Page Title>
matching the frontmatter title. Folders using
title-source: frontmatter
in the version YAML pull the nav label from
title:
.
yaml
---
title: "<Page Title>"        # 必填——用于导航和<h1>标题
description: ""              # 必填(可为空字符串)——用于SEO
position: 1                  # 可选——控制自动识别页面在文件夹内的排序
---
MDX正文仍需以
# <Page Title>
开头,与前端元数据中的
title:
保持一致。在版本YAML中配置了
title-source: frontmatter
的文件夹,会从
title:
中提取导航标签。

Validate

验证

First-time setup: authenticate the CLI against the
nvidia
Fern org via Google SSO (one-time, browser flow):
bash
npx -y fern-api@latest login    # opens browser → sign in with your @nvidia.com Google account
Run from
fern/
(no install step — scripts shell out to
npx -y fern-api@latest
):
bash
npm run check       # `fern check` — YAML + frontmatter validation
npm run dev         # `fern docs dev` — localhost:3000 hot-reload preview
fern check
must pass before commit. The dev server's broken-link warnings for cross-version links like
/latest/about
are false positives — Fern's local validator does not resolve the version slug from
docs.yml
against
latest.yml
. The published site renders them correctly.
To regenerate the autodoc library reference (gitignored under
product-docs/
):
bash
npm run generate:library    # `fern docs md generate`
首次设置:通过Google SSO将CLI认证到
nvidia
Fern组织(仅需一次,通过浏览器流程):
bash
npx -y fern-api@latest login    # 打开浏览器 → 使用你的@nvidia.com谷歌账号登录
fern/
目录下执行以下命令(无需安装——脚本会调用
npx -y fern-api@latest
):
bash
npm run check       # `fern check` —— YAML和前端元数据验证
npm run dev         # `fern docs dev` —— localhost:3000热重载预览
提交前必须确保
fern check
通过。开发服务器针对跨版本链接(如
/latest/about
)的失效链接警告属于误报——Fern本地验证器无法从
docs.yml
中解析版本路径别名与
latest.yml
的对应关系。发布后的站点会正常渲染这些链接。
如需重新生成自动文档库引用(在
product-docs/
目录下,已被git忽略):
bash
npm run generate:library    # `fern docs md generate`

Commit & Preview

提交与预览

bash
git add fern/
git commit -s -m "docs: <add|update|remove> <page-title>"
PRs that touch
fern/**
get an automatic Fern preview URL posted as a comment by
.github/workflows/fern-docs-preview-comment.yml
. No manual step needed.
                    ┌─ fern-docs-ci.yml                  → fern check
PR (touches fern/) ─┼─ fern-docs-preview-build.yml       → upload fern/ artifact (no secrets)
                    └─ fern-docs-preview-comment.yml     → 🌿 preview URL comment

Push to main (touches docs/** or fern/**) → publish-fern-docs.yml → docs.nvidia.com/nemo/gym
Tag push (docs/v*)                        → publish-fern-docs.yml → docs.nvidia.com/nemo/gym
Manual dispatch                           → publish-fern-docs.yml → docs.nvidia.com/nemo/gym
The preview-comment + publish jobs require the
DOCS_FERN_TOKEN
repository or organization secret (from
fern token
).
bash
git add fern/
git commit -s -m "docs: <add|update|remove> <page-title>"
涉及
fern/**
的PR会由
.github/workflows/fern-docs-preview-comment.yml
自动发布Fern预览URL作为评论。无需手动操作。
                    ┌─ fern-docs-ci.yml                  → fern check
PR (touches fern/) ─┼─ fern-docs-preview-build.yml       → 上传fern/构件(无需密钥)
                    └─ fern-docs-preview-comment.yml     → 🌿 预览URL评论

Push to main (touches docs/** or fern/**) → publish-fern-docs.yml → docs.nvidia.com/nemo/gym
Tag push (docs/v*)                        → publish-fern-docs.yml → docs.nvidia.com/nemo/gym
Manual dispatch                           → publish-fern-docs.yml → docs.nvidia.com/nemo/gym
预览评论和发布任务需要
DOCS_FERN_TOKEN
仓库或组织密钥(来自
fern token
命令)。

Publishing to Production

发布到生产环境

Production publishes on three triggers (see
.github/workflows/publish-fern-docs.yml
):
  1. Push to
    main
    when
    docs/**
    or
    fern/**
    changes — continuous staging.
  2. Tag push matching
    docs/v*
    — versioned release.
  3. Manual dispatch from the Actions tab.
Tag format must be
docs/v<MAJOR>.<MINOR>.<PATCH>
. Do not push a tag unless the user asks.
bash
git tag docs/v0.3.0
git push origin docs/v0.3.0
URL → version mapping:
docs.nvidia.com/nemo/gym/latest/...   → GA alias (currently mirrors v0.2.1)
docs.nvidia.com/nemo/gym/main/...     → bleeding-edge train (folder: ./latest/pages)
docs.nvidia.com/nemo/gym/v0.2.1/...   → 0.2.1 GA snapshot
生产环境发布有三个触发条件(详见
.github/workflows/publish-fern-docs.yml
):
  1. 推送到
    main
    分支
    docs/**
    fern/**
    发生变更——持续部署到预发布环境。
  2. 推送标签匹配
    docs/v*
    ——版本化发布。
  3. 手动触发——从Actions标签页发起。
标签格式必须为
docs/v<MAJOR>.<MINOR>.<PATCH>
。除非用户要求,否则请勿推送标签。
bash
git tag docs/v0.3.0
git push origin docs/v0.3.0
URL与版本的对应关系:
docs.nvidia.com/nemo/gym/latest/...   → GA别名(当前镜像v0.2.1)
docs.nvidia.com/nemo/gym/main/...     → 前沿版本(对应目录:./latest/pages)
docs.nvidia.com/nemo/gym/v0.2.1/...   → 0.2.1 GA快照

Cutting a New Version Train

创建新版本分支

When the user ships a new version (e.g.
v0.3.0
):
  1. cp -r fern/versions/latest fern/versions/v0.3.0
    — frozen snapshot of the bleeding-edge folder.
  2. cp fern/versions/main.yml fern/versions/v0.3.0.yml
    and rewrite
    ./latest/
    path prefixes to
    ./v0.3.0/
    .
  3. Retarget the
    fern/versions/latest.yml
    symlink at the new GA's yml:
    cd fern/versions && ln -sfn v0.3.0.yml latest.yml
    .
  4. In
    fern/docs.yml
    versions:
    , add the new GA snapshot entry (
    display-name: "0.3.0"
    ,
    slug: v0.3.0
    ,
    availability: stable
    ) and demote/remove the previous GA snapshot per the support policy.
  5. fern/versions/latest/pages/
    keeps moving forward as the bleeding-edge tree.
    main.yml
    is unchanged.
  6. Tag
    docs/v0.3.0
    and push to publish.
当用户发布新版本(如
v0.3.0
)时:
  1. 执行
    cp -r fern/versions/latest fern/versions/v0.3.0
    ——生成前沿目录的冻结快照。
  2. 执行
    cp fern/versions/main.yml fern/versions/v0.3.0.yml
    并将所有
    ./latest/
    路径前缀替换为
    ./v0.3.0/
  3. fern/versions/latest.yml
    符号链接重新指向新GA版本的yml文件:
    cd fern/versions && ln -sfn v0.3.0.yml latest.yml
  4. fern/docs.yml
    versions:
    部分,添加新GA快照条目(
    display-name: "0.3.0"
    slug: v0.3.0
    availability: stable
    ),并根据支持策略降级或移除旧GA快照条目。
  5. fern/versions/latest/pages/
    继续作为前沿版本目录更新。
    main.yml
    保持不变。
  6. 打标签
    docs/v0.3.0
    并推送以完成发布。

Debugging

调试

SymptomFix
fern check
YAML error
2-space indent;
- page:
inside
contents:
;
path:
is relative to the version YAML file
Page 404 in preview
slug:
missing/duplicated in the same section; or
position:
collision in an auto-discovered folder
Broken-link warning for
/latest/...
cross-version link
False positive in
fern docs dev
; works on published site
JSX expressions must have one parent element
Wrap multi-element MDX content in
<>...</>
or a
<div>
Old URL breaks (page renamed/moved)Add a
redirects:
entry in
fern/docs.yml
Library reference missing
npm run generate:library
in
fern/
Broken imagePath is relative to the MDX file; check
fern/assets/
exists
Card badges have no spacingDon't add inline styles —
main.css
.fern-card .fern-docs-badge
rules handle it
/latest/<page>
and
/<current-ga>/<page>
show different content
They shouldn't —
latest.yml
should mirror the current GA version's yml and point at the same
./<current-ga>/pages/...
content. Sync them.
症状修复方案
fern check
报YAML错误
使用2空格缩进;
- page:
需放在
contents:
内;
path:
是相对于版本YAML文件的路径
预览中页面404同一章节中
slug:
缺失或重复;或自动识别目录中
position:
冲突
跨版本链接
/latest/...
出现失效链接警告
fern docs dev
中的误报;发布后的站点可正常访问
提示“JSX expressions must have one parent element”将多元素MDX内容包裹在
<>...</>
<div>
旧URL无法访问(页面已重命名/移动)
fern/docs.yml
中添加
redirects:
条目
库引用缺失
fern/
目录下执行
npm run generate:library
图片无法显示路径是相对于MDX文件的路径;检查
fern/assets/
目录是否存在
卡片标签无间距请勿添加内联样式——
main.css
中的
.fern-card .fern-docs-badge
规则会处理间距
/latest/<page>
/<current-ga>/<page>
显示内容不同
不应出现此情况——
latest.yml
应镜像当前GA版本的yml文件并指向相同的
./<current-ga>/pages/...
内容。请同步两者。

Key References

关键参考文件

FilePurpose
fern/docs.yml
Site config, versions, redirects, libraries
fern/versions/latest.yml
GA alias — symlink to the current GA's yml
fern/versions/main.yml
Nav tree for the bleeding-edge train (mounts
./latest/pages
)
fern/versions/v0.2.1.yml
Nav tree for the 0.2.1 GA snapshot
fern/versions/<ver>/pages/
MDX content for a version
fern/components/
Custom TSX (CTAButtons, NavButton, CustomFooter)
fern/assets/
Shared images, SVGs, favicon
fern/main.css
Global theme overrides — NVIDIA green, card/badge spacing
fern/package.json
`npm run check
.github/workflows/fern-docs-*.yml
CI: check, preview build, preview comment
.github/workflows/publish-fern-docs.yml
CI: publish to docs.nvidia.com/nemo/gym

文件用途
fern/docs.yml
站点配置、版本、重定向、库设置
fern/versions/latest.yml
GA别名——指向当前GA版本yml文件的符号链接
fern/versions/main.yml
前沿版本的导航树(挂载
./latest/pages
fern/versions/v0.2.1.yml
0.2.1 GA快照的导航树
fern/versions/<ver>/pages/
对应版本的MDX内容
fern/components/
自定义TSX组件(CTAButtons、NavButton、CustomFooter)
fern/assets/
共享图片、SVG、网站图标
fern/main.css
全局主题覆盖——NVIDIA绿色、卡片/标签间距等
fern/package.json
`npm run check
.github/workflows/fern-docs-*.yml
CI流程:检查、预览构建、预览评论
.github/workflows/publish-fern-docs.yml
CI流程:发布到docs.nvidia.com/nemo/gym