Skip to content

Tooling and Validation

This page turns .github/prompts/tooling.prompt.md into contributor-facing documentation. For repository setup, package execution, or pre-review validation, this page is the primary starting point.

Environment Setup

LAV2 expects Python 3.11 or newer. MuJoCo is required for the local simulation path, while GPU drivers are only relevant for Torch or simulator backends that need them.

For installation commands, use the dedicated Installation page. This page focuses on workflow after the environment is already set up.

Main Entry Points

The standard local runner entrypoints are:

lav2
uv run lav2
uv run python -m lav2.controller

Use the module form when an explicit entrypoint is preferable in logs or debug sessions.

Quality Checks

Preferred hook workflow with prek:

uv run prek install
uv run prek install --hook-type commit-msg
uv run prek run --all-files

Fallback hook workflow with Python pre-commit:

pre-commit install --hook-type commit-msg
pre-commit install
pre-commit run --all-files

Review Readiness

Before requesting review:

  • Keep the change scoped to the active Backlog task.
  • Record open questions, risks, and validation results in the task notes.
  • Run the relevant hooks and at least one runtime sanity check when behavior is affected.
  • Use Conventional Commit style for commit messages: type(scope): subject.

Sanity Checks

For local behavior checks, use the interactive runner:

uv run lav2
  • Choose mode 0 for the flight rotor stack.
  • Choose mode 1 for the tracked stack.
  • Watch for NaNs, actuator saturation, or missing asset failures.

For Isaac Lab integration, training or play scripts should import lav2.tasks.isaaclab, then pass a task such as --task Isaac-LAV2-Base-Direct-v0.

When To Update This Page

Update this page whenever .github/prompts/tooling.prompt.md, install commands, entrypoints, or validation commands change. The prompt file remains useful for agents, while this page should remain the readable source for human contributors.