Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 1 | Contributing to Flutter |
| 2 | ======================= |
| 3 | |
Greg Spencer | e60087a | 2018-08-07 13:41:33 -0700 | [diff] [blame] | 4 | [](https://cirrus-ci.org/flutter/flutter) |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 5 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 6 | _See also: [Flutter's code of conduct](CODE_OF_CONDUCT.md)_ |
Ian Hickson | cffe481 | 2016-12-10 21:46:57 -0800 | [diff] [blame] | 7 | |
Ian Hickson | 529d250 | 2018-06-01 12:04:20 -0700 | [diff] [blame] | 8 | Welcome |
| 9 | ------- |
| 10 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 11 | We invite you to join our team! Everyone is welcome to contribute code |
| 12 | via pull requests, to file issues on GitHub, to help people asking for |
| 13 | help on our mailing lists or on Stack Overflow, to help triage, |
| 14 | reproduce, or fix bugs that people have filed, to add to our |
| 15 | documentation, or to help out in any other way. |
Ian Hickson | 529d250 | 2018-06-01 12:04:20 -0700 | [diff] [blame] | 16 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 17 | We grant commit access (which includes full rights to the issue |
| 18 | database, such as being able to edit labels) to people who have gained |
| 19 | our trust and demonstrated a commitment to Flutter. |
Ian Hickson | 529d250 | 2018-06-01 12:04:20 -0700 | [diff] [blame] | 20 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 21 | This document focuses on what is needed to contribute by writing code |
| 22 | and submitting pull requests for the Flutter framework. For |
| 23 | information on contributing in other ways, see [the community page |
Tim Sneath | 5291897 | 2019-04-05 11:39:30 -0700 | [diff] [blame] | 24 | on flutter.dev](https://flutter.dev/community). |
Ian Hickson | 529d250 | 2018-06-01 12:04:20 -0700 | [diff] [blame] | 25 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 26 | Developing for Flutter |
| 27 | ---------------------- |
Ian Hickson | 529d250 | 2018-06-01 12:04:20 -0700 | [diff] [blame] | 28 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 29 | To develop for Flutter, you will eventually need to become familiar |
| 30 | with our processes and conventions. This section lists the documents |
| 31 | that describe these methodologies. The following list is ordered: you |
| 32 | are strongly recommended to go through these documents in the order |
| 33 | presented. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 34 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 35 | 1. [Our code of conduct](CODE_OF_CONDUCT.md), which stipulates explicitly |
| 36 | that everyone must be gracious, respectful, and professional. This |
| 37 | also documents our conflict resolution policy and encourages people |
| 38 | to ask questions. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 39 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 40 | 2. [Values](https://github.com/flutter/flutter/wiki/Values), |
| 41 | which talks about what we care most about. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 42 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 43 | 3. [Setting up your engine development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment), |
| 44 | which describes the steps you need to configure your computer to |
| 45 | work on Flutter's engine. If you only want to write code for the |
| 46 | Flutter framework, you can skip this step. Flutter's engine uses |
| 47 | mainly C++, Java, and ObjectiveC. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 48 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 49 | 4. [Setting up your framework development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Framework-development-environment), |
| 50 | which describes the steps you need to configure your computer to |
| 51 | work on Flutter's framework. Flutter's framework uses mainly Dart. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 52 | |
Tim Sneath | 5291897 | 2019-04-05 11:39:30 -0700 | [diff] [blame] | 53 | 5. [Tree hygiene](https://github.com/flutter/flutter/wiki/Tree-hygiene), |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 54 | which covers how to land a PR, how to do code review, how to |
| 55 | handle breaking changes, how to handle regressions, and how to |
| 56 | handle post-commit test failures. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 57 | |
Tim Sneath | 5291897 | 2019-04-05 11:39:30 -0700 | [diff] [blame] | 58 | 6. [Issue hygiene](https://github.com/flutter/flutter/wiki/Issue-hygiene), |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 59 | which covers our processes around triaging bugs, escalating high |
| 60 | priority bugs, assigning bugs, and our GitHub labels and |
| 61 | milestones. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 62 | |
Tim Sneath | 5291897 | 2019-04-05 11:39:30 -0700 | [diff] [blame] | 63 | 7. [Our style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo), |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 64 | which includes advice for designing APIs for Flutter, and how to |
| 65 | format code in the framework. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 66 | |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 67 | In addition to the above, there are many pages on [our |
| 68 | Wiki](https://github.com/flutter/flutter/wiki/) that may be of |
| 69 | interest. For a curated list of pages see the sidebar on the wiki's |
| 70 | home page. They are more or less listed in order of importance. |
Ian Hickson | 2f63044 | 2018-10-25 15:40:35 -0700 | [diff] [blame] | 71 | |
| 72 | If you would like to chat to other people who work on Flutter, consider joining the |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 73 | https://gitter.im/flutter/contributors chat channel. We also have a [general chat |
Ian Hickson | 2f63044 | 2018-10-25 15:40:35 -0700 | [diff] [blame] | 74 | channel](https://gitter.im/flutter/flutter) for people who aren't working on Flutter |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 75 | but who use Flutter. |