|
| 1 | +# README Content Checklist |
| 2 | + |
| 3 | +This reference describes what to review and update in the shared embedded NuGet README |
| 4 | +(`src/PACKAGE.md`) and the root repository README (`README.md`) as part of every release. |
| 5 | + |
| 6 | +## The Shared Embedded README |
| 7 | + |
| 8 | +All SDK packages embed the **same** README file: `src/PACKAGE.md`. |
| 9 | + |
| 10 | +Each project packs it identically: |
| 11 | + |
| 12 | +```xml |
| 13 | +<None Include="..\PACKAGE.md" Pack="true" PackagePath="\README.md" /> |
| 14 | +<PackageReadmeFile>README.md</PackageReadmeFile> |
| 15 | +``` |
| 16 | + |
| 17 | +Updating `src/PACKAGE.md` updates every package's nuget.org README at once. |
| 18 | +There are no per-package README files; `src/ModelContextProtocol.Core/README.md` and |
| 19 | +similar paths do not exist. |
| 20 | + |
| 21 | +## Checklist |
| 22 | + |
| 23 | +### 1. Package-list closure |
| 24 | + |
| 25 | +Every shipping SDK package must be listed in the packages section of `src/PACKAGE.md`, |
| 26 | +including packages introduced after the initial SDK launch and including the package |
| 27 | +being viewed in its own embedded README on nuget.org. |
| 28 | + |
| 29 | +Current packages to list: |
| 30 | +- `ModelContextProtocol.Core` |
| 31 | +- `ModelContextProtocol` |
| 32 | +- `ModelContextProtocol.AspNetCore` |
| 33 | +- `ModelContextProtocol.Extensions.Apps` |
| 34 | + |
| 35 | +Avoid counting phrases such as "three main packages" -- they become stale when packages |
| 36 | +are added. Use a non-counting closure such as "The SDK packages are:" instead. |
| 37 | + |
| 38 | +When a new package is introduced, add it to the list in both `src/PACKAGE.md` and the |
| 39 | +root `README.md` (see section below). |
| 40 | + |
| 41 | +### 2. Badge strategy |
| 42 | + |
| 43 | +Each package entry carries a nuget.org version badge. The correct badge endpoint depends |
| 44 | +on the release type: |
| 45 | + |
| 46 | +| Release type | Badge endpoint | Example | |
| 47 | +|---|---|---| |
| 48 | +| Prerelease series (e.g., `2.0.0-preview.*`) | `nuget/vpre/{package}` | `https://img.shields.io/nuget/vpre/ModelContextProtocol.svg` | |
| 49 | +| Stable release | `nuget/v/{package}` | `https://img.shields.io/nuget/v/ModelContextProtocol.svg` | |
| 50 | + |
| 51 | +`nuget/v` renders only the latest stable version and shows nothing (or a placeholder) |
| 52 | +during a prerelease-only series. `nuget/vpre` renders the latest version including |
| 53 | +prereleases. Switch all package badges together when the release type changes. |
| 54 | + |
| 55 | +Verify every badge in `src/PACKAGE.md` uses the correct endpoint for this release. |
| 56 | + |
| 57 | +### 3. Release-notes link |
| 58 | + |
| 59 | +`src/PACKAGE.md` must contain one statement linking to the release notes for the |
| 60 | +current version: |
| 61 | + |
| 62 | +```markdown |
| 63 | +See the [release notes](https://github.com/modelcontextprotocol/csharp-sdk/releases/tag/v{version}) |
| 64 | +for what's new in this version. |
| 65 | +``` |
| 66 | + |
| 67 | +Replace `{version}` with the exact version being released, including any prerelease |
| 68 | +suffix (e.g., `2.0.0-preview.2`). |
| 69 | + |
| 70 | +At prepare time the tag does not yet exist; the link is forward-referencing. The link |
| 71 | +resolves once the GitHub release is published during the publish-release step. |
| 72 | + |
| 73 | +Update this link for every release -- it must point to the tag being created, not a |
| 74 | +prior release. |
| 75 | + |
| 76 | +### 4. Root README.md sync |
| 77 | + |
| 78 | +The root `README.md` (the GitHub repo readme, NOT packed into packages) has its own |
| 79 | +package-list section. Keep it aligned with `src/PACKAGE.md`: |
| 80 | +- Same set of packages listed |
| 81 | +- Same non-counting closure phrasing |
| 82 | +- Badge strategy in `README.md` may also be updated for consistency, but the root |
| 83 | + README is visible on GitHub (not nuget.org) so the badge choice is less critical |
| 84 | + |
| 85 | +## Salient content to review |
| 86 | + |
| 87 | +Beyond the structural checks above, read the current `src/PACKAGE.md` for any content |
| 88 | +that has become stale due to changes in this release: |
| 89 | + |
| 90 | +- Package descriptions (are they still accurate?) |
| 91 | +- Getting-started links (do they resolve and describe the current API?) |
| 92 | +- Code samples, if any (do they compile against the current SDK? see |
| 93 | + [readme-snippets.md](readme-snippets.md)) |
| 94 | +- Any version-specific notes from a prior release that should be removed or updated |
0 commit comments