Thanks for your interest in contributing to enyim-rendezvous!
- .NET 8 SDK or later
- A memcached instance is not required — all tests run without external services
After cloning, configure git to use the project's hooks directory:
git config core.hooksPath .githooksThis enables a pre-push hook that runs the same CI checks that run in GitHub Actions, so you'll catch failures before pushing.
A single script — scripts/ci-local.sh — defines all CI validation steps. The same script is used by:
- GitHub Actions (
ci.yml) — runs on every push/PR tomain - Pre-push hook (
.githooks/pre-push) — runs before everygit push - Manual invocation — run it directly whenever you want
# Run all CI checks (restore, Release build, test with coverage + summary)
./scripts/ci-local.sh
# Skip the HTML report (text summary still prints)
./scripts/ci-local.sh --no-reportThe script prints a per-class coverage summary to the console and generates an HTML report in coverage/report/index.html. The reportgenerator tool is managed as a local dotnet tool — dotnet tool restore runs automatically.
- Fork the repository and create a feature branch from
main - Make your changes
- Run CI checks locally:
./scripts/ci-local.sh
- Open a pull request against
main
This project uses an .editorconfig to enforce formatting. Most editors will pick it up automatically.
All public types and members require XML documentation comments. The build enables GenerateDocumentationFile with TreatWarningsAsErrors, so missing comments will cause a build failure (CS1591).
Please use the issue templates when filing bugs or feature requests.