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
0for the flight rotor stack. - Choose mode
1for 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.