Skip to main content

Contributing to FreeMoCap

Welcome to the FreeMoCap contributing guide.

This guide covers reporting bugs, suggesting features, and submitting code changes.

Reporting bugs​

Feedback helps improve FreeMoCap directly. To report a bug, file a new bug report describing what happened, what was expected instead, and how to reproduce the issue.

For details, see the bug report guide.

Suggesting features​

New feature ideas and improvement suggestions are welcome. To suggest a feature, open a new feature request describing the feature, its benefits, and any potential challenges in implementing it.

For details, see the feature request guide.

Code contributions​

Contributing code to FreeMoCap means creating and submitting pull requests. This section covers the development process, coding styles, and testing requirements.

Development process​

FreeMoCap follows GitHub Flow. Fork the repo, branch from main, and open a pull request when the change is ready for review.

Pull requests​

Pull requests are the way to propose changes to the codebase. Steps:

  1. Fork the repo and create a branch from main.
  2. Add tests for any new code that needs them.
  3. Update the documentation for any changed APIs.
  4. Make sure the test suite passes.
  5. Make sure the code lints.
  6. Open the pull request.

Coding styles​

Consistent coding styles keep the codebase clean and easy to understand. Style guides:

Testing​

Every code contribution needs tests to keep the project stable and reliable. A pull request needs test coverage and needs to pass the GitHub Actions workflow before merging.

Here's a nice introduction to testing in Python.

Contributing to documentation​

The repository's own documentation lives in the freemocap-docs/ directory of the FreeMoCap repo and is written with Docusaurus. It can be edited with any markdown editor, and follows the same GitHub Flow process as code contributions. Open a pull request against the FreeMoCap repo.

Getting help and asking questions​

Questions and issues are welcome on the Discord server, or as a new issue on GitHub.