Skip to content

Prepare NuGet publication metadata for Generators and Abstractions packages#48

Merged
dex3r merged 2 commits into
mainfrom
copilot/prepare-package-publication
Mar 4, 2026
Merged

Prepare NuGet publication metadata for Generators and Abstractions packages#48
dex3r merged 2 commits into
mainfrom
copilot/prepare-package-publication

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 3, 2026

This PR prepares the two intended publishable packages (MattSourceGenHelpers.Generators, MattSourceGenHelpers.Abstractions) for NuGet publication by adding missing package metadata and packaging the repository README into each package. It also includes a naming-proposal shortlist for future project rename discussion (no rename performed).

  • Packaging metadata alignment

    • MattSourceGenHelpers.Abstractions.csproj
      • Added package metadata required for consistent publication:
        • GeneratePackageOnBuild, Version, Title, Description, Authors, PackageProjectUrl, RepositoryUrl, PackageReadmeFile
    • MattSourceGenHelpers.Generators.csproj
      • Added missing metadata:
        • Description, PackageReadmeFile
      • Existing publication settings were kept intact.
  • README inclusion in produced .nupkg

    • Both packages now include root README.md in the package and reference it via PackageReadmeFile, so consumers see package documentation directly from NuGet.
  • Name proposal shortlist (no code rename)

    • Suggested options for future rename exploration:
      • MethodGen
      • SourceGenMethodKit
      • NaturalSourceGen
      • MethodDrivenSourceGen
      • RoslynGeneratorHelpers
      • CompileTimeMethodGen
<PropertyGroup>
  <PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
  <None Include="..\README.md" Pack="true" PackagePath="\" />
</ItemGroup>
Original prompt

This section details on the original issue you should resolve

<issue_title>Prepare for package publication</issue_title>
<issue_description>I want to publish two packages:

  • Generators
  • Abstractions

Do prep work for their publication.

Also, I don't like the name of the project. Propose a bunch of names that would capture the essense of the project. Do not rename anything for now, just give me proposals.</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: dex3r <3155725+dex3r@users.noreply.github.com>
Copilot AI changed the title [WIP] Prepare codebase for package publication Prepare NuGet publication metadata for Generators and Abstractions packages Mar 3, 2026
Copilot finished work on behalf of dex3r March 3, 2026 17:20
@dex3r dex3r marked this pull request as ready for review March 4, 2026 17:57
Copilot AI review requested due to automatic review settings March 4, 2026 17:57
@dex3r dex3r merged commit bd67931 into main Mar 4, 2026
2 checks passed
@dex3r dex3r deleted the copilot/prepare-package-publication branch March 4, 2026 17:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Prepares the MattSourceGenHelpers.Generators and MattSourceGenHelpers.Abstractions projects for NuGet publication by adding missing package metadata and ensuring the repository README.md is included in each produced .nupkg and referenced as the package readme.

Changes:

  • Added NuGet package metadata to MattSourceGenHelpers.Abstractions (versioning + author/repo metadata + readme metadata).
  • Added missing Description and PackageReadmeFile to MattSourceGenHelpers.Generators.
  • Included root README.md in both packages via Pack="true" items.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
MattSourceGenHelpers.Generators/MattSourceGenHelpers.Generators.csproj Adds package description/readme metadata and packs the repo README into the generator NuGet.
MattSourceGenHelpers.Abstractions/MattSourceGenHelpers.Abstractions.csproj Adds publication metadata, enables packing on build, and packs the repo README into the abstractions NuGet.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

<LangVersion>default</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

GeneratePackageOnBuild is now enabled unconditionally for this library, which means dotnet build/dotnet test in CI will also run packing and emit .nupkg files as a side effect. If the intent is only to produce packages for releases, consider conditioning this on $(Configuration) == Release (or removing it and packing explicitly in a release workflow) to avoid extra work and potential pack-time warnings breaking local/CI builds.

Suggested change
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<GeneratePackageOnBuild Condition="'$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +14
<Version>0.1.0</Version>
<Title>Matt Source Generation Helpers Abstractions</Title>
<Description>Attributes and fluent abstractions used by MattSourceGenHelpers source generators.</Description>
<Authors>Matt Krzaczek</Authors>
<PackageProjectUrl>https://github.com/dex3r/MattSourceGenHelpers</PackageProjectUrl>
<RepositoryUrl>https://github.com/dex3r/MattSourceGenHelpers</RepositoryUrl>
<PackageReadmeFile>README.md</PackageReadmeFile>
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

Package metadata like Version, Authors, and repository URLs are now duplicated across projects, which can easily drift over time (e.g., one package version gets bumped but the other doesn't). Consider centralizing shared NuGet metadata (e.g., in a Directory.Build.props) and keeping only package-specific fields (like Description) in each .csproj.

Suggested change
<Version>0.1.0</Version>
<Title>Matt Source Generation Helpers Abstractions</Title>
<Description>Attributes and fluent abstractions used by MattSourceGenHelpers source generators.</Description>
<Authors>Matt Krzaczek</Authors>
<PackageProjectUrl>https://github.com/dex3r/MattSourceGenHelpers</PackageProjectUrl>
<RepositoryUrl>https://github.com/dex3r/MattSourceGenHelpers</RepositoryUrl>
<PackageReadmeFile>README.md</PackageReadmeFile>
<Title>Matt Source Generation Helpers Abstractions</Title>
<Description>Attributes and fluent abstractions used by MattSourceGenHelpers source generators.</Description>

Copilot uses AI. Check for mistakes.
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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.

Prepare for package publication

4 participants