Thank you for your interest in contributing to the dotnet-aicommitmessage
project! Your contributions are invaluable to making this tool even better for developers around the world. This guide will help you get started with contributing to the project.
- Fork the repository: Visit the dotnet-aicommitmessage GitHub page and click the
Fork
button. - Clone your fork: Clone your forked repository to your local machine:
git clone https://github.com/<your-username>/dotnet-aicommitmessage.git
- Install dependencies: Make sure you have the required .NET SDK installed (targeting .NET 8 or higher). You can check your installed version with:
If needed, download the latest .NET SDK from Microsoft's .NET Downloads.
dotnet --version
- Create a branch: Create a new branch for your feature or bug fix:
git checkout -b <feature-or-bugfix-name>
- Follow standard .NET coding conventions. Refer to the Microsoft .NET Coding Guidelines for more details.
- Use meaningful variable and method names.
- Ensure your code is clean, readable, and well-documented.
- The tool targets .NET 8 and higher. While it might technically run on lower versions, this is not officially supported or tested. If you are adding features or fixing bugs, ensure the tool retains compatibility with lower versions if possible.
- The project uses xUnit for unit testing. Add or update tests for any new features or bug fixes.
- Make sure all tests pass before submitting your changes.
- Run the test suite locally using:
dotnet test
- The tool uses the OpenAI API to generate commit messages based on staged content, branch names, and commit messages.
- If your changes impact how the tool interacts with the OpenAI API, ensure the functionality is well-tested.
- Update the documentation if your changes affect the tool’s behavior or usage.
- Documentation includes inline comments,
README.md
, or any related markdown files.
- Ensure that
dotnet-aicommitmessage
remains compatible with NuGet publishing standards. - Update the
csproj
file metadata if required.
- Commit your changes: Write meaningful and descriptive commit messages.
[FEATURE] Add support for staging area summary
- Push your branch: Push your branch to your forked repository:
git push origin <feature-or-bugfix-name>
- Create a Pull Request (PR): Go to the original dotnet-aicommitmessage repository and open a pull request.
[ ] Code follows the .NET coding conventions. [ ] All xUnit tests pass locally. [ ] Code changes are covered with tests. [ ] Documentation has been updated (if required). [ ] PR description clearly explains the purpose and changes.
If you encounter a bug or have a feature request, please open an issue in the GitHub Issues section. Provide as much detail as possible:
- Steps to reproduce (for bugs).
- Use cases and rationale (for features).
- Environment details (e.g., OS, .NET SDK version).
If you have questions or need assistance, feel free to open a discussion in the repository. We’re here to help!
Thank you for contributing to dotnet-aicommitmessage
! Together, we can create a powerful and intelligent tool for developers.