Thanks for considering a contribution. This is a small library; PRs that fix bugs, add tests, or extend the search API are welcome.
git clone https://github.com/daniel3303/ParadeDbEntityFrameworkCore.git
cd ParadeDbEntityFrameworkCore
dotnet tool restore # installs CSharpier locally
prek install -f # installs git pre-commit hooks (https://github.com/j178/prek)
prek run --all-files # one-off sweepYou'll also need Docker running locally — the integration test suite spins up a paradedb/paradedb:latest container via Testcontainers.
- Branch from
masterusing a prefix:feature/,fix/,chore/,docs/. - Commits and PR titles follow Conventional Commits. The PR-title workflow blocks merges that don't comply.
- Examples:
fix(json-query): ...,feat(translator): ...,test(integration): ...,docs(readme): ....
dotnet build -warnaserror # must produce 0 warnings
dotnet csharpier check . # must produce no diff (the lint job runs this in CI)
dotnet test # unit + integration, all TFMs (net8/net9/net10)The integration suite uses Testcontainers — Docker must be running.
- Open an issue first if the scope isn't obvious — saves wasted effort.
- Write the test before the production code (or alongside). For LINQ translator changes, both a unit test (asserts the generated SQL string) and an integration test (asserts the result set against real pg_search) are expected.
- Keep PRs focused — one logical change per PR. Split unrelated changes into separate PRs.
- Update
CHANGELOG.mdunder the## [Unreleased]section.
Use the bug report template. Include:
- Library version + .NET version + Npgsql.EFCore version + ParadeDB version.
- The LINQ query and the generated SQL (turn on
LogTo(Console.WriteLine)on yourDbContext). - Expected vs. observed result.
Don't open public issues for vulnerabilities — see SECURITY.md.