Skip to content

Latest commit

 

History

History
140 lines (95 loc) · 4.45 KB

CONTRIBUTING.md

File metadata and controls

140 lines (95 loc) · 4.45 KB

Contributing

Thank you for your interest in contributing to siri_wave!

This guide provides everything you need to get started and make your contributions effective and rewarding.

We strive to maintain a welcoming and inclusive community, so please read our Code of Conduct before contributing.

📝 Good to Know

  • Working on Issues: If you’d like to work on an existing issue, please comment on the issue page to let others know before you begin.
  • Proposing New Features: Have an idea for a new feature? Create an issue to discuss it with the community and maintainers before diving in.

🙌 How You Can Contribute

  • 🌟 Star Us on GitHub: If you enjoy using this package, a star on GitHub helps support our work.
  • 🐛 Report Bugs: Found a bug? Let us know on our GitHub Issues page.
  • 📝 Improve Documentation: High-quality documentation is crucial. Help us improve it by refining the existing docs or adding new content.
  • 💬 Give Feedback: Share your experience using siri_wave, what features you’d like, and what works well on GitHub Discussions.
  • 📢 Share siri_wave: Spread the word about this project to reach more users.
  • 💻 Contribute to the Codebase: Work on new features or tackle open issues — all contributions are highly appreciated!

🛠️ Setting Up the Environment

⚙️ Requirements

Once your environment is ready, fork the repository, clone it locally, and set up the project.

📥 Cloning the Repository

Clone your fork of siri_wave to your local machine:

git clone https://github.com/<your-username>/siri_wave.git

📦 Installing Dependencies

Navigate to the project directory and install dependencies:

dart pub get

🧩 Setting Up Git Hooks

This project uses Lefthook to manage Git hooks. Install the hooks by running the following in the project root:

lefthook install

This will set up checks that automatically ensure code quality and consistency before commits.

✅ Running Tests

To run tests for siri_wave, use:

dart test

We require tests for each feature or bug fix. If you’re unsure how to write tests for your changes, feel free to ask on the relevant GitHub issue page.

🚀 Committing Your Work and Preparing a Pull Request

To maintain a consistent and clean codebase, we enforce coding standards and use tools to ensure high-quality contributions.

🎨 Coding Style

Please follow the Dart style guide to keep the codebase clean and consistent.

📜 Commit Convention

We use Conventional Commits to structure our commit messages for clarity and uniformity.

Please use the following format for commit messages:

<type>(optional scope): <description>

Examples:

  • feat: add support for changing color of the iOS 7 style waveform
  • fix: resolve an issue with the light backgrounds

Commit messages are validated with a GitHub action, so be sure to use the correct format when making a pull request.

🧩 Git Hooks

The following hooks run automatically with Lefthook:

  • Pre-Commit Hooks:

    • analyze: Checks code for style issues.
    • format: Formats code according to Dart guidelines.
    • test: Runs tests to ensure stability.
  • Commit-msg Hook:

🔄 Creating a Pull Request

After committing your changes, push them to your fork and create a pull request. When you open a pull request, tests will run automatically, and our maintainers will review it.

Please use the pull request template to provide details about your changes, ensuring a smoother review process.

Thank you for contributing to siri_wave! 🎉