Skip to content

Latest commit

 

History

History
77 lines (53 loc) · 1.83 KB

File metadata and controls

77 lines (53 loc) · 1.83 KB

Contributing Guide

Thank you for contributing to ESP32-DFU-iOS.

Before You Start

  • Search existing issues to avoid duplicates.
  • For larger changes, open an issue first to discuss direction.
  • Keep pull requests focused and small when possible.

Development Setup

  1. Clone the repository.
  2. Install XcodeGen.
  3. Generate the Xcode project:
xcodegen generate
  1. Build locally:
xcodebuild \
  -project ESP32-DFU.xcodeproj \
  -scheme ESP32-DFU \
  -sdk iphonesimulator \
  -destination 'platform=iOS Simulator,name=iPhone 15' \
  CODE_SIGNING_ALLOWED=NO \
  build

Branch and Commit Guidelines

  • 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

Pull Request Requirements

  • 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.

Coding Guidelines

  • Follow existing Swift style and naming conventions.
  • Avoid unrelated refactors in feature/fix pull requests.
  • Prefer explicit error paths for BLE and DFU operations.

Testing Expectations

  • 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.

Documentation

Any change to:

  • user-visible behavior,
  • settings,
  • protocol flow,

must include documentation updates in README or docs files.

Code of Conduct

By participating in this project, you agree to follow CODE_OF_CONDUCT.md.