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
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+74Lines changed: 74 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@ Please read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing.
17
17
-[Developer Certificate of Origin](#developer-certificate-of-origin)
18
18
-[Testing](#testing)
19
19
-[Code Style](#code-style)
20
+
-[Documentation](#documentation)
20
21
21
22
## Getting Started
22
23
@@ -318,6 +319,79 @@ prek install
318
319
319
320
This installs hooks that run Ruff (format + lint), ty type checking, and uv lock verification on each commit.
320
321
322
+
## Documentation
323
+
324
+
This project uses [MkDocs Material](https://squidfunk.github.io/mkdocs-material/) for its documentation site, hosted at <https://nvidia-nemo.github.io/Safe-Synthesizer/>.
325
+
326
+
### Local Preview
327
+
328
+
Documentation dependencies are included in the `dev` bootstrap profile. If you already ran `make bootstrap-nss dev` (or `cpu`/`cuda`), you're set. Otherwise install them directly:
329
+
330
+
```bash
331
+
uv sync --group docs
332
+
```
333
+
334
+
Start a local server with live reload:
335
+
336
+
```bash
337
+
make docs-serve
338
+
# Browse to http://127.0.0.1:8000
339
+
```
340
+
341
+
Build the static site (output in `site/`):
342
+
343
+
```bash
344
+
make docs-build
345
+
```
346
+
347
+
### Directory Layout
348
+
349
+
All documentation lives under `docs/`. The structure follows the [Diataxis](https://diataxis.fr/) framework:
-**Code blocks** -- syntax highlighting, line numbers, copy button, and annotations
372
+
-**Mermaid diagrams** -- fenced code blocks with ` ```mermaid `
373
+
-**Task lists**, **footnotes**, **definition lists**, and **emoji**
374
+
375
+
See the [MkDocs Material reference](https://squidfunk.github.io/mkdocs-material/reference/) for full syntax.
376
+
377
+
### API Reference
378
+
379
+
API reference pages are auto-generated from Python docstrings. The `mkdocstrings` and `gen-files` plugins run `docs/gen_ref_pages.py` at build time to produce pages under `reference/`. You do not need to edit these files manually -- just write Google-style docstrings in `src/nemo_safe_synthesizer/` and they will appear on the next build.
380
+
381
+
### Deployment
382
+
383
+
Documentation is deployed to GitHub Pages automatically when changes to `docs/`, `mkdocs.yml`, or `src/` are pushed to `main`. The workflow is defined in `.github/workflows/docs.yml`.
384
+
385
+
## AI Agents
386
+
387
+
This project supports AI coding assistants (Cursor, Windsurf, Claude Code). Key files:
0 commit comments