Conversation
📝 WalkthroughWalkthroughA new Roslyn Source Code Generator example for "AssemblyMetadata" is added as the 260th entry to the repository, including complete project scaffolding, documentation, tour configuration, and corresponding metadata updates across all site and configuration files. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
v2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.md (1)
4-4: Consider hyphenating compound adjective."date time based" should be "date-time-based" when used as a compound modifier before a noun.
📝 Proposed fix
-description: Generate date time based metadata for assemblies. +description: Generate date-time-based metadata for assemblies.Note: The same issue appears on line 278.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@v2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.md` at line 4, The phrase "date time based" in the description string 'description: Generate date time based metadata for assemblies.' should be hyphenated as "date-time-based" to form the correct compound modifier; update that occurrence and the identical instance on line 278 to read "date-time-based" so the description becomes 'description: Generate date-time-based metadata for assemblies.'.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Line 27: Rewrite the awkward summary sentence on line 27 to clear, grammatical
English; replace "Those are the 260 Roslyn Source Code Generators that I have
tested you can see and download source code example." with a concise sentence
such as "These are the 260 Roslyn source-code generators I tested; you can view
and download example source code." Locate the sentence in README.md and update
the text accordingly, preserving intent (260 generators, tested, examples
available) and fixing punctuation and capitalization.
In `@v2/book/examples/TypedPaths.html`:
- Line 21: Update the anchor text so it matches the package ID shown by the
href: change the displayed link label from "TypedPaths" to
"TypedPaths.Generator" in the HTML anchor element (the <a
href="https://www.nuget.org/packages/TypedPaths.Generator/"
target="_blank">…</a>) so the visible name aligns with the linked package and
avoids install confusion.
In `@v2/book/list.html`:
- Line 20: Replace the raw '>' character in the string "This is the list of 260
RSCG with examples =>" with the escaped entity '>' to satisfy HTML lint;
update the text node in v2/book/list.html (the line containing that exact
snippet) so the output reads "This is the list of 260 RSCG with examples =>".
In `@v2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.md`:
- Line 161: The README embedded headings use invalid h9 syntax (e.g., the token
"######### `AssemblyMetadataInfo.BuildInfo`")—replace each of those excessive
'#' groups with a valid h4 heading ("####") so the headings render correctly
inside the surrounding :::note block; update the same pattern for the other
occurrences referenced in the comment (the headings at the other occurrences of
"#########" around the AssemblyMetadata.md content) so they become "####".
In `@v2/rscg_examples/AssemblyMetadata/video.json`:
- Around line 35-38: The JSON array in video.json is malformed: replace the
invalid token SpeakTest=" " with a valid JSON property using a quoted key and
colon (e.g., "SpeakTest": " ") inside that object, and remove the trailing comma
after the final array element so the array ends with a proper closing bracket;
locate the offending object in the array (the step with "typeStep":"browser" and
the subsequent "typeStep":"waitseconds") and correct those two issues.
---
Nitpick comments:
In `@v2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.md`:
- Line 4: The phrase "date time based" in the description string 'description:
Generate date time based metadata for assemblies.' should be hyphenated as
"date-time-based" to form the correct compound modifier; update that occurrence
and the identical instance on line 278 to read "date-time-based" so the
description becomes 'description: Generate date-time-based metadata for
assemblies.'.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 11f6f2d3-b478-474f-9f7b-c25b8b8acdaa
⛔ Files ignored due to path filters (3)
v2/Generator/all.csvis excluded by!**/*.csvv2/rscg_examples_site/static/exports/RSCG.xlsxis excluded by!**/*.xlsxv2/rscg_examples_site/static/sources/AssemblyMetadata.zipis excluded by!**/*.zip
📒 Files selected for processing (24)
README.mdlater.mdv2/.tours/AssemblyMetadata.tourv2/RSCGExamplesData/GeneratorDataRec.jsonv2/book/examples/AssemblyMetadata.htmlv2/book/examples/TypedPaths.htmlv2/book/list.htmlv2/book/pandocHTML.yamlv2/rscg_examples/AssemblyMetadata/description.jsonv2/rscg_examples/AssemblyMetadata/nuget.txtv2/rscg_examples/AssemblyMetadata/readme.txtv2/rscg_examples/AssemblyMetadata/src/DemoMeta.slnxv2/rscg_examples/AssemblyMetadata/src/DemoMeta/DemoMeta.csprojv2/rscg_examples/AssemblyMetadata/src/DemoMeta/Program.csv2/rscg_examples/AssemblyMetadata/video.jsonv2/rscg_examples_site/docs/Authors/Benjamin_Abt.mdv2/rscg_examples_site/docs/Categories/EnhancementProject.mdv2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementProject.mdxv2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.mdv2/rscg_examples_site/docs/RSCG-Examples/index.mdv2/rscg_examples_site/docs/about.mdv2/rscg_examples_site/docs/indexRSCG.mdv2/rscg_examples_site/src/components/HomepageFeatures/index.jsv2/rscg_examples_site/static/exports/RSCG.json
| ## Content | ||
|
|
||
| Those are the 259 Roslyn Source Code Generators that I have tested you can see and download source code example. | ||
| Those are the 260 Roslyn Source Code Generators that I have tested you can see and download source code example. |
There was a problem hiding this comment.
Fix wording for the content summary sentence.
Line 27 reads awkwardly and is hard to parse. Suggested rewrite:
✏️ Proposed wording
-Those are the 260 Roslyn Source Code Generators that I have tested you can see and download source code example.
+These are the 260 Roslyn Source Code Generators that I have tested; you can view and download source code examples.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Those are the 260 Roslyn Source Code Generators that I have tested you can see and download source code example. | |
| These are the 260 Roslyn Source Code Generators that I have tested; you can view and download source code examples. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` at line 27, Rewrite the awkward summary sentence on line 27 to
clear, grammatical English; replace "Those are the 260 Roslyn Source Code
Generators that I have tested you can see and download source code example."
with a concise sentence such as "These are the 260 Roslyn source-code generators
I tested; you can view and download example source code." Locate the sentence in
README.md and update the text accordingly, preserving intent (260 generators,
tested, examples available) and fixing punctuation and capitalization.
| </h2> | ||
| <h3> | ||
| Add reference to the <a href="https://www.nuget.org/packages/TypedPaths/" target="_blank">TypedPaths</a> in the csproj | ||
| Add reference to the <a href="https://www.nuget.org/packages/TypedPaths.Generator/" target="_blank">TypedPaths</a> in the csproj |
There was a problem hiding this comment.
Align package label with the linked package ID.
The link targets TypedPaths.Generator, but the displayed name is TypedPaths. Please make the anchor text explicit (TypedPaths.Generator) to avoid install confusion.
✏️ Proposed doc fix
- Add reference to the <a href="https://www.nuget.org/packages/TypedPaths.Generator/" target="_blank">TypedPaths</a> in the csproj
+ Add reference to <a href="https://www.nuget.org/packages/TypedPaths.Generator/" target="_blank">TypedPaths.Generator</a> in the csproj📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Add reference to the <a href="https://www.nuget.org/packages/TypedPaths.Generator/" target="_blank">TypedPaths</a> in the csproj | |
| Add reference to <a href="https://www.nuget.org/packages/TypedPaths.Generator/" target="_blank">TypedPaths.Generator</a> in the csproj |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@v2/book/examples/TypedPaths.html` at line 21, Update the anchor text so it
matches the package ID shown by the href: change the displayed link label from
"TypedPaths" to "TypedPaths.Generator" in the HTML anchor element (the <a
href="https://www.nuget.org/packages/TypedPaths.Generator/"
target="_blank">…</a>) so the visible name aligns with the linked package and
avoids install confusion.
| <body> | ||
| <h1> | ||
| This is the list of 259 RSCG with examples => | ||
| This is the list of 260 RSCG with examples => |
There was a problem hiding this comment.
Escape special character to satisfy HTML lint.
Line 20 uses a raw > character, which triggers spec-char-escape. Replace it with >.
💡 Proposed fix
-This is the list of 260 RSCG with examples =>
+This is the list of 260 RSCG with examples =>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| This is the list of 260 RSCG with examples => | |
| This is the list of 260 RSCG with examples => |
🧰 Tools
🪛 HTMLHint (1.9.2)
[error] 20-20: Special characters must be escaped : [ > ].
(spec-char-escape)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@v2/book/list.html` at line 20, Replace the raw '>' character in the string
"This is the list of 260 RSCG with examples =>" with the escaped entity '>'
to satisfy HTML lint; update the text node in v2/book/list.html (the line
containing that exact snippet) so the output reads "This is the list of 260 RSCG
with examples =>".
| The generator produces a single file (`AssemblyMetadataInfo.gen.cs`) in the | ||
| `BenjaminAbt.AssemblyMetadata` namespace. All members are `public const`. | ||
|
|
||
| ######### `AssemblyMetadataInfo.BuildInfo` |
There was a problem hiding this comment.
Invalid heading level syntax.
Line 161 uses ######### which would be an h9 heading, but Markdown only supports h1-h6. This appears multiple times in the embedded README content (lines 161, 178, 188, 202, 216, 234, 247).
🔧 Proposed fix
Since this content is embedded within a :::note block (starting at line 50), these should likely be h4 headings (####) to maintain proper hierarchy:
-######### `AssemblyMetadataInfo.BuildInfo`
+#### `AssemblyMetadataInfo.BuildInfo`Apply the same change to lines 178, 188, 202, 216, 234, and 247.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ######### `AssemblyMetadataInfo.BuildInfo` | |
| #### `AssemblyMetadataInfo.BuildInfo` |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@v2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.md` at line 161,
The README embedded headings use invalid h9 syntax (e.g., the token "#########
`AssemblyMetadataInfo.BuildInfo`")—replace each of those excessive '#' groups
with a valid h4 heading ("####") so the headings render correctly inside the
surrounding :::note block; update the same pattern for the other occurrences
referenced in the comment (the headings at the other occurrences of "#########"
around the AssemblyMetadata.md content) so they become "####".
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AssemblyMetadata#download-example-net--c-", | ||
| SpeakTest=" "}, | ||
| {"typeStep":"waitseconds","arg":"30"}, | ||
| ] |
There was a problem hiding this comment.
Critical JSON syntax errors.
The JSON is malformed and will fail to parse:
- Line 36:
SpeakTest=" "is invalid - property keys must be quoted and separated with:not= - Line 38: Trailing comma after the last array element is not allowed in standard JSON
🔧 Proposed fix
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AssemblyMetadata#download-example-net--c-",
-SpeakTest=" "},
+"SpeakTest":" "},
-{"typeStep":"waitseconds","arg":"30"},
+{"typeStep":"waitseconds","arg":"30"}
]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AssemblyMetadata#download-example-net--c-", | |
| SpeakTest=" "}, | |
| {"typeStep":"waitseconds","arg":"30"}, | |
| ] | |
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AssemblyMetadata#download-example-net--c-", | |
| "SpeakTest":" "}, | |
| {"typeStep":"waitseconds","arg":"30"} | |
| ] |
🧰 Tools
🪛 Biome (2.4.9)
[error] 36-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
(parse)
[error] 36-36: expected : but instead found }
(parse)
[error] 38-38: Expected an array, an object, or a literal but instead found ']'.
(parse)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@v2/rscg_examples/AssemblyMetadata/video.json` around lines 35 - 38, The JSON
array in video.json is malformed: replace the invalid token SpeakTest=" " with a
valid JSON property using a quoted key and colon (e.g., "SpeakTest": " ") inside
that object, and remove the trailing comma after the final array element so the
array ends with a proper closing bracket; locate the offending object in the
array (the step with "typeStep":"browser" and the subsequent
"typeStep":"waitseconds") and correct those two issues.
There was a problem hiding this comment.
Pull request overview
This PR adds a new v2 example for the AssemblyMetadata Roslyn source generator and updates the repository’s generated indexes/exports (site docs, book, spreadsheets) to include it as example #260.
Changes:
- Added new example project + metadata for
AssemblyMetadata(demo project, description, docs page, downloadable zip). - Regenerated/updated site and book indexes/exports to reflect 260 total examples and the new category membership.
- Updated top-level lists (README, later.md) and generator inputs (CSV / JSON) to include the new entry.
Reviewed changes
Copilot reviewed 25 out of 27 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| v2/RSCGExamplesData/GeneratorDataRec.json | Adds AssemblyMetadata entry to generator record data. |
| v2/rscg_examples/AssemblyMetadata/video.json | Adds video script steps for the new example (currently has JSON issues). |
| v2/rscg_examples/AssemblyMetadata/src/DemoMeta/Program.cs | Minimal demo showing generated metadata usage. |
| v2/rscg_examples/AssemblyMetadata/src/DemoMeta/DemoMeta.csproj | New demo project referencing AssemblyMetadata as analyzer/source generator. |
| v2/rscg_examples/AssemblyMetadata/src/DemoMeta.slnx | Solution wrapper for the demo project. |
| v2/rscg_examples/AssemblyMetadata/readme.txt | Captures upstream readme content for the generator. |
| v2/rscg_examples/AssemblyMetadata/nuget.txt | Short NuGet description text used by tooling/docs. |
| v2/rscg_examples/AssemblyMetadata/description.json | New example metadata (NuGet/link/source/csproj/files). |
| v2/rscg_examples_site/static/sources/AssemblyMetadata.zip | Adds downloadable source archive for the new example. |
| v2/rscg_examples_site/static/exports/RSCG.xlsx | Regenerated Excel export to include the new generator. |
| v2/rscg_examples_site/static/exports/RSCG.json | Regenerated JSON export to include the new generator. |
| v2/rscg_examples_site/src/components/HomepageFeatures/index.js | Updates homepage count from 259 to 260. |
| v2/rscg_examples_site/docs/RSCG-Examples/index.md | Updates category list counts and includes the new doc link. |
| v2/rscg_examples_site/docs/RSCG-Examples/AssemblyMetadata.md | New documentation page for AssemblyMetadata example (#260). |
| v2/rscg_examples_site/docs/indexRSCG.md | Updates overall list count and adds the new entry row. |
| v2/rscg_examples_site/docs/Categories/EnhancementProject.md | Updates EnhancementProject category count and adds AssemblyMetadata. |
| v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementProject.mdx | Updates primitive category listing to include AssemblyMetadata. |
| v2/rscg_examples_site/docs/Authors/Benjamin_Abt.md | Adds author page for Benjamin Abt with the new generator. |
| v2/rscg_examples_site/docs/about.md | Updates about page count from 259 to 260. |
| v2/Generator/all.csv | Adds AssemblyMetadata to the generator input list. |
| v2/book/pandocHTML.yaml | Includes AssemblyMetadata.html in the pandoc input list. |
| v2/book/list.html | Updates book list count and adds link to AssemblyMetadata example page. |
| v2/book/examples/TypedPaths.html | Updates TypedPaths NuGet link in book HTML output. |
| v2/book/examples/AssemblyMetadata.html | New book HTML page for the AssemblyMetadata example. |
| v2/.tours/AssemblyMetadata.tour | Adds CodeTour for the new example. |
| README.md | Updates global counts/latest update and adds AssemblyMetadata entry. |
| later.md | Updates “Latest Update” date to 2026-04-02. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {"typeStep":"waitseconds","arg":"30"}, | ||
| {"typeStep":"text","arg": "Remember, you can download the code from here"}, | ||
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AssemblyMetadata#download-example-net--c-", | ||
| SpeakTest=" "}, |
There was a problem hiding this comment.
video.json is not valid JSON: the SpeakTest=" " line uses = and an unquoted key, so System.Text.Json deserialization (e.g., VideoJson.Deserialize) will fail. Make SpeakTest a normal JSON property on the same step object (e.g., "SpeakTest": "...") or remove it entirely.
| SpeakTest=" "}, | |
| "SpeakTest":" "}, |
| {"typeStep":"text","arg": "And now I will show you an example of using AssemblyMetadata"}, | ||
|
|
||
| {"typeStep":"hide","arg": "now execute the tour in VSCode"}, | ||
| {"typeStep":"tour", "arg": "src/.tours/"}, |
There was a problem hiding this comment.
The tour step points to src/.tours/, but there is no src/.tours directory under this example (v2/rscg_examples/AssemblyMetadata/src). StartTourVSCode resolves this path relative to the video.json directory and will throw if it can't find exactly one *.tour file there. Use a correct relative path to the repo’s .tours folder or place the expected tour file under src/.tours/.
| {"typeStep":"tour", "arg": "src/.tours/"}, | |
| {"typeStep":"tour", "arg": "../../.tours/"}, |
Summary by CodeRabbit
Release Notes
New Features
Documentation