Diff of /CONTRIBUTING.md [000000] .. [ea0fd6]

Switch to side-by-side view

--- a
+++ b/CONTRIBUTING.md
@@ -0,0 +1,64 @@
+# Contributing to InMoose
+
+InMoose aims at brining state-of-the-art bioinformatics tools to the Python
+ecosystem. The project is still in development, and any contribution is
+important!
+
+## How to contribute
+
+You have **many** ways to contribute to the InMoose project, and make it successful by:
+
+* adding features
+
+* reporting and fixing issues (from plain bugs to ergonomic concerns or
+  documentation)
+
+* providing interesting examples and use cases (and make the data available)
+
+## Contributing in practice
+
+Any contribution should first be traced in a github issue. Before opening an
+issue, please make sure the topic you wish to address is not already covered by
+an existing issue.
+
+An issue is the place where a topic is discussed by the community: scope and
+implementation ideas for enhancements, reproduction steps and possible
+workarounds for bugs, ...
+
+Once an issue is mature enough for implementation, fork the github repo, and
+create a dedicated branch for the issue. Once your work is ready for review,
+please open a pull request (PR) to merge your branch into the master branch.
+Note that your code will be reviewed before merging, which may trigger further
+discussions or change requests on your code. Once the review process has
+converged towards approval, your PR (*i.e.* your contribution) will be merged in
+InMoose. Voilà!
+
+To be accepted, your contribution should be complete:
+- the targeted issue should be fully addressed, or limitations clearly
+  documented. If needed, an issue may be split into several issues.
+- the new behavior should be properly tested. It means adding tests for new
+  features, and updating existing tests when modifying an existing features.
+  Bugfixes should typically add test cases to make sure that the bug is properly
+  fixed.
+- the new behavior should be properly documented. This means:
+  + updating the documentation upon adding a feature, or when modifying an
+    existing feature
+  + properly comment the code, especially parts that are not self-explanatory
+  + write sensible commit messages
+  + update the issue to describe the solution implemented
+
+## Testing InMoose on new data
+
+We believe that the best way of increasing InMoose robustness is to use it on as
+many various datasets as possible.
+
+## Writing documentation
+
+InMoose uses
+[Sphinx](https://www.sphinx-doc.org/en/master/usage/quickstart.html) to
+automatically document the main scripts. You can use the following command to
+build the documentation (from the docs folder):
+
+```bash
+sphinx-build -b html source/ .
+```