File: CONTRIBUTING.md

package info (click to toggle)
mujoco 2.2.2-3.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 39,796 kB
  • sloc: ansic: 28,947; cpp: 28,897; cs: 14,241; python: 10,465; xml: 5,104; sh: 93; makefile: 34
file content (116 lines) | stat: -rw-r--r-- 4,067 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Contributing to MuJoCo

We intend for MuJoCo to be a true community-driven project and look forward to
accepting your contributions!

## Before you contribute

### Documentation, forums

Please read MuJoCo's [documentation](https://mujoco.readthedocs.io) and look
through current topics on our GitHub
[issues](https://github.com/deepmind/mujoco/issues) and
[discussions](https://github.com/deepmind/mujoco/discussions) pages.

### Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement (CLA). You (or your employer) retain the copyright to your
contribution; this simply gives us permission to use and redistribute your
contributions as part of the project. Head over to
<https://cla.developers.google.com/> to see your current agreements on file or
to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

## Contributing

### Reporting bugs

How to submit a good bug report:

- Use a clear and descriptive title.

- Make it easy to reproduce the problem. If this requires a model, attach it as
a zip file to the bug report. The model and steps required to reproduce the
proplem should be *minimal*, in the sense that irrelevant parts are
removed.

- Clearly state what is the expected behavior.

- Include an illustrative screenshot, if relevant.

Try to provide context:

- If the problem is new, see if you can reproduce it in an older version.
What's the most recent version in which the problem doesn't happen?

- Can you reproduce the problem on multiple platforms?

### Suggesting enhancements

Before submitting an enhancement suggestion:

- Check if you're using the [latest
version](https://github.com/deepmind/mujoco/releases/latest) of MuJoCo.

- Perform a quick [search](https://github.com/deepmind/mujoco/issues) to see if
the enhancement has already been suggested. If it has, add a comment to the
existing issue instead of opening a new one.

How to submit a good enhacement suggestion:

- Use a clear and descriptive title.

- Describe the current behaviour and the behavior which you hope to see instead.

- Explain why this enhancement would be useful.

- Specify the version of MuJoCo and platform/OS you are using.

### Contributing code

- Except for small and straightforward bugfixes, please get in touch with us
before you start working on a contribution so that we can help and possibly
guide you. Coordinating up front makes it much easier to avoid frustration later
on.

- All submissions require review. Please use GitHub pull requests for this
purpose. Please consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on pull requests.

- Write tests. MuJoCo uses [googletest](https://github.com/google/googletest)
for C++ tests, [absltest](https://abseil.io/docs/python/guides/testing) for
Python binding code and [nunit](https://nunit.org/) for C# code in the Unity
plugin. In most cases, a pull request will only be accepted if it includes
tests. MuJoCo's internal codebase is currently lacking in test coverage. If you
want to modify a function that isn't covered by tests, you'll be expected to
contribute tests for the existing functionality, not just your modification. In
fact, writing a test for existing code is a great way to get started with
contributions.

- Resolve compiler warnings.

- All existing tests must pass.

- Follow the [Style Guide](./STYLEGUIDE.md). In particular, adequately comment
your code.

- Make small pull requests. We will likely ask you to split up a large pull
request into self-contained, smaller ones, especially if the PR is trying to
achieve multiple things.

- Respond to reviewers. Please be responsive to any questions and comments.

Once you have met all the requirements, your code will be merged.
Thanks for improving MuJoCo!



### Community guidelines

This project follows Google's
[Open Source Community Guidelines](https://opensource.google/conduct/).