Skip to content

Conversation

@amotl
Copy link
Member

@amotl amotl commented Oct 16, 2025

@amotl amotl added the cross linking Linking to different locations of the documentation. label Oct 16, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 16, 2025

Walkthrough

This PR extends the CrateDB connection documentation to support three additional .NET-based languages (C#, F#, and Visual Basic). It adds dedicated driver cards to the main drivers index grid, updates navigation structure, introduces a new links reference file, and provides language-specific documentation pages with code examples and connection guidelines.

Changes

Cohort / File(s) Summary
Navigation & Links
docs/connect/index.md, docs/_include/links.md
Added three new grid-item-card blocks for C#, F#, and Visual Basic drivers with corresponding logos and links; updated toctree with csharp/index, fsharp/index, and visualbasic/index entries; added two new documentation links (ADO.NET Overview, Connection Strings in ADO.NET)
C# Documentation
docs/connect/csharp/index.md
New page covering C# (.NET) connections via Npgsql, including project configuration examples, sample csproj and cs code, CrateDB Cloud connection details, and external resource links
F# Documentation
docs/connect/fsharp/index.md
New page documenting F#/.NET connections using Npgsql and Npgsql.FSharp, with example fsproj and fs files, query execution examples, and See also reference section
Visual Basic Documentation
docs/connect/visualbasic/index.md
New page providing Visual Basic .NET connection guidance via Npgsql, including VB.NET project setup, connection and query code examples, connection string variants, and shell execution snippet

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • surister
  • kneth

Poem

🐰 Three languages hopped into the fold,
C#, F#, and Visual Basic bold,
With Npgsql as their trusty guide,
Connection strings and examples wide,
CrateDB's .NET path now open wide! 🚀

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Driver: Add pages about C#, F#, Visual Basic' directly and clearly describes the main change - adding documentation pages for three .NET language drivers.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description clearly describes the changes: adding documentation pages for C#, F#, and Visual Basic drivers with preview links, directly related to the changeset.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dotnet

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl force-pushed the dotnet branch 2 times, most recently from cd2417d to 99913d9 Compare October 16, 2025 11:03
@amotl amotl requested review from kneth and surister October 16, 2025 11:28
coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl force-pushed the dotnet branch 2 times, most recently from 4df1ac3 to bde904d Compare October 21, 2025 12:51
@amotl amotl changed the title Driver: Add page about .NET Driver: Add pages about C#, F#, Visual Basic Oct 21, 2025
@amotl amotl added the new content New content being added. label Oct 21, 2025
@amotl amotl removed the request for review from kneth December 25, 2025 02:57
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4df1ac3 and 476969f.

⛔ Files ignored due to path filters (3)
  • docs/_assets/icon/csharp-logo.svg is excluded by !**/*.svg
  • docs/_assets/icon/fsharp-logo.svg is excluded by !**/*.svg
  • docs/_assets/icon/visualbasic-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (5)
  • docs/_include/links.md
  • docs/connect/csharp/index.md
  • docs/connect/fsharp/index.md
  • docs/connect/index.md
  • docs/connect/visualbasic/index.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/_include/links.md
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: amotl
Repo: crate/cratedb-guide PR: 406
File: docs/connect/go.md:110-137
Timestamp: 2025-10-20T21:49:18.785Z
Learning: In the cratedb-guide repository, documentation examples for connecting to CrateDB (e.g., Go examples in docs/connect/go.md) should be kept minimal and focused on demonstrating basic functionality, rather than including comprehensive error handling. Full examples with proper error handling are maintained separately in the cratedb-examples repository.
Learnt from: amotl
Repo: crate/cratedb-guide PR: 420
File: docs/connect/erlang.md:100-113
Timestamp: 2025-10-19T19:21:49.864Z
Learning: In the cratedb-guide repository, when documenting cloud or alternative connection methods, show only the differences from the canonical example (e.g., SSL configuration) rather than repeating the entire workflow (query execution, cleanup, etc.). This pattern is used consistently across pages to avoid repetition.
📚 Learning: 2025-10-20T21:49:18.785Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 406
File: docs/connect/go.md:110-137
Timestamp: 2025-10-20T21:49:18.785Z
Learning: In the cratedb-guide repository, documentation examples for connecting to CrateDB (e.g., Go examples in docs/connect/go.md) should be kept minimal and focused on demonstrating basic functionality, rather than including comprehensive error handling. Full examples with proper error handling are maintained separately in the cratedb-examples repository.

Applied to files:

  • docs/connect/csharp/index.md
📚 Learning: 2025-10-06T16:40:16.322Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 0
File: :0-0
Timestamp: 2025-10-06T16:40:16.322Z
Learning: In the crate/cratedb-guide repository, documentation is organized by content type: files in `docs/feature/`, `docs/integrate/`, and `docs/ingest/` are reference material designed for quick access, while `docs/start/` contains learning path content. Reference material sections use top-right reference layouts for efficient navigation.

Applied to files:

  • docs/connect/csharp/index.md
📚 Learning: 2025-10-19T19:21:49.864Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 420
File: docs/connect/erlang.md:100-113
Timestamp: 2025-10-19T19:21:49.864Z
Learning: In the cratedb-guide repository, when documenting cloud or alternative connection methods, show only the differences from the canonical example (e.g., SSL configuration) rather than repeating the entire workflow (query execution, cleanup, etc.). This pattern is used consistently across pages to avoid repetition.

Applied to files:

  • docs/connect/csharp/index.md
🪛 LanguageTool
docs/connect/fsharp/index.md

[grammar] ~14-~14: Use a hyphen to join words.
Context: ...:{rubric} About ::: [Npgsql] is an open source ADO.NET Data Provider for Postgr...

(QB_NEW_EN_HYPHEN)

docs/connect/visualbasic/index.md

[grammar] ~14-~14: Use a hyphen to join words.
Context: ...:{rubric} About ::: [Npgsql] is an open source ADO.NET Data Provider for Postgr...

(QB_NEW_EN_HYPHEN)

docs/connect/csharp/index.md

[grammar] ~21-~21: Use a hyphen to join words.
Context: ...:{rubric} About ::: [Npgsql] is an open source ADO.NET Data Provider for Postgr...

(QB_NEW_EN_HYPHEN)

🪛 markdownlint-cli2 (0.18.1)
docs/connect/csharp/index.md

5-5: No space inside hashes on closed atx style heading

(MD020, no-missing-space-closed-atx)


83-83: Bare URL used

(MD034, no-bare-urls)


92-92: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs
🔇 Additional comments (5)
docs/connect/visualbasic/index.md (1)

36-69: Example structure is appropriate.

The code example correctly demonstrates basic connection, query execution, and result display in Visual Basic. The explicit cleanup (lines 64–65) aligns with VB idiom and is acceptable.

docs/connect/fsharp/index.md (1)

43-76: F# example is well-structured and idiomatic.

The use of Npgsql.FSharp with functional composition (pipe operators) is idiomatic F# and avoids explicit resource cleanup by leveraging the library's abstraction. The record type definition and result collection pattern are appropriate for the language.

docs/connect/csharp/index.md (2)

44-61: C# example follows minimal example guidance.

The code demonstrates basic connection, query execution, and result output without explicit cleanup (no using statements or Dispose calls). Per learnings from prior PRs in this repository, documentation examples should remain minimal and focused on core functionality; comprehensive error handling and cleanup belong in the cratedb-examples repository. This approach is intentional and aligns with established patterns.


7-12: CI/CD badges enhance credibility.

The badges linking to active GitHub Actions workflows for Npgsql and EF Core examples add transparency and demonstrate ongoing test coverage.

docs/connect/index.md (1)

65-76: Grid cards and navigation structure are well-integrated.

The three new driver cards (C#, F#, Visual Basic) are properly positioned in the grid with consistent styling (50px image heights matching other SVG logos like Scala), correct anchor references, and user-friendly link-alt text. The toctree entries (lines 289, 292, 303) maintain alphabetical order within the drivers section. All cross-references to the new language pages are correctly established.

Verify that the corresponding SVG logo assets exist:

  • /_assets/icon/csharp-logo.svg
  • /_assets/icon/fsharp-logo.svg
  • /_assets/icon/visualbasic-logo.svg

Also applies to: 100-111, 207-218

@amotl amotl merged commit 410f8f8 into main Dec 25, 2025
3 checks passed
@amotl amotl deleted the dotnet branch December 25, 2025 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cross linking Linking to different locations of the documentation. new content New content being added.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants