Thanks for your interest in contributing to ArduDeck! This guide covers what you need to know before submitting a contribution.
All contributions to ArduDeck require agreement to our Contributor License Agreement.
ArduDeck is licensed under GPL v3 with a Marketplace Module Exception that allows third-party modules sold through the official ArduDeck Marketplace to use proprietary licenses. To maintain this dual-licensing structure, we need sufficient rights over all contributed code. The CLA grants the project maintainer (Ruben M) the ability to manage licensing while keeping ArduDeck open source.
Include this line in your first pull request description:
I have read and agree to the ArduDeck Contributor License Agreement (CLA.md).
Pull requests from contributors who have not agreed to the CLA cannot be merged.
- Fork the repository
- Create a feature branch from
master - Make your changes
- Ensure your code passes checks:
npx tsc --noEmit npx eslint . - Submit a pull request against
master
- TypeScript strict mode — handle
undefinedfrom indexed access (noUncheckedIndexedAccessis enabled) - No emojis in UI — use Lucide React icons instead
- Use existing components — especially
DraggableSliderfor all slider UIs - Check reference implementations before implementing MSP/MAVLink features (see
CLAUDE.mdfor details)
Open an issue on the repository. Include:
- Steps to reproduce
- Expected vs actual behavior
- Hardware/firmware details (if applicable)
Open an issue or reach out to the project maintainer.