Contributing#

Development workflow#

  1. Read project contribution docs first:

  1. Follow AGENTS constraints:

Code expectations#

  • Batch-first data contracts (B, ...)

  • Types centralized in omninav/core/types.py

  • Registry-driven construction (no hardcoded instantiation)

  • Lifecycle compliance for major components

Docs expectations#

When architecture/runtime/interface behavior changes, sync docs consistently:

  • Requirements / Plan / Task / Walkthrough / Agents

Doc quality gates for this repository:

  • Sphinx build must pass with 0 warning.

  • GitHub blob/main links in docs must resolve to real files.

  • EN/ZH docs tree must keep mirrored page structure.

  • Terminology and title style must pass docs style checks.

Tests#

Run unit and integration tests relevant to changed modules. For heavy Genesis-dependent scenarios, use explicit test gates where provided.

Reference:

Docs validation commands#

python scripts/docs/check_repo_links.py
python scripts/docs/check_bilingual_structure.py
python scripts/docs/check_docs_style.py
source ~/omninav_ros_env/bin/activate && sphinx-build -b html docs docs/_build/html -W --keep-going