Closed skytin1004 closed 1 week ago
Hi @leestott, @timothycdc,
To ensure the scalability and maintainability of the Co-op Translator project, I propose that we standardize on commit messages and adopt squash merge as our primary merge strategy.
I've reviewed practices used by major open-source projects such as Microsoft and Apache (Microsoft Semantic Kernel, Microsoft Prompt flow, Apache Iceberg, and Apache Airflow).
I think this approach will help manage contributions more effectively as the project grows.
If this works for both of you, I'll proceed with updating the CONTRIBUTING.md file with detailed guidelines. Please let me know if you have any feedback or suggestions when you get a chance.
Thank you for your time and support!
As we prepare to expand the Co-op Translator project and encourage more contributions, it is essential to establish a clear and consistent approach to commit messages and merge strategies. These guidelines are adapted from the conventions used in major open-source projects like Microsoft Semantic Kernel, Microsoft Prompt flow, Apache Iceberg, and Apache Airflow. By aligning with established best practices, we ensure our project remains scalable, easy to navigate, and welcoming to new contributors.
Commit message convention
We propose using the following commit message format to ensure clarity, traceability, and consistency across all commits.
Format
Approved commit categories
To maintain a consistent and organized history, we propose using the following four categories:
Docs:
Docs: Update installation instructions for clarity (#50)
Build:
Build: Upgrade Python version in Dockerfile to 3.10 (#55)
Translator:
Translator: Improve handling of image-based text translation (#60)
Merge strategy: Squash and Merge
We recommend using Squash and Merge as the default merge strategy for the following reasons:
Example of squash and merge
Multiple small commits like:
Should be squashed into a single meaningful commit message: