chore: add standard ParadeDB ORM repository scaffolding - #34
Merged
Conversation
Bring efcore-paradedb in line with django-paradedb, sqlalchemy-paradedb, and rails-paradedb so contributors and maintainers can rely on the same workflows, templates, and documentation conventions across all ParadeDB ORMs. Adds: - .github metadata: CODEOWNERS, FUNDING.yml, dependabot.yml (nuget + github-actions), PR template, ISSUE_TEMPLATE (bug/feature/config). - Lint workflows: check-typo (codespell), lint-bash, lint-format, lint-markdown, lint-yaml, lint-pr-title (conventional commits), assign-github-issue (/take command). - Release workflow: replaces tag-push publish.yml with manual workflow_dispatch release.yml that validates version format, ensures the tag/release doesn't already exist, packs the NuGet package, publishes to NuGet (PGSEARCH_API_KEY), and creates the GitHub release. - CI: adds concurrency, workflow_dispatch, and a lint job running csharpier check and warnaserror build alongside the existing matrix. - Root configs: codecov.yml, .codespellignore/.codespellrc, .markdownlint.yaml, .prettierrc/.prettierignore, .pre-commit-config.yaml. - Docs: CONTRIBUTING.md, RELEASE.md, CHANGELOG.md (Keep a Changelog), CLAUDE.md + AGENTS.md symlink. - README and NUGET-README: fix badge/URL references from the original nandor23/EFCore.ParadeDB.PgSearch upstream to paradedb/efcore-paradedb and ParadeDB.EntityFrameworkCore (current NuGet package id); reformat with Prettier so the new lint-markdown workflow passes.
- Strip trailing whitespace from four pre-existing files (three .csproj files, one test .cs file). - Drop trailing colon from "Translates to:" heading in NUGET-README.md to satisfy markdownlint MD026. - Add "shouldbe" to .codespellignore: ShouldBe is the Shouldly assertion library's fluent method name (.ShouldBe(...)), used throughout the test suite, not a typo for "should be".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings
efcore-paradedbin line withdjango-paradedb,sqlalchemy-paradedb, andrails-paradedbso all ParadeDB ORMs share the same workflows, templates, and contributor docs. The repo was imported from a community contributor (nandor23/EFCore.ParadeDB.PgSearch) and was missing most of this scaffolding..github/metadataCODEOWNERS,FUNDING.ymldependabot.yml(coversgithub-actionsandnugetecosystems)PULL_REQUEST_TEMPLATE.mdISSUE_TEMPLATE/{bug_report,feature_request,config}.yml— bug report tailored for .NET (asks for .NET / EF Core / Npgsql /ParadeDB.EntityFrameworkCoreversions)Lint workflows (carried over verbatim from sibling ORMs)
check-typo.yml(codespell)lint-bash.yml(beautysh + strict-mode + ShellCheck)lint-format.yml(CRLF / trailing whitespace / EOF newline)lint-markdown.yml(markdownlint + Prettier)lint-yaml.yml(Prettier)lint-pr-title.yml(Conventional Commits)assign-github-issue.yml(/takeself-assignment)Release workflow
Replaces the existing
publish.yml(tag-push auto-publish) withrelease.ymlthat matches the other ORMs:workflow_dispatchwithversion,beta, andconfirmationinputsv<version>tag and GitHub release don't already existParadeDB.EntityFrameworkCore.<version>.nupkg, publishes to NuGet usingPGSEARCH_API_KEY(existing secret name preserved), and creates a GitHub release with the package attachedCI (
ci.yml) enhancementsconcurrencygroup andworkflow_dispatchtriggerlintjob runningdotnet csharpier check .and adotnet build -warnaserrorto guard formatting and warning regressionsRoot config
codecov.yml,.codespellignore,.codespellrc.markdownlint.yaml,.prettierrc,.prettierignore.pre-commit-config.yaml(standard hooks + codespell + markdownlint + localdotnet csharpier check)Docs
CONTRIBUTING.md(.NET-adapted),RELEASE.md,CHANGELOG.md(Keep a Changelog, emptyUnreleased)CLAUDE.md+AGENTS.mdsymlinkREADME.mdandNUGET-README.md: fix badge/URL references fromnandor23/EFCore.ParadeDB.PgSearchtoparadedb/efcore-paradedbandParadeDB.EntityFrameworkCore(current NuGet package id); ran Prettier to satisfy the new lint-markdown workflowTest plan
lintjob:dotnet csharpier check .reports no formatting driftlint-pr-titlepasses (this PR title useschore:conventional prefix)PGSEARCH_API_KEYsecret name still matches what's configured on the repo (no change from previous workflow)workflow_dispatchon a dry version, or wait until the next real release