Skip to content

Latest commit

 

History

History
99 lines (62 loc) · 2.74 KB

File metadata and controls

99 lines (62 loc) · 2.74 KB

Contributing to ESP Serial Flasher

We welcome contributions to the ESP Serial Flasher project! This guide will help you get started with contributing.

Before You Contribute

Please open an issue first to discuss whether your proposed change could be accepted. This helps ensure that:

  • Your contribution aligns with the project's goals
  • You don't spend time on changes that might not be merged
  • We can provide guidance on the best implementation approach

Types of Contributions

Bug Reports

  • Use GitHub Issues
  • Check if the issue has already been reported
  • Provide detailed reproduction steps
  • Include relevant system information (OS, toolchain versions, etc.)

Feature Requests

  • Use GitHub Issues
  • Describe the use case and motivation
  • Explain the expected behavior

Pull Requests

  • Follow the guidelines below for code contributions
  • Reference the related issue in your PR description

Development Guidelines

Code Style

Follow the ESP-IDF project's contribution guidelines, which include:

  • Code formatting standards
  • Naming conventions
  • Documentation requirements

Commit Messages

Use Conventional Commits format:

type(scope): description

[optional body]

[optional footer(s)]

Examples:

feat(uart): Add support for custom baud rates
fix(spi): Resolve timing issue with fast flash chips
docs(readme): Update installation instructions

Setting up Development Environment

Install Pre-Commit Hooks

We use pre-commit to automatically enforce code quality standards:

pip install pre-commit
pre-commit install

This will automatically run linters and formatters on your code before each commit.

Documentation

Updating Documentation

  • Update relevant documentation files when making changes
  • Follow the Espressif Manual of Style
  • Ensure all code examples are tested and working

Getting Help

Where to Ask Questions

  • Bug reports: GitHub Issues
  • Development questions: Open an issue with the "question" label

Additional Resources

License

By contributing to this project, you agree that your contributions will be licensed under the same Apache 2.0 License that covers the project.