Skip to content

Contributing

These docs are open source. The Nova engine and the official platform are not. Contributions are welcome for the documentation and API metadata, but this repository must never contain engine, backend, client, or Studio source code, reverse-engineered internals, private endpoints, or credentials.

The official platform is https://www.novalabs.top.

The docs are split into two kinds of content:

Path Editable? What it is
docs/getting-started/, docs/migration/, docs/tutorials/, docs/index.md Yes Hand-written guides and tutorials.
docs/reference/ No Generated API pages. Edit the source or data/compat.yaml instead.
data/compat.yaml Yes Curated statuses, caveats, and workarounds.
data/*.txt, data/*.json, data/*.xml Usually no API snapshots; refresh them with the sync script.
scripts/ Yes Generator and sync tooling.

Set up

git clone https://github.com/novalabs-org/Nova.Docs.git
cd Nova.Docs

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

python scripts/sync_sources.py
python scripts/generate_reference.py
mkdocs serve

mkdocs serve prints a local URL. The generated pages are rebuilt only when you run the generator; restart mkdocs serve after regenerating if the navigation looks stale.

Change a support status or add a workaround

Most corrections belong in data/compat.yaml:

classes:
  UIListLayout:
    status: missing
    note: "Short explanation."
    alternative: "What to use instead."

members:
  Workspace.Raycast:
    status: planned
    note: "Use FindPartOnRayWithIgnoreList today."

datatypes:
  RaycastParams:
    status: missing

Then regenerate and commit both the YAML and the generated pages:

python scripts/generate_reference.py
python scripts/generate_reference.py --check

Use supported, partial, missing, planned, alias, nova-only, internal, or unknown. See the legend on the home page.

Write or edit a guide

  • Prefer concrete, runnable Lua over pseudo-code.
  • Use modern property names (PlaybackSpeed, RollOffMinDistance, ...).
  • When an API is missing, show the replacement, not just the gap.
  • Link to the relevant reference page with a relative path, for example [Workspace](reference/classes/Workspace.md).
  • Keep code samples self-contained and free of place-specific names.
  • Do not include engine, backend, client, or Studio source code. The docs repository is public and separate from the closed-source platform on purpose.
  • Do not document private endpoints, credentials, bypasses, or exploit details.

Run the site locally and check the page in both light and dark mode.

Refresh the API snapshots

# Roblox dump + creator-docs cache
python scripts/sync_sources.py

# Also update the Nova dump (produced by the engine)
NovaPlayer --API nova-api.txt
python scripts/sync_sources.py --nova-dump nova-api.txt

python scripts/generate_reference.py

The Nova dump is generated by the engine binary, not downloaded. If you do not have a build, leave data/nova-api.txt alone and only refresh the Roblox side.

Pull request checklist

  • python scripts/generate_reference.py --check passes.
  • mkdocs build --strict passes.
  • New code samples were run in NovaStudio or a local server.
  • No engine/backend source code, secrets, private URLs, or exploit details are included.
  • Generated pages are committed alongside their source changes.
  • The change is described in plain language, with the affected class or guide linked.

Licensing and attribution

By contributing, you agree that:

  • Original prose and code are contributed under the repository's content/code licenses (see LICENSE).
  • Roblox-derived descriptions remain attributed to Roblox Corporation and CC BY 4.0. Do not remove the attribution in NOTICE.md or the site footer.

Reporting a docs bug

Open an issue with:

  • The page URL or file path.
  • The class/member/guide section.
  • What you expected and what the site says.
  • If possible, the API dump evidence (Nova member present/absent, Roblox member present/absent).

For platform bugs (as opposed to documentation bugs), use the official platform's support/security channel. The engine has no public issue tracker.