Thank you for contributing to ESP32-DFU-iOS.
- Search existing issues to avoid duplicates.
- For larger changes, open an issue first to discuss direction.
- Keep pull requests focused and small when possible.
- Clone the repository.
- Install XcodeGen.
- Generate the Xcode project:
xcodegen generate- Build locally:
xcodebuild \
-project ESP32-DFU.xcodeproj \
-scheme ESP32-DFU \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15' \
CODE_SIGNING_ALLOWED=NO \
build- Create branches from main.
- Use clear commit messages in imperative mood.
- Reference issue numbers when applicable.
Recommended commit message style:
- feat: add reconnect guard for DFU retries
- fix: handle missing packet characteristic gracefully
- docs: update protocol overview in README
- Explain what changed and why.
- Include screenshots for UI changes.
- Include manual test notes for DFU behavior changes.
- Confirm the project builds successfully.
- Update documentation if behavior changed.
- Follow existing Swift style and naming conventions.
- Avoid unrelated refactors in feature/fix pull requests.
- Prefer explicit error paths for BLE and DFU operations.
- Run at least one successful DFU happy-path test on real hardware for DFU flow changes.
- Validate cancellation and reconnect scenarios when touching transfer logic.
- Update REAL_DFU_TEST_PLAN.md when adding new coverage areas.
Any change to:
- user-visible behavior,
- settings,
- protocol flow,
must include documentation updates in README or docs files.
By participating in this project, you agree to follow CODE_OF_CONDUCT.md.