Contributing to APCA

First, thank you for taking the time to contribute! Myndex is focused on the underlying perception research, and the needs of supporting developers is its own monumental task! Thank you for help and discussion on how best to serve the developer community.

The following is a set of guidelines for contributing to APCA and its packages, which are in various repos here on GitHub, depending on their target audience.

Table Of Contents

Code of Conduct

I don’t want to read this whole thing, I just have a question!!!

What should I know before I get started?

How Can I Contribute?


Code of Conduct

This project and everyone participating in it is governed by the Myndex Code of Conduct. By participating, you are entering a “safe space” for exploration and development. Please keep that in mind.

I don’t want to read this whole thing I just have a question!!!

Note: Please don’t file an issue to ask a question. Please start in the discussions tab.

What should I know before I get started?

APCA and Packages

APCA is a small open source project made up of several repositories. This section should help you with which and where to enter a pull request.


Package Conventions


Math Decisions

Any changes to the functionality or results of the math, and math and constants implementations must come from (or go through) Myndex Research. The empirical data is not collated for public consumption as yet, and all math methods rely on the empirical research.

How Can I Contribute?

Reporting Bugs

Regardless of the repo, bugs should be reported in the https://github.com/Myndex/SAPC-APCA/issues tab.

Note: If you find a Closed issue that seems like it is the same thing that you’re experiencing, open a new issue and include a link to the original issue in the body of your new one.

Before Submitting A Bug Report

How Do I Submit A (Good) Bug Report?

Bugs are tracked as GitHub issues.

Explain the problem and include additional details to help maintainers reproduce the problem:

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for APCA, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:.

Before creating enhancement suggestions, please check this list as you might find out that you don’t need to create one. When you are creating an enhancement suggestion, please include as many details as possible, including the steps that you imagine you would take if the feature you’re requesting existed.

Before Submitting An Enhancement Suggestion


How Do I Submit A (Good) Enhancement Suggestion?

Enhancement suggestions are tracked as GitHub issues. Create an issue and provide the following information:

Your First Code Contribution

Unsure where to begin contributing to Atom? You can start by looking through these beginner and help-wanted issues:

Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have.

Pull Requests

The process described here has several goals:

Please follow these steps to have your contribution considered by the maintainers:

  1. Follow all instructions in the template
  2. Follow the style-guides
  3. After you submit your pull request, verify that all status checks are passing
    <summary>What if the status checks are failing?</summary>If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.

While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.


JavaScript Style-guide

All JavaScript code TBD

Specs Style-guide

Documentation Style-guide

NOTES: This file was based in part on the Atom example.