Skip to content

Getting started on contribution

Mariko Kosaka edited this page Jul 1, 2021 · 1 revision

Note: This guide is written for those participating in Contribution Pairing, however it maybe useful for anyone contributing to the project.

Getting started on the codebase

1. Clone this repo and build locally

We tried to make it so building the app locally is as straight forward as possible, here is the guide on Readme. If you have any issue building app locally, please let us know.

2. Get to know the repo structure

We've recorded a walk through of this repository. It will explain where things are located and how our build scripts are run on each pull request.

Youtube thumbnail

3. Create Work In Progress Pull Request

Once you pick an issue, create your dev branch, and open a pull request. Please add [WIP] in Pull Request title & add "DO NOT MERGE" label. Work in progress PR is welcomed. We deploy PR branch to Netlify. It is especially useful for those workin on web app since you can check the branch in real enviroment.

If this is your first time contributing, a bot will ask you to sign CLA.

Pick your project

We manage project using issues. Triaged issues have label assigned.

  • help wanted: These issues are something we decided to implement in the app. Level and complexity varies.
  • good first issue: These are small scope project which we think good for getting started.
  • CLI: Issues related to libSquoosh, tasks tends to be Node.js code work
  • UI: Issues related to web app version of Squoosh, tends to be JS/CSS work
  • codec: Issues related to Wasm part of Squoosh, Emscripten and other language work
  • project infra : issues related to build script and deployment
  • housekeeping: Miscellaneous tasks in the project such as documentation and test

Please pick what you want to work on & comment in the issue to claim it.

Sign up to team chat & pairing session

Once you pick your project, we can add you to our chat room. Please let us know your email address so we can send an invite. (If you don't want to participate in chat & you would rather communicate on Github only that's totally fine too!)

We'll also assign your pair member from project core who will be there to answer any question & will do final code review on your pull request.

With your pair member we are thinking of hosting two 1:1 video sessions

  1. Initial conversation (~30 min) this is time to discuss how we should approach the project, clear any question you have, and get you setup with build process.
  2. Code Review (~30 min) once you finish the project and PR is ready to be reviewed, your pair will do code review.

We'll schedule video sessions in chat room (or over email if you prefer not to join the chat room).

Goal of contribution pairing is to make it as easy as possible for you to get started and make contribution, so please do ask any questions you might have along the way.