Contributing#
Bug fixes and documentation improvements are welcome straight away. For new tasks, MDP changes or paper reproductions, open an issue first: the MDP is shared, and methods are expressed as presets and tasks rather than forks (Modularity). Planned work: Roadmap.
Development setup#
git clone https://github.com/wbc-mjlab/wbc-mjlab.git && cd wbc-mjlab
make sync # CUDA env + dev tools (make sync-cpu without a GPU)
uvx pre-commit install # optional: format and lint on commit
|
|
|
|
|
|
|
|
|
lint + smoke |
|
Build the docs · live-reload server ( |
Repository layout#
src/wbc_mjlab/
env/ shared MDP: template (wbc_env_cfg.py) and terms (mdp/)
presets/ method recipes: apply_wbc, apply_zest, …
robots/g1/ the in-tree robot: model, actuators, tasks
robots/custom.py robots added from model files (robot.yaml)
tasks/ WbcTaskConfig and registration
motion/ conversion, formats, mirroring
export/ policy.onnx + config.yaml
studio/ WBC Studio: services, web UI (web/), viser UI
extension.py register_wbc_extension
data/<robot>/ motion libraries (samples/ versioned)
docs/ this site
tests/ pytest suite
Pull requests#
Branch from
main; keep each PR to one change.Run
make formatandmake check;make testfor code changes.Smoke-test what you touched — a short train / play on
--dataset samples.Update the docs page that describes the behaviour.
Link the issue (
Closes #N).
Where changes go#
Change |
Guide |
|---|---|
A paper’s setup as a task |
Add a task or preset — neutral names in code, the paper in the task description and Research & citations |
A new robot |
Add a robot — an extension package, not a fork |
A new reward / observation / sampling term |
|
Docs |
|
Help and license#
Questions and bugs: issues (simulation stack: mjlab issues). Contributions are licensed Apache 2.0 (LICENSE).