Tooling and Validation
This page turns .github/prompts/tooling.prompt.md into contributor-facing
documentation. If you need to set up the repo, run the package, or validate a
change before review, start here.
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 -m lav2.controller
Use the module form when you want the entrypoint to remain explicit 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, make sure your training or play script imports
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 is still useful for
agents, but this page should be the readable source for human contributors.