Thank you for your interest in contributing to FitApp! This project is built as a protocol-style open source company where contributors earn from the revenue pool.
Select roadmap items have fixed-dollar bounties paid via a one-time GitHub Sponsors sponsorship on PR merge. Bounties are additive to the revenue-pool points below — a bountied PR earns both. See BOUNTIES.md for the workflow (claiming, acceptance criteria, sizing).
Browse open bounties: issues labeled bounty.
FitApp allocates 25% of subscription revenue to the contributor pool. Contributions are scored based on:
| Contribution | Points |
|---|---|
| Small PR (< 50 lines) | 1 |
| Medium PR (50-200 lines) | 3 |
| Large PR (200+ lines) | 5 |
| Issue resolved | 2 |
| Code review | 1 |
| Documentation | 2 |
Payouts are calculated monthly based on your share of total points.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/fitapp.git - Install dependencies:
flutter pub get && cd functions && npm install - Start Firebase emulators:
firebase emulators:start - Run the app:
flutter run -d chrome
- Create a branch from
main:git checkout -b feat/your-feature - Make your changes
- Run tests:
flutter test - Push and open a PR against
main - CI will run build checks automatically
- Get a review and merge
We embrace AI-assisted development. When using AI tools:
- Always disclose AI tool usage in your PR using the template
- Review all AI output — you are responsible for the code you submit
- Don't blindly commit AI-generated code without understanding it
- Security-sensitive code (auth, payments, data access) must be human-reviewed
- Tests should validate AI-generated code independently
Recommended tools: Claude Code, GitHub Copilot, Cursor
- Dart: Follow the Effective Dart guidelines
- TypeScript (Functions): Use strict mode, no
anytypes - Commits: Use conventional commits (
feat:,fix:,docs:,test:) - PRs: One feature/fix per PR, use the PR template
By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license.