Earlier this year we wrote about how we welcome contributions, and we still do! Every pull request that makes it into our repositories makes the Crazyflie ecosystem better for everyone. Today we want to tell you about our updated contribution guidelines, and why we changed them.

Over the last months more and more of the pull requests we are receiving are written with the help of AI tools. Many of them are great. But we have also noticed a pattern that makes things hard for both you and us.
A lot of the issues we have open on GitHub are not just waiting for someone to write the code. They need decisions first: how should this be solved, how does it fit with the rest of the system, and what will it mean for the future? We usually discuss these things as a team, and that discussion is often most of the work. When a pull request shows up with a ready-made solution, we have to have that discussion anyway, and sometimes the answer is that we want to go in a different direction. That is frustrating for everyone, especially the person who spent time on the code.
On top of that, we work with hardware. Code that compiles and passes CI is a good start, but it doesn’t tell us whether the Crazyflie actually behaves as expected. We always test pull requests on our platforms before merging, and it helps a lot to know what you have already tried.
What’s new?
We have cleaned up our General guidelines for code contributions and split them into sections that follow the life of a pull request. The biggest changes:
- Talk to us first. Comment on the issue with your proposed approach, and open a pull request once we agree. If there is no issue for your change, open one first. Fixes that don’t involve any design decision, such as typos or documentation corrections, can go straight to a pull request.
- Tell us how you tested it. Let us know what hardware tests you ran and what you observed.
- AI tools are welcome, but you are the author. You should understand your change and be able to discuss it in your own words.
- Clear expectations. Pull requests that don’t follow the guidelines may be converted to a draft or closed. It’s never personal, it lets us spend our review time where it counts.
Where to find them
The guidelines live in one place, the General guidelines for code contributions page on our website. To make them easy to find, we are also updating the Contribute section in the README of our repositories so it links straight to them. For other ways to help out, like reporting bugs, improving the documentation or sharing your projects, have a look at our Contribute page.
Building it together
None of this is meant to scare anyone away. It’s the opposite: we want contributing to the Crazyflie ecosystem to be a good experience, where your effort ends up in the codebase instead of in a closed pull request. If something in the guidelines is unclear, or you think we got something wrong, please let us know. And as always, thank you to everyone who has contributed so far. We can’t wait to see what you build next!