Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/fern-docs-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name: Fern docs (check)

on:
pull_request:
paths:
- 'fern/**'
- '.github/workflows/fern-docs-ci.yml'

permissions:
contents: read

jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '22'

- name: Install Fern CLI
run: npm install -g fern-api@$(jq -r .version fern/fern.config.json)

- name: Validate Fern configuration
working-directory: ./fern
env:
FERN_TOKEN: ${{ secrets.DOCS_FERN_TOKEN }}
run: |
fern check
fern docs md check
42 changes: 42 additions & 0 deletions .github/workflows/publish-fern-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Publishes the NeMo OSS hub Fern site.
# git tag docs/v0.1.0 && git push origin docs/v0.1.0
# Requires org secret: DOCS_FERN_TOKEN

name: Publish Fern Docs

on:
push:
tags:
- 'docs/v*'
workflow_dispatch: {}

permissions:
contents: read

concurrency:
group: fern-publish-nemo-framework-hub
cancel-in-progress: true

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '22'

- name: Install Fern CLI
run: npm install -g fern-api@$(jq -r .version fern/fern.config.json)

- name: Publish documentation
working-directory: ./fern
env:
FERN_TOKEN: ${{ secrets.DOCS_FERN_TOKEN }}
run: fern generate --docs
66 changes: 66 additions & 0 deletions GH-TOPICS.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
## GitHub Topics Strategy

### Topic Categories

| Category | Topics | Purpose |
|----------|--------|---------|
| **Pipeline Stage** | `stage-data`, `stage-training`, `stage-alignment`, `stage-evaluation`, `stage-deployment`, `stage-safety` | Filter by workflow stage |
| **Model Type** | `model-llm`, `model-vlm`, `model-speech`, `model-diffusion`, `model-omni` | Filter by model modality |
| **Training Method** | `method-pretraining`, `method-sft`, `method-lora`, `method-rl`, `method-dpo`, `method-grpo` | Filter by training technique |
| **Backend** | `backend-megatron`, `backend-pytorch`, `backend-vllm`, `backend-tensorrt` | Filter by infrastructure |
| **Meta** | `nvidia-nemo` | All repos in the framework |

### README stage mapping

Org README columns map to catalog **`stage`** filters in `fern/components/repos.ts`. Optional GitHub topics can mirror these for org-wide filtering:

| README stage | Catalog `stage` | Suggested GitHub topic |
|--------------|-----------------|------------------------|
| Data | `data` | `stage-data` |
| Pretraining | `pretraining` | `stage-training` |
| RL | `rl` | `stage-alignment` |
| Inference | `inference` | `stage-evaluation`, `stage-deployment`, `stage-safety` |
| E2E | `e2e` | — (recipes, pipelines, orchestration) |

Use **`tags`** in `repos.ts` (and topic facets below) for cross-cutting search — e.g. Skills is E2E in the README but also spans SDG and evaluation.

<!-- ### Topic Assignments

| Repo | Pipeline Stage | Model Type | Training Method | Backend |
|------|----------------|------------|-----------------|---------|
| **Automodel** | `stage-training` | `model-llm`, `model-vlm`, `model-omni` | `method-pretraining`, `method-sft`, `method-lora` | `backend-pytorch` |
| **Megatron-Bridge** | `stage-training` | `model-llm`, `model-vlm` | `method-pretraining`, `method-sft`, `method-lora` | `backend-megatron` |
| **NeMo (Speech)** | `stage-training` | `model-speech` | `method-pretraining`, `method-sft` | `backend-megatron`, `backend-pytorch` |
| **RL** | `stage-alignment` | `model-llm`, `model-vlm` | `method-sft`, `method-rl`, `method-dpo`, `method-grpo` | `backend-megatron`, `backend-pytorch`, `backend-vllm` |
| **Gym** | `stage-alignment` | `model-llm`, `model-vlm` | `method-rl` | — |
| **DFM** | `stage-training` | `model-diffusion` | `method-pretraining` | `backend-megatron`, `backend-pytorch` |
| **Curator** | `stage-data` | — | — | — |
| **DataDesigner** | `stage-data` | — | — | — |
| **Skills** | `stage-data`, `stage-evaluation` | `model-llm` | — | — |
| **Evaluator** | `stage-evaluation` | — | — | — |
| **Export-Deploy** | `stage-deployment` | — | — | `backend-vllm`, `backend-tensorrt` |
| **Guardrails** | `stage-safety` | `model-llm` | — | — |
| **Run** | `stage-training` | — | — | — |
| **Emerging-Optimizers** | `stage-training` | — | — | — |
| **Nemotron** | — | `model-llm` | — | — |

