Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 1.69 KB

File metadata and controls

55 lines (39 loc) · 1.69 KB

Contributing to Resilient HTTP Client

Thanks for taking the time to contribute! This project aims to provide a small, robust, and easy-to-use resilient HTTP client for .NET.

Ground Rules

  • Keep the library focused and minimal. Avoid scope creep.
  • Preserve backward compatibility unless a breaking change is justified and discussed.
  • Prefer clarity and readability over cleverness.
  • Follow the existing code style and formatting.

Getting Started

  1. Fork the repository and create a feature branch.
  2. Install dependencies and build:
    dotnet build
  3. Run tests (add a test project if contributing tests):
    dotnet test

Development Guidelines

  • Target .NET 8.
  • Use explicit types for public APIs; avoid dynamic/object.
  • Keep classes small and cohesive; prefer composition.
  • Guard clauses for input validation; fail fast with clear exceptions.
  • Add XML doc comments for public types and members.

Commit and PR Guidelines

  • Write meaningful commit messages (imperative mood): "Add X", "Fix Y".
  • Keep PRs small and focused; one logical change per PR.
  • Include tests for bug fixes and new features when applicable.
  • Update README or XML docs if API behavior changes.
  • Link related issues and describe the rationale.

PR Checklist

  • Builds locally (dotnet build)
  • Tests pass or are updated (dotnet test)
  • Public API documented (XML docs) where applicable
  • No unnecessary breaking changes
  • Changelog/README/docs updated if needed

Code of Conduct

Be respectful and constructive. Harassment or discrimination is not tolerated.

License

By contributing, you agree that your contributions will be licensed under the MIT License.