tl;dr: join Discord, be courteous, follow the steps below to set up a development environment.
We invite you to join the Flutter team, which is made up of volunteers and sponsored folk alike! There are many ways to contribute, including writing code, filing issues on GitHub, helping people on our mailing lists, our chat channels, or on Stack Overflow, helping to triage, reproduce, or fix bugs that people have filed, adding to our documentation, doing outreach about Flutter, or helping out in any other way.
For additional context please read the Flutter's CONTRIBUTING document.
Gerrit is a free, web-based team code collaboration tool. Software developers in a team can review each other's modifications on their source code using a Web browser and approve or reject those changes. It integrates closely with Git, a distributed version control system. Flutter uses Gerrit/Git for source code control to take advantage of the existent LUCI integrations.
Note: git client must be pre-installed in your system.
Visit Flutter's Gerrit Host and click the sign in link on the top right section of the page.
Visit the Settings page of the Flutter Gerrit Host. It will offer to create a gerrit account, follow the on screen instructions to create the account.
Visit the Settings page of the Flutter Gerrit Host. Scroll down close to the bottom and click on the obtain password link
, click on allow, copy the command from the new window and run it on your git terminal. This will cache your credentials in your local environment.
Visit the Settings page of the Flutter Gerrit Host. Scroll down close to the bottom and click on the new contributor agreement
link, select Google CLA, review the CLA and accept the agreement.
Please ensure you have created a gerrit account, generated passwords (ran the associated commands) and accepted the CLA before running the next commands.
The following commands can be used to create a new change list and sent it for review:
git clone https://flutter.googlesource.com/recipes # clone the repository. cd recipes git checkout -b <new_branch> # git add <file> or git rm <file> git commit git push origin HEAD:refs/for/main # The commands below need to be executed once on the first CL to the repository. # If this is your first CL and you get an error related to "missing Change-Id in message footer" # run the command provided in the hint section above the error. This is is required only in the first # CL to enable the hook to automatically add a change ID to the CL. # git commit --amend --no-edit # git push origin HEAD:refs/for/main