Skip to content
This repository has been archived by the owner on Sep 14, 2022. It is now read-only.

Latest commit

 

History

History
53 lines (28 loc) · 4.31 KB

contribute.md

File metadata and controls

53 lines (28 loc) · 4.31 KB

Contribute

Code of conduct

To ensure a welcoming experience for our entire community, this project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.

If you have any questions about any of this stuff, just ask! :)

Contributing ideas and issues

We'd love to hear from you! Please submit any bug reports and feature requests through Github issues.

Direct contributions

We warmly welcome contributions from the community to our cellxgene Desktop repository! If you have an idea for a contribution, we encourage you to open a github issue to discuss your idea with our team and other community members. If your idea solves a problem for a large number of users and is aligned with core cellxgene functionality, our developers will be happy to work with you to hash out details and decisions ahead of time. Performance, usability, and extensibility are central to our application, and merging a PR will likely require a few rounds of revision with our developers.

If you have a very specific problem you are trying to solve, we encourage you to fork our repo and make updates there.

We are not currently accepting community PRs for cellxgene Data Portal but greatly value and encourage submission of feature requests.

Getting started

If you are interested in working on cellxgene development, you'll need to use git to make a copy of the project repository and share your changes.

Please submit any direct contributions by forking the repository, creating a feature branch, and submitting a Pull Request.

First, you'll need the following installed on your machine

  • python 3.6+
  • node and npm (we recommend using nvm if this is your first time with node)

Next you can build the client web assets and install all requirements by following the directions in our dev docs on github.

You can start the app while developing either by calling cellxgene or by calling python -m server. We recommend using the --debug flag to see more output, which you can include when reporting bugs.

If you have any questions about developing or contributing, come hang out with us by posting an issue in our github.

Contributing code

This project has made a few key design choices:

  • The front-end is built with regl (a webgl library), react, redux, d3, and blueprint to handle rendering large numbers of cells with lots of complex interactivity
  • The app is designed with a client-server model that can support a range of existing analysis packages for Python-based backend computational tasks (currently built for scanpy)
  • The client uses fast cross-filtering to handle selections and comparisons across subsets of data

Depending on your background and interests, you might want to contribute to the frontend, or backend, or both!

Please submit any direct contributions via a Pull Request. It'd be great for PRs to include test cases and documentation updates where relevant, though we know the core test suite is itself still a work in progress.

Contributing documentation

Feel free to fork our docs repo and submit a pull request if you would like to contribute documentation or suggest edits to our documentation.