Contributing to stringlytyped

This document provides guidance on how to contribute to the stringlytyped project.

Understanding the Project

stringlytyped is a C# library designed to make it easier for developers to use strongly typed strings. It’s hosted on GitHub at https://github.com/stevedunn/stringlytyped/.

Getting Started

  1. Fork the Repository: Create a fork of the stringlytyped repository on GitHub. This will create a personal copy of the project where you can make changes.
  2. Clone Your Fork: Clone your forked repository to your local machine.
  3. Set up the Development Environment: Install the necessary tools and dependencies. Since the project is written in C#, you’ll need the .NET SDK. Use the following command to install the SDK:
dotnet --version

If you don’t have the SDK installed, download and install it from the official .NET website. 4. Build the Project: Build the project to verify that it compiles correctly. Use the following command:

dotnet build
  1. Run the Tests: Run the unit tests to ensure that the code functions as expected. Use the following command:
dotnet test

Making Changes

  1. Create a New Branch: Create a new branch for your changes to isolate them from the main branch. This helps to keep your changes organized and makes it easier to review and merge them later.
  2. Make Your Changes: Modify the code to implement your feature, fix a bug, or make any other changes.
  3. Test Your Changes: Run the unit tests again to ensure that your changes have not introduced any regressions.
  4. Commit Your Changes: Commit your changes with a clear and descriptive message that explains what you have done.
  5. Push Your Changes: Push your branch to your forked repository on GitHub.

Submitting a Pull Request

  1. Create a Pull Request: From your forked repository, create a pull request to merge your branch into the main branch of the original stringlytyped repository.
  2. Describe Your Changes: Provide a clear and concise description of your changes in the pull request. Explain the motivation for the change, how it addresses the issue, and any relevant details.
  3. Request Review: Request a review from the maintainers of the stringlytyped project. This allows them to evaluate your changes and provide feedback.

Code Style

  • Follow the existing code style guidelines and formatting conventions used in the project.
  • Ensure that your code is well-documented and easy to understand.
  • Write unit tests to cover your changes and any new functionality you add.

Communication

  • If you have any questions or need help, feel free to open an issue on the GitHub repository.
  • Engage with the maintainers and other contributors in a friendly and respectful manner.
  • Be patient and understanding as the maintainers review your contributions and provide feedback.

Important Notes

  • Before starting work on a major new feature, it’s always a good idea to discuss it with the maintainers first.
  • Make sure to run all the tests before submitting a pull request to ensure that your changes do not break any existing functionality.

Supporting the Project

  • Contributing code is not the only way to support the stringlytyped project. You can also help by:
  • Reporting bugs and issues.
  • Providing feedback on existing features.
  • Sharing the library with other developers.

By following these steps, you can effectively contribute to the stringlytyped project and help make it even better.