Skip to content

Latest commit

 

History

History
59 lines (36 loc) · 2.54 KB

CONTRIBUTING.md

File metadata and controls

59 lines (36 loc) · 2.54 KB

How to Contribute

Although Popmotion is run by a single individual, contributions are gladly welcomed!

This guide will run through the types of contributions you can make and how to set the Popmotion repo up, ready for local development.

Types of Contribution

Bugs

Open issues can be found on our GitHub issues page.

If you begin working on a bug, post your intent on the issue itself. This will prevent more than one person tackling a bug at once.

If the bug you wish to work on doesn't currently have an issue, make one and label it "Bug".

Features

Before adding any features, open a Feature Proposal as a new issue.

This will let us talk through your proposed API and/or implementation before you spend time on it.

Development

Follow these steps to get your code PR-ready:

  1. Fork the Popmotion repo.
  2. Clone your fork locally.
  3. Run yarn in the repo root (install Yarn if necessary).
  4. Add your code and supporting tests.
  5. If this is a feature that requires doc changes, make as necessary.
  6. Update CHANGELOG.md.
  7. Ensure your changes build by running yarn build in the appropriate package directory(s).

Codebase Overview

Other than Stylefire and Framesync, Popmotion is a monorepo. All Popmotion and Pose packages are contained in the packages directory.

All code and tests must be written in Typescript.

Package Hierarchy

This flowchart illustrates the Popmotion package dependency tree.

Note: Currently, this illustration depicts popmotion as not dependent on stylefire, which isn't currently true. In popmotion@9.0.0, I'm considering removing Stylefire as a Popmotion dependency.

Popmotion package hierarchy flowchart

Get in Touch

If you need help, you can reach out to the official Popmotion Twitter account or post a discussion in our Spectrum community.