*All repos also get `nvidia-nemo` for org-wide filtering.* -->

### Example Filter Links

Once topics are applied, we you add convenience links to your project's README and docs:

```markdown
**Browse by pipeline stage:**
[Data](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:stage-data) ·
[Training](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:stage-training) ·
[Alignment](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:stage-alignment) ·
[Evaluation](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:stage-evaluation) ·
[Deployment](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:stage-deployment)

**Browse by model type:**
[LLM](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:model-llm) ·
[VLM](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:model-vlm) ·
[Speech](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:model-speech) ·
[Diffusion](https://github.com/orgs/NVIDIA-NeMo/repositories?q=topic:model-diffusion)
```
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# .github
# NVIDIA-NeMo/.github

GitHub organization profile and staged NeMo OSS hub documentation.

- **Org profile** — `profile/README.md` (shown on [github.com/NVIDIA-NeMo](https://github.com/NVIDIA-NeMo))
- **Hub docs (Fern)** — `fern/` → planned `docs.nvidia.com/nemo/oss` publication target

See [fern/README.md](fern/README.md) for local preview and publish steps.
139 changes: 139 additions & 0 deletions fern/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# NeMo OSS Hub

Fern source for the **NeMo OSS** documentation hub: the lightweight entry point for open source repositories in [NVIDIA-NeMo](https://github.com/NVIDIA-NeMo).

The hub helps readers answer three questions:

- **What should I use?** Task map, lifecycle stages, Framework vs Platform, and the library catalog.
- **How should I run it?** Runtime chooser, install overview, container catalog, and release notes.
- **Where do I go next?** Per-library docs, GitHub repos, community links, glossary, and external learning resources.

Per-library docs own commands, APIs, tutorials, model support, and version-specific behavior. This hub owns orientation, routing, stable concepts, and cross-component release metadata.

## Quick Links

| Need | Source | Published Route |
| --- | --- | --- |
| Home | [docs/pages/index.mdx](./docs/pages/index.mdx) | `/` |
| Task-first routing | [docs/pages/get-started/task-map.mdx](./docs/pages/get-started/task-map.mdx) | `/get-started/task-map` |
| Runtime choice | [docs/pages/get-started/runtime-chooser.mdx](./docs/pages/get-started/runtime-chooser.mdx) | `/get-started/runtime-chooser` |
| Library catalog page | [docs/pages/about/libraries.mdx](./docs/pages/about/libraries.mdx) | `/about/libraries` |
| Library catalog data | [components/repos.ts](./components/repos.ts) | Catalog component source |
| Container catalog page | [docs/pages/about/release-notes/containers.mdx](./docs/pages/about/release-notes/containers.mdx) | `/about/release-notes/containers` |
| Container catalog data | [components/containers.ts](./components/containers.ts) | Catalog component source |
| Concepts | [docs/pages/about/concepts/index.mdx](./docs/pages/about/concepts/index.mdx) | `/about/concepts` |
| Glossary | [docs/pages/resources/glossary.mdx](./docs/pages/resources/glossary.mdx) | `/resources/glossary` |
| External learning | [docs/pages/resources/external-learning.mdx](./docs/pages/resources/external-learning.mdx) | `/resources/external-learning` |
| Taxonomy | [TAXONOMY.md](./TAXONOMY.md) | Maintainer reference |
| GitHub topics guidance | [GH-TOPICS.MD](./GH-TOPICS.MD) | Maintainer reference |
| Navigation and redirects | [docs.yml](./docs.yml) | Site config |

Published targets are configured in [docs.yml](./docs.yml):

- Preview: `nemo.docs.buildwithfern.com/oss`
- Production: `docs.nvidia.com/nemo/oss`

## Site Shape

The hub follows the NVIDIA template-library IA, adapted for an ecosystem catalog:

- **About**: overview, ecosystem, architecture, concepts, libraries, release notes.
- **Get Started**: task map, quickstart, installation, runtime chooser, and stage guides.
- **Resources**: glossary, external learning, and community.

Concept pages explain durable relationships. The glossary is lookup-oriented. The task map routes user intent to the owning library. The runtime chooser routes setup decisions to containers, installs, source checkout, or Platform setup.

## Content Rules

Keep content here when it is stable and helps a reader choose:

- Framework vs Platform, lifecycle stages, and repo roles.
- Task-to-library routing.
- Runtime path decisions.
- Catalog metadata from `repos.ts` and `containers.ts`.
- Framework container release metadata and cross-component known issues.
- Terminology and curated external learning links.

Send content downstream when it changes quickly:

- Install commands, API usage, tutorials, and examples.
- Model-specific recipes, benchmarks, and support matrices.
- Version pins and library-only workarounds.

Rule of thumb: add one orienting paragraph and a link instead of copying a library team's material.

## Common Updates

### Add or Update a Repo

Update [components/repos.ts](./components/repos.ts).

- Set `stage` to the org README lifecycle column: `data`, `pretraining`, `rl`, `inference`, or `e2e`.
- Set `kind` to `library`, `integration`, `reference`, or `infrastructure`.
- Add durable `tags` for search facets such as modality, technique, or role.
- Add `docsUrl` and `containerUrl` only when stable public targets exist.

See [TAXONOMY.md](./TAXONOMY.md) for the canonical vocabulary.

### Add or Update a Container

Update [components/containers.ts](./components/containers.ts).

- Keep `latestTag` current.
- Keep `FRAMEWORK_RECENT_RELEASES` to a small recent set.
- Add standalone images to `NEMO_CONTAINERS` when they publish.
- Add cross-component release notes in [known-issues.mdx](./docs/pages/about/release-notes/known-issues.mdx).

### Add a Concept

Add a page under [docs/pages/about/concepts](./docs/pages/about/concepts).

Concept pages should explain relationships, tradeoffs, or decision models. Put short term definitions in [glossary.mdx](./docs/pages/resources/glossary.mdx).

### Add External Learning

Add durable third-party resources to [external-learning.mdx](./docs/pages/resources/external-learning.mdx).

Prefer sources that reveal how external users frame tasks or confusion. Avoid copying commands or version-specific steps.

## Local Development

Prerequisites:

- Node.js 22+
- Fern CLI: `npm install -g fern-api`

Run checks and preview:

```bash
cd fern
fern login
fern check
fern docs dev
```

Open [http://localhost:3000](http://localhost:3000).

Custom React components must be imported in MDX:

```mdx
import RepoCatalog from "@/components/RepoCatalog";

<RepoCatalog />
```

## Publish

Publishing uses the NVIDIA Fern organization token: `DOCS_FERN_TOKEN`.

```bash
git tag docs/v0.1.0 && git push origin docs/v0.1.0
```

You can also run the **Publish Fern Docs** workflow from GitHub Actions.

## Theme

This site uses `global-theme: nvidia`. Theme assets are owned by [fern-components](https://github.com/NVIDIA/fern-components); keep logos, global CSS, and footer changes there.

The GitHub org link is configured in `navbar-links` and `footer-links` in [docs.yml](./docs.yml). After publishing, verify that the NVIDIA global theme renders the header link.
70 changes: 70 additions & 0 deletions fern/TAXONOMY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# NeMo OSS taxonomy

Canonical vocabulary for the staged Fern hub (`docs.nvidia.com/nemo/oss`), org README, and `components/repos.ts`. When copy disagrees, this file wins.

## Top-level map

```
NVIDIA NeMo (commercial suite — OSS + microservices + NIM + services)
└── NeMo OSS (GitHub org NVIDIA-NeMo + this hub)
├── NeMo Framework — model lifecycle (libraries + optional NGC bundle)
├── NeMo Platform — agent integration product (CLI, SDK, Studio)
└── 22 catalog repos (libraries, integration, reference, infrastructure)
```

## Terms

| Term | Meaning |
| --- | --- |
| **NVIDIA NeMo** | Full software suite spanning open source libraries, commercial products, NIM, microservices, and services. |
| **NeMo OSS** | Public open source in [NVIDIA-NeMo](https://github.com/NVIDIA-NeMo), staged hub orientation, library documentation, and NGC containers. Entry point for choosing a stack, stage, library, or container. |
| **NeMo Framework** | Named **model-lifecycle** stack: composable libraries from data through deployment, each with its own source and docs. |
| **NeMo Framework container** | NGC image `nvcr.io/nvidia/nemo:<tag>`. Bundles Megatron-Bridge, Evaluator, Export-Deploy, Run, and NeMo Speech. |
| **NeMo Platform** | [nemo-platform](https://github.com/NVIDIA-NeMo/nemo-platform) — CLI, SDK, and Studio for **agent** evaluate / secure / tune / deploy. Composes libraries into an agent integration experience. |
| **Library** | A focused repo with its own docs and release cadence (Curator, AutoModel, RL, …). |
| **NeMo Speech** | The [NeMo](https://github.com/NVIDIA-NeMo/NeMo) repo — use this wording for speech AI in user-facing copy. |

## Repo `kind` (catalog metadata)

| Kind | Role | Examples |
| --- | --- | --- |
| `library` | Default product repo for a lifecycle stage | Curator, AutoModel, RL, Evaluator |
| `integration` | Composes multiple libraries into one product surface | NeMo Platform |
| `reference` | Recipes, cookbooks, reference pipelines | Skills, Nemotron |
| `infrastructure` | Shared CI or meta repos | FW-CI-templates |

Every repo still has one **stage** (org README columns). **Kind** clarifies role when stage alone is misleading (for example Platform listed under Inference for discoverability).

## Lifecycle stages

Data · Pretraining · RL · Inference · E2E — same columns as [profile/README.md](../profile/README.md).

## Hub page roles

| Page | Job |
| --- | --- |
| **Concepts** | Core mental models and relationships. Use concept pages for explanatory topics, not term lookup. |
| **Ecosystem** | Positioning and choices (Framework vs Platform, commercial boundary) |
| **Architecture** | Structure — pipeline, backends, containers, Platform overlay |
| **Libraries** | Inventory from `repos.ts` |
| **Task map** | Task-first routing from user intent to library, runtime path, and owning docs |
| **Runtime chooser** | Setup-path decision guide for containers, pip/source installs, and Platform setup |
| **Glossary** | Lookup-oriented definitions for terms, acronyms, and product names |
| **External learning** | Curated third-party blogs, videos, and partner examples with freshness caveats |

## Concepts section

Concepts is a directory, not a glossary. Keep pages focused on stable relationships that help readers reason across repos:

| Concept page | Job |
| --- | --- |
| **Framework and Platform** | Distinguish model-lifecycle work from integrated agent workflows |
| **Lifecycle stages** | Explain Data, Pretraining, RL, Inference, and E2E as workflow stages |
| **Repository catalog model** | Explain stage, kind, and tags |
| **Training backends and checkpoints** | Explain AutoModel, Megatron-Bridge, and checkpoint flow at a decision level |
| **Containers and installs** | Explain Framework container, standalone containers, and library installs |
| **Documentation surfaces** | Explain what the hub, library docs, repos, release notes, and glossary own |

## Broader suite references

Customizer, NIM, and other commercial NeMo microservices have their own product documentation. Mention them only when needed to explain the broader suite; do not use commercial microservice docs as OSS setup destinations.
Loading