Skip to content

Improve package metadata and README#1103

Merged
mtmk merged 5 commits into
mainfrom
improve-package-metadata-and-readme
Apr 15, 2026
Merged

Improve package metadata and README#1103
mtmk merged 5 commits into
mainfrom
improve-package-metadata-and-readme

Conversation

@mtmk

@mtmk mtmk commented Apr 9, 2026

Copy link
Copy Markdown
Member

Improve NuGet discoverability and README onboarding. Fix the "persistance" typo in package tags, expand all package descriptions from terse fragments to full sentences that explain what NATS is and what each package does, add richer tags (cloud-native, distributed, async, CNCF, nats) across all 11 packages, and add a quick start guide with working pub/sub examples plus an API-at-a-glance section to the README.

  • Verify NuGet tag rendering after next publish
  • Check README code examples render correctly on GitHub

Fix "persistance" typo in NuGet tags for JetStream, KeyValueStore,
and ObjectStore packages. Expand terse package descriptions to full
sentences that explain what each package does and what NATS is.
Add richer NuGet tags (cloud-native, distributed, async, CNCF) across
all packages to improve discoverability. Add a quick start guide and
API-at-a-glance section to the README with working pub/sub examples.
@synadia-claude-reviewer

This comment was marked as resolved.

Comment thread src/NATS.Client.Hosting/NATS.Client.Hosting.csproj
Comment thread src/NATS.Client.Simplified/NATS.Client.Simplified.csproj Outdated
Comment thread README.md
@github-actions

github-actions Bot commented Apr 9, 2026

Copy link
Copy Markdown

Fix Hosting description to say "service collection" instead of
"hosted service" since NatsConnection is not an IHostedService.
Remove JetStream mention from Simplified description since that
package has no JetStream dependency. Declare order variable in
the README API-at-a-glance snippet.
@mtmk mtmk closed this Apr 9, 2026
@mtmk mtmk reopened this Apr 9, 2026
@synadia-claude-reviewer

This comment was marked as resolved.

@mtmk mtmk closed this Apr 9, 2026
@mtmk mtmk reopened this Apr 9, 2026
@synadia-claude-reviewer

synadia-claude-reviewer Bot commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Claude finished @mtmk's task in 2m 58s —— View job


PR Review

  • Read CLAUDE.md for repo guidelines
  • Read PR diff
  • Review changed files
  • Post review feedback

This is a metadata/documentation-only PR — no C# code is modified, so there are no async/await, memory, protocol correctness, or thread-safety concerns.

Prior review feedback status:

All three issues from the previous review round have been addressed in the current commits:

  • NATS.Client.Hosting description now correctly reads: "Registers NatsConnection in the .NET Generic Host service collection" — the "hosted service" confusion is gone.
  • NATS.Client.Simplified description no longer mentions JetStream — it says "pub/sub and request-reply patterns", which matches the actual dependencies (NATS.Client.Core + NATS.Client.Serializers.Json only).
  • var order = new Order(Id: 2, Item: "gadget"); is declared on line 71 of README.md before it's used — the snippet is self-contained.

Additional observations:

  1. NATS.Client.Abstractions description accuracy (src/NATS.Client.Abstractions/NATS.Client.Abstractions.csproj:4): The description says "Serialization abstractions and interfaces". The package currently contains only INatsSerialize.cs (with INatsSerialize<T>, INatsDeserialize<T>, INatsSerializer<T>, and INatsSerializerRegistry), so this is accurate.

  2. Two DI packages, similar descriptions: NATS.Client.Hosting registers the low-level NatsConnection (core client, with pool support), while NATS.Extensions.Microsoft.DependencyInjection registers the higher-level NatsClient (the full NATS.Net simplified API via AddNatsClient()). The descriptions don't explicitly call out this distinction. A user choosing between them may not immediately understand that NATS.Extensions.Microsoft.DependencyInjection brings in the full meta-package as a transitive dependency. This is a pre-existing UX issue rather than something introduced by this PR, but it's worth noting for a future follow-up.

  3. README Quick Start sequential order is fine: The "API at a Glance" snippet shows publish before subscribe, which wouldn't receive the published message at runtime, but the section is clearly labeled as an API reference, not runnable code. The separated pub/sub apps in the Quick Start section correctly demonstrate the actual usage pattern.

  4. Target frameworks in description match actual targets: TargetFrameworks in src/Directory.Build.props is netstandard2.0;netstandard2.1;net6.0;net8.0 — the description in NATS.Net.csproj (.NET 8, .NET 6, .NET Standard 2.0/2.1) is accurate.

Overall: The changes are correct, the descriptions are accurate, and all prior feedback has been incorporated. No blocking issues.

@mtmk
mtmk requested review from Jarema April 9, 2026 15:17

@piotrpio piotrpio left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM

@Jarema Jarema left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@mtmk
mtmk merged commit 03c0240 into main Apr 15, 2026
24 checks passed
@mtmk
mtmk deleted the improve-package-metadata-and-readme branch April 15, 2026 10:10
This was referenced Apr 16, 2026
@mtmk mtmk mentioned this pull request May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants