Contribution guide
welcome to the flipper zero contribution guide! thank you for investing your time in contributing to our project! read our code of conduct https //github com/flipperdevices/flipperzero firmware/blob/dev/code of conduct md to keep our community approachable and respectful in this guide, you will get an overview of the contribution workflow from opening an issue, creating a pr, reviewing, and merging the pr new contributor guide see the readme https //github com/flipperdevices/flipperzero firmware/blob/dev/readme md for an overview of the project here are some helpful resources to get you comfortable with open source contribution finding ways to contribute to open source on github https //docs github com/en/get started/exploring projects on github/finding ways to contribute to open source on github set up git https //docs github com/en/get started/quickstart/set up git github flow https //docs github com/en/get started/quickstart/github flow collaborating with pull requests https //docs github com/en/github/collaborating with pull requests getting started before writing code or creating a pr, ensure it aligns with our mission and guidelines all our devices are intended for research and education a pr that contains code intended to commit crimes is not going to be accepted your pr must comply with our coding style https //github com/flipperdevices/flipperzero firmware/blob/dev/coding style md your pr must contain code compatible with the project's license https //github com/flipperdevices/flipperzero firmware/blob/dev/license pr will only be merged if it passes ci/cd pr will only be merged if it passes review by code owner ai generated prs (especially with changes in core parts (like furi, freertos, libs, sdk)) may not be accepted if changes are hard or impossible to verify feel free to ask questions in issues / discussions if you're not sure development setup clone the repository git clone recursive https //github com/flipperdevices/flipperzero firmware git install build requirements and build with flipper build tool see documentation/fbt md https //github com/flipperdevices/flipperzero firmware/blob/dev/documentation/fbt md for details basic commands /fbt β build with debug flags enabled /fbt compact=1 debug=0 updater package β build full updater package tgz with release flags /fbt vscode dist β add vscode environment to the project /fbt format β format code in project folder please apply this before making a pr follow coding style md https //github com/flipperdevices/flipperzero firmware/blob/dev/coding style md for code style and formatting issues create a new issue if you found a problem, search if an issue already exists https //docs github com/en/github/searching for information on github/searching on github/searching issues and pull requests#search by the title body or comments if a related issue doesn't exist, you can open a new issue using a relevant issue form https //github com/flipperdevices/flipperzero firmware/issues/new/choose solve an issue scan through our existing issues https //github com/flipperdevices/flipperzero firmware/issues to find one that interests you make changes fork the repository using github desktop getting started with github desktop https //docs github com/en/desktop/installing and configuring github desktop/getting started with github desktop will guide you through setting up desktop once desktop is set up, you can use it to fork the repo https //docs github com/en/desktop/contributing and collaborating using github desktop/cloning and forking repositories from github desktop ! using the command line fork the repo https //docs github com/en/github/getting started with github/fork a repo#fork an example repository so that you can make your changes without affecting the original project until you're ready to merge them clone your new forked repository to your machine , use recursive to ensure all submodules are fully loaded then you are ready to build see documentation/fbt md https //github com/flipperdevices/flipperzero firmware/blob/dev/documentation/fbt md for more info create a working branch (use descriptive names such as feature/your feature ) and start with your changes! commit your update commit the changes once you are happy with them ensure code compilation succeeds, tests pass, and formatting follows coding style md https //github com/flipperdevices/flipperzero firmware/blob/dev/coding style md and /fbt format was applied use clear, descriptive commit messages pull request when you're done making the changes, open a pull request, often referred to as a pr fill out the included template, do not remove or replace some parts of the template like "for reviewer" part, following that ensures we can review your pr this template helps reviewers understand your changes and the purpose of your pull request don't forget to link pr to issue https //docs github com/en/issues/tracking your work with issues/linking a pull request to an issue if you are solving one enable the checkbox to allow maintainer edits https //docs github com/en/github/collaborating with issues and pull requests/allowing changes to a pull request branch created from a fork so the branch can be updated for a merge once you submit your pr, a code owner will review it we may ask questions or request additional information we may ask for changes to be made before a pr can be merged, either using suggested changes https //docs github com/en/github/collaborating with issues and pull requests/incorporating feedback in your pull request or pull request comments you can apply suggested changes directly through the ui you can make any other changes in your fork, then commit them to your branch, and they will be automatically added to the open pr as you update your pr and apply changes, mark each conversation as resolved https //docs github com/en/github/collaborating with issues and pull requests/commenting on a pull request#resolving conversations if you run into any merge issues, check out this git tutorial https //github com/githubtraining/managing merge conflicts to help you resolve merge conflicts and other issues your pr is merged! congratulations π the flipper devices team thanks you β¨
Have a question?
Our knowledgeable support team and an awesome community will get you an answer in a flash. Please leave your questions in English.
To ask a question or participate in discussions, you'll need to authenticate first.