Skip to content

Conversation

@ignatandrei
Copy link
Owner

@ignatandrei ignatandrei commented Nov 28, 2025

Added TeCLI as the 238th Roslyn Source Code Generator example, including new example files, documentation, and metadata. Updated README, lists, and category displays to reflect the new entry and its details. Adjusted templates to show NuGet downloads, GitHub stars, and generation dates for each RSCG.

Summary by CodeRabbit

  • New Features

    • Added TeCLI, a command-line argument parsing source generator, expanding the catalog to 238 examples.
  • Documentation

    • Enhanced generator listings across all categories with package availability and release date metadata.
    • Updated navigation and timestamps to reflect the latest addition.

✏️ Tip: You can customize this high-level summary in your review settings.

Added TeCLI as the 238th Roslyn Source Code Generator example, including new example files, documentation, and metadata. Updated README, lists, and category displays to reflect the new entry and its details. Adjusted templates to show NuGet downloads, GitHub stars, and generation dates for each RSCG.
Copilot AI review requested due to automatic review settings November 28, 2025 16:43
@ignatandrei ignatandrei linked an issue Nov 28, 2025 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Nov 28, 2025

Walkthrough

This PR adds TeCLI, a CLI source generator, as the 238th RSCG entry, including example documentation, configuration, Razor template enhancements for metadata rendering, data exports, and category page updates with badges and dates across 80+ files.

Changes

Cohort / File(s) Change Summary
TeCLI Example Project
v2/rscg_examples/TeCLI/src/ConsoleDemo/*, v2/rscg_examples/TeCLI/src/ConsoleDemo.slnx
Adds new TeCLI example project with solution, csproj targeting net10.0, Program.cs with DI wiring, and CmdForSum.cs command class demonstrating CLI parsing via attributes.
TeCLI Metadata & Documentation
v2/rscg_examples/TeCLI/description.json, v2/rscg_examples/TeCLI/nuget.txt, v2/rscg_examples/TeCLI/readme.txt, v2/rscg_examples/TeCLI/video.json
Adds TeCLI generator description, NuGet metadata, comprehensive readme documenting attributes, supported types, DI integration, and async support, plus tour/video script configuration.
Code Tour & HTML Documentation
v2/.tours/TeCLI.tour, v2/book/examples/TeCLI.html, v2/rscg_examples_site/docs/RSCG-Examples/TeCLI.md
Adds interactive tour, HTML overview page, and detailed markdown documentation for TeCLI with code samples, images, and usage guidance.
Razor Template Enhancements
v2/Generator/CategoryDisplay.cshtml, v2/Generator/InTheSameCategory.cshtml
Extends templates to render additional metadata: MarkDownNugetDownloads, MarkDownStars, and generatedDate (formatted as yyyy-MM-dd) for each item; removes trailing semicolon from inheritance directive.
Generator Link Rewriting
v2/Generator/MultiGeneratorV2.cs
Adds two new string replacements in GrabReadMe processing: (COVERAGE({Generator.Source}/COVERAGE) and (TeCLI.({Generator.Source}/TeCLI. for relative link normalization.
Core Catalog Data
v2/RSCGExamplesData/GeneratorDataRec.json, v2/rscg_examples_site/static/exports/RSCG.json, README.md, later.md
Adds TeCLI entry to JSON data with ID, Category 32, dtStart 2025-11-07; appends to RSCG.json exports; bumps example count from 237 to 238; updates latest-update timestamp.
Catalog List & Index Pages
v2/book/list.html, v2/book/pandocHTML.yaml, v2/rscg_examples_site/docs/indexRSCG.md, v2/rscg_examples_site/docs/about.md, v2/rscg_examples_site/docs/RSCG-Examples/index.md
Updates page headings, titles, and introductory text from 237 to 238; adds TeCLI entry to tables/lists; includes Mermaid diagram update for CommandLine category; adds TeCLI to pandoc input files.
Homepage & Feature Display
v2/rscg_examples_site/src/components/HomepageFeatures/index.js
Updates feature card title from "237 Examples" to "238 Examples".
Category Pages with Badge/Date Enhancements
v2/rscg_examples_site/docs/Categories/*.md, v2/rscg_examples_site/docs/Categories/_Primitive*.mdx
Systematically adds NuGet badges, GitHub stars badges, and dates to all generator entries across 50+ category documentation pages in both Markdown and MDX formats; CommandLine category specifically adds TeCLI as 4th entry.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Areas requiring extra attention:

  • Razor template syntax changes (v2/Generator/CategoryDisplay.cshtml, v2/Generator/InTheSameCategory.cshtml): verify the removed semicolons don't affect template compilation and that new metadata fields (MarkDownNugetDownloads, MarkDownStars, generatedDate) are properly populated by the upstream data model.
  • MultiGeneratorV2.cs string replacements: confirm the link-rewriting patterns for (COVERAGE and (TeCLI. don't inadvertently match other patterns or break existing documentation links.
  • Category page badge consistency: spot-check a few generated category pages (e.g., CommandLine.mdx) to ensure badges render correctly and dates align with the TeCLI data entry (2025-11-07).

Possibly related PRs

  • adding program #422 — Modifies v2/Generator/MultiGeneratorV2.cs with additional README link-rewriting replacements in the same GrabReadMe processing block.
  • first iteration #405 — Follows the same pattern of adding a new RSCG example (updating catalog data, docs, exports, and category pages) for a different generator.
  • first iteration #410 — Modifies the same generator-processing code (MultiGeneratorV2.cs) with GrabReadMe text replacement rules.

🐰 Two-hundred and thirty-eight now shine,
TeCLI joins the catalog line,
With badges bright and dates so neat,
The RSCG tale's complete!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective of the changeset: adding a new TeCLI RSCG example and updating related documentation across the repository.
✨ 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 419-httpsgithubcomtyevcotecliissues14event-21057085915

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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.

Copilot finished reviewing on behalf of ignatandrei November 28, 2025 16:44
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: 7

🧹 Nitpick comments (14)
v2/rscg_examples_site/docs/Categories/_PrimitiveMediator.mdx (1)

3-7: Minor: Add spacing between consecutive badges on line 7.

Line 7 (Mediator entry) has two NuGet badges concatenated without spacing between them: Mediator.SourceGenerator)[![Nuget](. While this renders correctly in Markdown, adding a space improves readability in source form and is consistent with the pattern used when multiple inline elements are present.

Apply this diff:

-   3 [Mediator](/docs/Mediator) [![Nuget](https://img.shields.io/nuget/dt/Mediator.SourceGenerator?label=Mediator.SourceGenerator)](https://www.nuget.org/packages/Mediator.SourceGenerator)[![Nuget](https://img.shields.io/nuget/dt/Mediator.Abstractions?label=Mediator.Abstractions)](https://www.nuget.org/packages/Mediator.Abstractions) ![GitHub Repo stars](https://img.shields.io/github/stars/martinothamar/Mediator?style=social) 2023-08-02
+   3 [Mediator](/docs/Mediator) [![Nuget](https://img.shields.io/nuget/dt/Mediator.SourceGenerator?label=Mediator.SourceGenerator)](https://www.nuget.org/packages/Mediator.SourceGenerator) [![Nuget](https://img.shields.io/nuget/dt/Mediator.Abstractions?label=Mediator.Abstractions)](https://www.nuget.org/packages/Mediator.Abstractions) ![GitHub Repo stars](https://img.shields.io/github/stars/martinothamar/Mediator?style=social) 2023-08-02

Note: The static analysis warnings about repetitive sentence beginnings and excessive punctuation are false positives for this structured list format—the consistent repetition is intentional and expected for parallel list entries.

v2/rscg_examples_site/docs/Categories/Builder.md (1)

6-6: Consider removing trailing whitespace on blank lines.

Lines 6, 8, 10, 12, 14, 16, and 18 appear to contain only indentation. If these are unintentional blank lines with trailing spaces, consider removing them to maintain consistent formatting and avoid linting issues.

Also applies to: 8-8, 10-10, 12-12, 14-14, 16-16, 18-18

v2/rscg_examples_site/docs/Categories/MVC.md (1)

5-6: Verify badge URL endpoints and remove trailing whitespace.

The metadata enrichment looks good overall—NuGet download counts and GitHub stars badges are well-formed. However, remove the trailing whitespace on line 6 to keep the file clean.

Additionally, verify that the shields.io endpoints (/nuget/dt/SG4MVC and /github/stars/SG4MVC/SG4MVC) will correctly resolve and serve the intended metrics dynamically. If these URLs are correct in your monitoring/CI environment, this change is safe.

Apply this diff to remove the trailing whitespace:

         1 [SG4MVC](/docs/SG4MVC) [![Nuget](https://img.shields.io/nuget/dt/SG4MVC?label=SG4MVC)](https://www.nuget.org/packages/SG4MVC/) ![GitHub Repo stars](https://img.shields.io/github/stars/SG4MVC/SG4MVC?style=social) 2025-08-04
-        
+
v2/rscg_examples_site/docs/Categories/Mediator.md (1)

5-10: Enrich category entries with badges and dates — minor formatting tweak needed.

The badge and date enrichment looks good. However, there's a missing space between the two NuGet badges on line 9 (Mediator entry), which could affect markdown rendering consistency.

Apply this diff to add the missing space on line 9:

-        3 [Mediator](/docs/Mediator) [![Nuget](https://img.shields.io/nuget/dt/Mediator.SourceGenerator?label=Mediator.SourceGenerator)](https://www.nuget.org/packages/Mediator.SourceGenerator)[![Nuget](https://img.shields.io/nuget/dt/Mediator.Abstractions?label=Mediator.Abstractions)](https://www.nuget.org/packages/Mediator.Abstractions) ![GitHub Repo stars](https://img.shields.io/github/stars/martinothamar/Mediator?style=social) 2023-08-02
+        3 [Mediator](/docs/Mediator) [![Nuget](https://img.shields.io/nuget/dt/Mediator.SourceGenerator?label=Mediator.SourceGenerator)](https://www.nuget.org/packages/Mediator.SourceGenerator) [![Nuget](https://img.shields.io/nuget/dt/Mediator.Abstractions?label=Mediator.Abstractions)](https://www.nuget.org/packages/Mediator.Abstractions) ![GitHub Repo stars](https://img.shields.io/github/stars/martinothamar/Mediator?style=social) 2023-08-02

Overall, the enrichment pattern is consistent and improves the category page with actionable metadata (NuGet downloads, GitHub stars, and generation dates).

v2/Generator/MultiGeneratorV2.cs (1)

121-133: New COVERAGE/TeCLI link rewrites are consistent

The added replacements for (COVERAGE and (TeCLI. follow the same pattern as the existing rewrites and correctly convert relative links like (COVERAGE), (COVERAGE.md) or (TeCLI.*) into repo‑rooted links under d.Generator.Source. Given the prior null checks on d.Generator?.Source, this doesn’t introduce new nullability risks.

You may eventually want unit tests around GrabReadMe to lock in these path‑rewrite behaviors, but the new lines themselves look fine.

v2/rscg_examples_site/docs/Categories/FunctionalProgramming.md (1)

5-35: FunctionalProgramming metadata is correct; consider spacing between multiple badges

The 16 entries and their badges/dates look consistent and correct. For items with multiple NuGet badges (e.g., FunicularSwitch, OneOf, rscg_queryables), the markdown places badges directly adjacent (.../)([![Nuget]...) which can render them visually stuck together. Adding a space between the two badge blocks would slightly improve readability.

Example for one entry:

-        5 [FunicularSwitch](/docs/FunicularSwitch) [![Nuget](https://img.shields.io/nuget/dt/FunicularSwitch.Generators?label=FunicularSwitch.Generators)](https://www.nuget.org/packages/FunicularSwitch.Generators/)[![Nuget](https://img.shields.io/nuget/dt/FunicularSwitch?label=FunicularSwitch)](https://www.nuget.org/packages/FunicularSwitch) ![GitHub Repo stars](https://img.shields.io/github/stars/bluehands/Funicular-Switch?style=social) 2024-02-12
+        5 [FunicularSwitch](/docs/FunicularSwitch) [![Nuget](https://img.shields.io/nuget/dt/FunicularSwitch.Generators?label=FunicularSwitch.Generators)](https://www.nuget.org/packages/FunicularSwitch.Generators/) [![Nuget](https://img.shields.io/nuget/dt/FunicularSwitch?label=FunicularSwitch)](https://www.nuget.org/packages/FunicularSwitch) ![GitHub Repo stars](https://img.shields.io/github/stars/bluehands/Funicular-Switch?style=social) 2024-02-12
v2/Generator/CategoryDisplay.cshtml (1)

1-14: Template correctly emits badges and dates; double‑check generatedDate nullability

The updated template nicely centralizes the markdown for name, NuGet downloads, stars, and a formatted date, which lines up with the enriched category pages in this PR.

One thing to verify: rscgV.generatedDate is used without a null check:

@(rscgV.generatedDate.ToString("yyyy-MM-dd"))

If generatedDate is ever nullable or left at a default/uninitialized value in any Description, this could throw at generation time. If the field is guaranteed non-null for all entries, no change is needed; otherwise consider a small guard, e.g. computing a dateText string in the code block that falls back to "" when the date is missing.

v2/rscg_examples_site/docs/indexRSCG.md (1)

10-12: TeCLI entry and 238-count text are correct; consider minor markdown cleanup

The new 238-count heading/description and the TeCLI row (date and CommandLine category) are consistent with the rest of the list and other files in the PR.

To satisfy markdownlint’s no-space-in-links rule and avoid trailing-space noise, you can trim the space inside the TeCLI link text:

-|238| [TeCLI by Tyler Coles ](/docs/TeCLI)|2025-11-07 => 07 November 2025 | [CommandLine](/docs/Categories/CommandLine) |
+|238| [TeCLI by Tyler Coles](/docs/TeCLI)|2025-11-07 => 07 November 2025 | [CommandLine](/docs/Categories/CommandLine) |

Also applies to: 23-23

v2/rscg_examples_site/docs/Categories/EnhancementClass.md (1)

5-60: Tighten up badge consistency for a few EnhancementClass items

Most entries look great; a couple of small consistency issues are worth fixing:

  • Line 37 (Microsoft.Interop.JavaScript.JSImportGenerator) has only a date and no badges, unlike the others. If NuGet/GitHub metadata exists for this generator, consider adding the corresponding badges for a uniform look.
  • Line 47 (RSCG_UtilityTypes) and line 49 (StaticReflection) have two NuGet badges directly adjacent, which reduces readability. Adding a space between them would match other multi-badge entries:
-        22 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes) [![Nuget](https://img.shields.io/nuget/dt/RSCG_UtilityTypes?label=RSCG_UtilityTypes)](https://www.nuget.org/packages/RSCG_UtilityTypes/)[![Nuget](https://img.shields.io/nuget/dt/RSCG_UtilityTypesCommon?label=RSCG_UtilityTypesCommon)](https://www.nuget.org/packages/RSCG_UtilityTypesCommon) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_UtilityTypes?style=social) 2023-12-22
+        22 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes) [![Nuget](https://img.shields.io/nuget/dt/RSCG_UtilityTypes?label=RSCG_UtilityTypes)](https://www.nuget.org/packages/RSCG_UtilityTypes/) [![Nuget](https://img.shields.io/nuget/dt/RSCG_UtilityTypesCommon?label=RSCG_UtilityTypesCommon)](https://www.nuget.org/packages/RSCG_UtilityTypesCommon) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_UtilityTypes?style=social) 2023-12-22
@@
-        24 [StaticReflection](/docs/StaticReflection) [![Nuget](https://img.shields.io/nuget/dt/FastStaticReflection?label=FastStaticReflection)](https://www.nuget.org/packages/FastStaticReflection/)[![Nuget](https://img.shields.io/nuget/dt/FastStaticReflection.CodeGen?label=FastStaticReflection.CodeGen)](https://www.nuget.org/packages/FastStaticReflection.CodeGen/) ![GitHub Repo stars](https://img.shields.io/github/stars/Cricle/StaticReflection?style=social) 2023-10-13
+        24 [StaticReflection](/docs/StaticReflection) [![Nuget](https://img.shields.io/nuget/dt/FastStaticReflection?label=FastStaticReflection)](https://www.nuget.org/packages/FastStaticReflection/) [![Nuget](https://img.shields.io/nuget/dt/FastStaticReflection.CodeGen?label=FastStaticReflection.CodeGen)](https://www.nuget.org/packages/FastStaticReflection.CodeGen/) ![GitHub Repo stars](https://img.shields.io/github/stars/Cricle/StaticReflection?style=social) 2023-10-13
  • Line 53 (System.Runtime.InteropServices) uses a stars badge URL that doesn’t match the other GitHub badge patterns and is unlikely to be valid as written. Aligning with the other BCL entries by pointing to dotnet/runtime would simplify things:
-        25 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices) [![Nuget](https://img.shields.io/nuget/dt/System.Runtime.InteropServices?label=System.Runtime.InteropServices)](https://www.nuget.org/packages/System.Runtime.InteropServices/) ![GitHub Repo stars](https://img.shields.io/www.nuget.org/stars/packages/System.Runtime.InteropServices?style=social) 2023-04-16
+        25 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices) [![Nuget](https://img.shields.io/nuget/dt/System.Runtime.InteropServices?label=System.Runtime.InteropServices)](https://www.nuget.org/packages/System.Runtime.InteropServices/) ![GitHub Repo stars](https://img.shields.io/github/stars/dotnet/runtime?style=social) 2023-04-16
v2/rscg_examples_site/docs/Categories/API.md (1)

5-23: Fix stars badge URL for Microsoft.Extensions.Configuration.Binder

Entry 2’s stars badge points at a learn.microsoft path instead of a GitHub repo, unlike all the other entries. To keep badges functional and consistent, consider updating it to the .NET runtime repo (same as other BCL-related packages):

-        2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder) [![Nuget](https://img.shields.io/nuget/dt/Microsoft.Extensions.Configuration.Binder?label=Microsoft.Extensions.Configuration.Binder)](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/) ![GitHub Repo stars](https://img.shields.io/learn.microsoft/stars/en-us/dotnet?style=social) 2023-11-18
+        2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder) [![Nuget](https://img.shields.io/nuget/dt/Microsoft.Extensions.Configuration.Binder?label=Microsoft.Extensions.Configuration.Binder)](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/) ![GitHub Repo stars](https://img.shields.io/github/stars/dotnet/runtime?style=social) 2023-11-18
v2/rscg_examples/TeCLI/description.json (1)

1-22: TeCLI description JSON is valid; a couple of tiny polish tweaks

The structure and fields look consistent with other generator descriptions. Two small readability nits you might consider:

  • Remove the trailing space in the goodFor string.
  • Add a space after the comma in csFiles for consistency with typical JSON style.
-      "goodFor":["Parse Command line arguments "],
+      "goodFor":["Parse Command line arguments"],
@@
-      "csFiles":["Program.cs","CmdForSum.cs"],
+      "csFiles":["Program.cs", "CmdForSum.cs"],

If the configuration loader treats empty strings in excludeDirectoryGenerated / includeAdditionalFiles specially, keeping them as-is is fine; otherwise, you might later switch them to empty arrays ([]) when you know the consumer’s expectations.

v2/rscg_examples/TeCLI/src/ConsoleDemo/Program.cs (1)

13-19: Optionally dispose the ServiceProvider to follow DI best practices

The DI wiring is correct, but ServiceProvider is never disposed. In longer-running or more complex apps this can leak resources; even in samples it's good to model disposal.

You can do this with a small change:

-IServiceCollection services = new ServiceCollection();
-services.AddCommandDispatcher();
-
-var sp = services.BuildServiceProvider();
-
-var dispatcher = sp.GetRequiredService<CommandDispatcher>();
-await dispatcher.DispatchAsync(args);
+IServiceCollection services = new ServiceCollection();
+services.AddCommandDispatcher();
+
+using var sp = services.BuildServiceProvider();
+
+var dispatcher = sp.GetRequiredService<CommandDispatcher>();
+await dispatcher.DispatchAsync(args);
v2/book/examples/TeCLI.html (1)

23-68: Consider adding alt text to images for accessibility

All screenshots use bare <img> tags without alt attributes, which makes the page harder to use with screen readers.

If feasible, add concise alt descriptions to each image (e.g., “ConsoleDemo.csproj with TeCLI package reference”, “Generated CommandDispatcher.cs”) to improve accessibility.

v2/rscg_examples_site/docs/RSCG-Examples/TeCLI.md (1)

24-820: Optionally align this page with your markdownlint rules

The MDX content is solid, but markdownlint reports a few style issues (bare URLs, hard tabs in the csproj block, mixed code block styles, and a couple of fenced blocks without a language, plus a space inside one link label).

If you rely on markdownlint in CI, it’s worth:

  • Replacing hard tabs in the XML snippet with spaces.
  • Ensuring all fenced code blocks declare a language.
  • Converting indented code blocks to fenced ones.
  • Wrapping bare URLs in Markdown links where practical.

These are non-functional, but will keep docs consistent with the rest of the site.

Comment on lines +2 to +66
{
"$schema": "https://aka.ms/codetour-schema",
"title": "TeCLI",
"steps":
[
{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/ConsoleDemo.csproj",
"description": "First, we add Nuget [TeCLI](https://www.nuget.org/packages/TeCLI/) in csproj ",
"pattern": "TeCLI"
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/CmdForSum.cs",
"description": "File CmdForSum.cs ",
"pattern": "this is the code"
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/Program.cs",
"description": "File Program.cs \r\n>> dotnet run --project rscg_examples/TeCLI/src/ConsoleDemo/ConsoleDemo.csproj ",
"pattern": "this is the code"
}


,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/obj/GX/TeCLI.Extensions.DependencyInjection/TeCLI.Extensions.DependencyInjection.Generators.DependencyInjectionInvokerGenerator/CommandDispatcher.Registrations.cs",
"description": "Generated File 6 from 6 : CommandDispatcher.Registrations.cs ",
"line": 1
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/obj/GX/TeCLI.Extensions.DependencyInjection/TeCLI.Extensions.DependencyInjection.Generators.DependencyInjectionInvokerGenerator/CommandDispatcher.Invoker.cs",
"description": "Generated File 5 from 6 : CommandDispatcher.Invoker.cs ",
"line": 1
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/obj/GX/TeCLI/TeCLI.Generators.CommandLineArgsGenerator/CommandDispatcher.Documentation.cs",
"description": "Generated File 4 from 6 : CommandDispatcher.Documentation.cs ",
"line": 1
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/obj/GX/TeCLI/TeCLI.Generators.CommandLineArgsGenerator/CommandDispatcher.cs",
"description": "Generated File 3 from 6 : CommandDispatcher.cs ",
"line": 1
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/obj/GX/TeCLI/TeCLI.Generators.CommandLineArgsGenerator/CommandDispatcher.Command.CmdForSum.Documentation.cs",
"description": "Generated File 2 from 6 : CommandDispatcher.Command.CmdForSum.Documentation.cs ",
"line": 1
}

,{
"file": "rscg_examples/TeCLI/src/ConsoleDemo/obj/GX/TeCLI/TeCLI.Generators.CommandLineArgsGenerator/CommandDispatcher.Command.CmdForSum.cs",
"description": "Generated File 1 from 6 : CommandDispatcher.Command.CmdForSum.cs ",
"line": 1
}

],

"ref": "main"

} No newline at end of file
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify patterns used in TeCLI tour exist in referenced files

echo "=== Searching for 'this is the code' in ConsoleDemo sources ==="
rg -n "this is the code" "rscg_examples/TeCLI/src/ConsoleDemo/" || echo "No matches found"

echo -e "\n=== Searching for 'TeCLI' in ConsoleDemo.csproj ==="
rg -n "TeCLI" "rscg_examples/TeCLI/src/ConsoleDemo/ConsoleDemo.csproj" || echo "No matches found"

echo -e "\n=== Checking if CmdForSum.cs exists ==="
ls -la "rscg_examples/TeCLI/src/ConsoleDemo/CmdForSum.cs" 2>/dev/null || echo "File not found"

echo -e "\n=== Checking if Program.cs exists ==="
ls -la "rscg_examples/TeCLI/src/ConsoleDemo/Program.cs" 2>/dev/null || echo "File not found"

echo -e "\n=== Checking if ConsoleDemo.csproj exists ==="
ls -la "rscg_examples/TeCLI/src/ConsoleDemo/ConsoleDemo.csproj" 2>/dev/null || echo "File not found"

Repository: ignatandrei/RSCG_Examples

Length of output: 580


🏁 Script executed:

#!/bin/bash
# Explore repo structure to find TeCLI or rscg_examples
echo "=== Looking for TeCLI-related directories ==="
fd -t d "TeCLI" --max-one-result

echo -e "\n=== Looking for rscg_examples directory ==="
fd -t d "rscg_examples" --max-one-result

echo -e "\n=== Checking v2 directory structure ==="
ls -la v2/ 2>/dev/null | head -20 || echo "v2/ not found"

echo -e "\n=== Listing .tours directory ==="
ls -la v2/.tours/ 2>/dev/null || echo "v2/.tours not found"

echo -e "\n=== Finding all .tour files ==="
fd -e tour

Repository: ignatandrei/RSCG_Examples

Length of output: 1928


🏁 Script executed:

#!/bin/bash
# Check TeCLI example structure under v2/rscg_examples
echo "=== Checking v2/rscg_examples for TeCLI ==="
ls -la v2/rscg_examples/ | grep -i tecli

echo -e "\n=== Exploring TeCLI structure if it exists ==="
if [ -d "v2/rscg_examples/TeCLI" ]; then
  find v2/rscg_examples/TeCLI -type f -name "*.cs" -o -name "*.csproj" | head -20
fi

echo -e "\n=== Checking for ConsoleDemo ==="
find v2/rscg_examples -type d -name "ConsoleDemo" 2>/dev/null

echo -e "\n=== Looking for CmdForSum.cs ==="
find v2/rscg_examples -name "CmdForSum.cs" 2>/dev/null

echo -e "\n=== Checking if generated files exist under obj/GX ==="
find v2/rscg_examples -path "*/obj/GX/*" -type f 2>/dev/null | head -5

Repository: ignatandrei/RSCG_Examples

Length of output: 645


🏁 Script executed:

#!/bin/bash
# Read source files to check for patterns referenced in tour
echo "=== Checking CmdForSum.cs for 'this is the code' ==="
cat v2/rscg_examples/TeCLI/src/ConsoleDemo/CmdForSum.cs

echo -e "\n=== Checking Program.cs for 'this is the code' ==="
cat v2/rscg_examples/TeCLI/src/ConsoleDemo/Program.cs

echo -e "\n=== Checking ConsoleDemo.csproj for 'TeCLI' ==="
cat v2/rscg_examples/TeCLI/src/ConsoleDemo/ConsoleDemo.csproj

Repository: ignatandrei/RSCG_Examples

Length of output: 1737


Tour file contains broken file references and missing patterns

The tour references files at incorrect paths and uses patterns that don't exist in the source code:

  1. File paths missing v2/ prefix: Tour references rscg_examples/TeCLI/src/ConsoleDemo/... but files are located at v2/rscg_examples/TeCLI/src/ConsoleDemo/.... CodeTour won't locate these files.

  2. Missing patterns:

    • "this is the code" does not exist in CmdForSum.cs or Program.cs. These files contain actual C# code, not this placeholder text.
    • "TeCLI" does exist in ConsoleDemo.csproj (in PackageReference lines), so that one is valid.
  3. Generated files don't exist: The tour references multiple generated files under obj/GX/ directories, but these don't exist in the repository (generated files are typically build artifacts excluded from version control).

Fix required: Update all file paths to include v2/ prefix, replace the placeholder patterns with actual code snippets that exist in the files, or remove references to non-existent generated files.

🤖 Prompt for AI Agents
In v2/.tours/TeCLI.tour around lines 2-66 the tour references incorrect paths
and non-existent patterns/files: prepend "v2/" to every referenced file path
(e.g., v2/rscg_examples/...), replace placeholder pattern "this is the code"
with actual unique text/snippet that exists in CmdForSum.cs and Program.cs (or
use a line number/regex that matches real code), and remove any entries that
point to build-generated obj/GX/ files (or replace them with source files that
are checked into the repo); ensure the ConsoleDemo.csproj step keeps the valid
"TeCLI" pattern and verify the final tour file references only existing repo
paths and valid patterns.


You will find here code examples
of 237 Roslyn Source Code Generator (RSCG)
of 238 Roslyn Source Code Generator (RSCG)
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for remaining references to 237 RSCG to ensure consistency
rg -i "237.*rscg|rscg.*237" --type md --type json --type yaml

Repository: ignatandrei/RSCG_Examples

Length of output: 50385


🏁 Script executed:

#!/bin/bash
# Also search more broadly for "237" that might relate to the catalog count
rg -n "237" --type md --type json --type yaml | head -20

Repository: ignatandrei/RSCG_Examples

Length of output: 50384


🏁 Script executed:

#!/bin/bash
# Check for "238" references to verify the update is complete
rg -n "238" --type md --type json --type yaml | head -20

Repository: ignatandrei/RSCG_Examples

Length of output: 50383


Catalog count update incomplete across index and metadata files. The change to about.md line 9 (237→238) is correct, but verification reveals stale references in related files:

  • v2/rscg_examples_site/docs/indexRSCG.md lines 24, 282: Still lists "237 Program" instead of updated position
  • v2/rscg_examples_site/docs/RSCG-Examples/Program.md lines 2-3: Metadata shows position "2370" and title "237 - Program" (should reflect new numbering)
  • README.md line 51: References "237. [Program]" (needs renumbering to next available position if Program was shifted)

The TeCLI entry (238) is correctly positioned. Update the index tables and document metadata to reflect the complete catalog reorganization.

🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/about.md around line 9 and related files, the
catalog count was updated to 238 but index and metadata remain stale: update
v2/rscg_examples_site/docs/indexRSCG.md (lines ~24 and ~282) to reflect the new
"238 Program" entry/position, edit
v2/rscg_examples_site/docs/RSCG-Examples/Program.md (lines 2-3) to correct the
metadata position and title to the updated numbering, and modify README.md (line
51) to renumber "237. [Program]" to the new position; ensure all index tables,
link targets, and front-matter/title fields consistently use the new catalog
number and verify cross-file links resolve.

Comment on lines +3 to +21
1 [immediate.apis](/docs/immediate.apis) [![Nuget](https://img.shields.io/nuget/dt/immediate.apis?label=immediate.apis)](https://www.nuget.org/packages/immediate.apis/) ![GitHub Repo stars](https://img.shields.io/github/stars/immediateplatform/immediate.apis?style=social) 2025-03-27

2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder)
2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder) [![Nuget](https://img.shields.io/nuget/dt/Microsoft.Extensions.Configuration.Binder?label=Microsoft.Extensions.Configuration.Binder)](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/) ![GitHub Repo stars](https://img.shields.io/learn.microsoft/stars/en-us/dotnet?style=social) 2023-11-18

3 [MinimalApiBuilder](/docs/MinimalApiBuilder)
3 [MinimalApiBuilder](/docs/MinimalApiBuilder) [![Nuget](https://img.shields.io/nuget/dt/MinimalApiBuilder?label=MinimalApiBuilder)](https://www.nuget.org/packages/MinimalApiBuilder/) ![GitHub Repo stars](https://img.shields.io/github/stars/JensDll/MinimalApiBuilder?style=social) 2023-10-26

4 [MinimalApis.Discovery](/docs/MinimalApis.Discovery)
4 [MinimalApis.Discovery](/docs/MinimalApis.Discovery) [![Nuget](https://img.shields.io/nuget/dt/MinimalApis.Discovery?label=MinimalApis.Discovery)](https://www.nuget.org/packages/MinimalApis.Discovery/) ![GitHub Repo stars](https://img.shields.io/github/stars/shawnwildermuth/MinimalApis?style=social) 2024-04-16

5 [MinimalHelpers.Routing.Analyzers](/docs/MinimalHelpers.Routing.Analyzers)
5 [MinimalHelpers.Routing.Analyzers](/docs/MinimalHelpers.Routing.Analyzers) [![Nuget](https://img.shields.io/nuget/dt/MinimalHelpers.Routing.Analyzers?label=MinimalHelpers.Routing.Analyzers)](https://www.nuget.org/packages/MinimalHelpers.Routing.Analyzers/) ![GitHub Repo stars](https://img.shields.io/github/stars/marcominerva/MinimalHelpers?style=social) 2024-10-21

6 [RDG](/docs/RDG)
6 [RDG](/docs/RDG) [![Nuget](https://img.shields.io/nuget/dt/Microsoft.Extensions.Http?label=Microsoft.Extensions.Http)](https://www.nuget.org/packages/Microsoft.Extensions.Http) ![GitHub Repo stars](https://img.shields.io/github/stars/dotnet/aspnetcore?style=social) 2023-11-19

7 [Refit](/docs/Refit)
7 [Refit](/docs/Refit) [![Nuget](https://img.shields.io/nuget/dt/Refit?label=Refit)](https://www.nuget.org/packages/Refit/) ![GitHub Repo stars](https://img.shields.io/github/stars/reactiveui/refit?style=social) 2023-07-31

8 [RSCG_WebAPIExports](/docs/RSCG_WebAPIExports)
8 [RSCG_WebAPIExports](/docs/RSCG_WebAPIExports) [![Nuget](https://img.shields.io/nuget/dt/RSCG_WebAPIExports?label=RSCG_WebAPIExports)](https://www.nuget.org/packages/RSCG_WebAPIExports/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_WebAPIExports?style=social) 2023-08-23

9 [SafeRouting](/docs/SafeRouting)
9 [SafeRouting](/docs/SafeRouting) [![Nuget](https://img.shields.io/nuget/dt/SafeRouting?label=SafeRouting)](https://www.nuget.org/packages/SafeRouting/) ![GitHub Repo stars](https://img.shields.io/github/stars/daviddotcs/safe-routing?style=social) 2023-09-23

10 [SkinnyControllersCommon](/docs/SkinnyControllersCommon)
10 [SkinnyControllersCommon](/docs/SkinnyControllersCommon) [![Nuget](https://img.shields.io/nuget/dt/SkinnyControllersCommon?label=SkinnyControllersCommon)](https://www.nuget.org/packages/SkinnyControllersCommon) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/SkinnyControllersGenerator?style=social) 2023-04-16
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, let me examine the file to see the exact content and check for other potential issues
cd /tmp && git clone https://github.com/CodeRabbitAI/example-repo.git 2>/dev/null || true
cat -n "v2/rscg_examples_site/docs/Categories/_PrimitiveAPI.mdx" 2>/dev/null || echo "File not in standard location, searching..."

# Search for the file in the repository
find . -name "_PrimitiveAPI.mdx" -type f 2>/dev/null | head -5

Repository: ignatandrei/RSCG_Examples

Length of output: 112


🌐 Web query:

Microsoft.Extensions.Configuration.Binder GitHub repository

💡 Result:

The repository for Microsoft.Extensions.Configuration.Binder is in the dotnet/extensions GitHub repo:

Sources:
[1] dotnet/extensions GitHub repo.
[2] Microsoft.Extensions.Configuration.Binder package on NuGet.


🏁 Script executed:

# Find and read the _PrimitiveAPI.mdx file
find . -name "_PrimitiveAPI.mdx" -type f 2>/dev/null

# Then examine its content to verify all badge URLs

Repository: ignatandrei/RSCG_Examples

Length of output: 126


🏁 Script executed:

# Read the entire _PrimitiveAPI.mdx file to verify all badge URLs
cat -n ./v2/rscg_examples_site/docs/Categories/_PrimitiveAPI.mdx

Repository: ignatandrei/RSCG_Examples

Length of output: 3445


Correct the malformed GitHub stars badge URL for Microsoft.Extensions.Configuration.Binder

Line 5 contains an incorrect badge URL: https://img.shields.io/learn.microsoft/stars/en-us/dotnet?style=social. This doesn't follow the shields.io GitHub stars pattern and will fail to render.

The Microsoft.Extensions.Configuration.Binder package is housed in the dotnet/extensions repository. Change the badge URL to:

https://img.shields.io/github/stars/dotnet/extensions?style=social

All other badge URLs in the file follow the correct github/stars/{owner}/{repo} pattern.

🧰 Tools
🪛 LanguageTool

[style] ~9-~9: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...Discovery](/docs/MinimalApis.Discovery) [Nuget](https://w...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~21-~21: Using many exclamation marks might seem excessive (in this case: 20 exclamation marks for a text that’s 3144 characters long)
Context: ...sCommon](/docs/SkinnyControllersCommon) Nuget ![GitHub Repo stars](https://img.shields....

(EN_EXCESSIVE_EXCLAMATION)

🤖 Prompt for AI Agents
v2/rscg_examples_site/docs/Categories/_PrimitiveAPI.mdx around lines 3 to 21:
the GitHub stars shields.io URL for Microsoft.Extensions.Configuration.Binder is
malformed; replace the existing badge URL with the correct GitHub stars badge
URL for the dotnet/extensions repo
(https://img.shields.io/github/stars/dotnet/extensions?style=social) so the
badge renders properly.

### Category "Disposer" has the following generators:

1 [BenutomoAutomaticDisposeImplSourceGenerator](/docs/BenutomoAutomaticDisposeImplSourceGenerator)
1 [BenutomoAutomaticDisposeImplSourceGenerator](/docs/BenutomoAutomaticDisposeImplSourceGenerator) [![Nuget](https://img.shields.io/nuget/dt/Benutomo.AutomaticDisposeImpl.SourceGenerator?label=Benutomo.AutomaticDisposeImpl.SourceGenerator)](https://www.nuget.org/packages/Benutomo.AutomaticDisposeImpl.SourceGenerator/) ![GitHub Repo stars](https://img.shields.io/github/stars/benutomo-dev/RoslynComponents?style=social) 2023-08-15
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Benutomo.AutomaticDisposeImpl.SourceGenerator nuget package

💡 Result:

Benutomo.AutomaticDisposeImpl.SourceGenerator is a C# source-generator that auto-implements IDisposable.Dispose and IAsyncDisposable.DisposeAsync for partial classes annotated with [AutomaticDisposeImpl]. Install with:

dotnet add package Benutomo.AutomaticDisposeImpl.SourceGenerator

See the NuGet package page for README, samples and usage details. [1][2]

Sources:

  • NuGet package page (README, install & samples). [1]
  • Roslyn Source Generators examples listing (BenutomoAutomaticDisposeImplSourceGenerator). [2]

🌐 Web query:

Coplt.Dropping nuget package

💡 Result:

Coplt.Dropping is a small NuGet package that auto-generates the Dispose(pattern) (handles Dispose(bool) + finalizer, allows multiple drops). Package page and source repo are linked from the generator site. [1]

Install (example):

  • dotnet: dotnet add package Coplt.Dropping. [1]

Remove from a project:

  • dotnet remove package Coplt.Dropping (or use Visual Studio Package Manager). [2]

If you’re the package owner and want to remove/unlist it from nuget.org:

  • nuget.org does not support permanent deletion for general cases; you can unlist or deprecate versions from the package management UI. Exceptional removals (malware, copyright, etc.) are handled by NuGet staff. Use the nuget.org Manage packages page or the nuget delete/unlist workflow. [3][1]

Sources:

  • Coplt.Dropping package / docs & repo link. [1]
  • dotnet package remove (remove package from project). [2]
  • NuGet.org policy on deleting/unlisting/deprecating packages. [3]

References:
[1] https://ignatandrei.github.io/RSCG_Examples/v2/docs/Coplt.Dropping (links to nuget.org & GitHub).
[2] https://learn.microsoft.com/dotnet/core/tools/dotnet-package-remove.
[3] https://learn.microsoft.com/nuget/policies/deleting-packages.


🌐 Web query:

DisposableHelpers nuget package

💡 Result:

DisposableHelpers is a .NET library that provides helpers and source generators for IDisposable and IAsyncDisposable (including anonymous disposable/async-disposable types). It supports .NET Standard 2.0+ and modern .NET (net6/7/8/9/10) and is maintained by Kiryuumaru. Install with:

  • dotnet CLI: dotnet add package DisposableHelpers
  • PackageReference: (latest releases available on NuGet).

Docs, usage examples (Disposable, AsyncDisposable, source-generator attributes) and version history are on the NuGet package page. [1][2]

Sources:
[1] NuGet package page — DisposableHelpers (readme, supported frameworks, examples).
[2] NuGet version entry — DisposableHelpers 1.2.131 (latest release details).


🌐 Web query:

Disposer nuget package source generator

💡 Result:

Disposer is a NuGet source-generator (by Hakan Fıstık / Hakam FOSTOK) that generates IDisposable boilerplate for types marked with a [Disposable] attribute (implements Dispose(bool), finalizer, SuppressFinalize, calls to partial DisposeManaged/DisposeUnmanaged, etc.). It requires the .NET 6 SDK to run (you can still target earlier frameworks). Install via:
dotnet add package Disposer
and mark the package PrivateAssets="all" if desired. Example usage: add [Disposer.Disposable] to your class and provide partial methods like DisposeManaged/DisposeUnmanaged — the generator emits the full IDisposable implementation. [1][2]

Sources:
[1] NuGet: Disposer package page (readme, usage, generated code examples).
[2] RSCG / project listing pointing to the Disposer GitHub source and examples.


🌐 Web query:

IDisposableGenerator nuget package

💡 Result:

IDisposableGenerator is a C# source generator that auto-generates Dispose implementations (and related attributes) for classes marked for disposal. Latest published NuGet version is 1.1.1 (last updated Dec 8, 2022). It targets .NETStandard 2.0. Install with:
dotnet add package IDisposableGenerator --version 1.1.1

Sources: NuGet package page and project list of C# source generators. [1][2]

[1] packages.nuget.org/packages/IDisposableGenerator (NuGet)
[2] github.com/amis92/csharp-source-generators (list including IDisposableGenerator)


🌐 Web query:

benutomo-dev/RoslynComponents github repository

💡 Result:

I couldn't find a public GitHub repo at github.com/benutomo-dev/RoslynComponents. I did find a third‑party page that references that repository as the source for an example (RSCG_Examples). [1]

Do you want me to (a) search GitHub more thoroughly, (b) look for an archived copy (Wayback), or (c) check for similarly named repos/users?


🌐 Web query:

2A5F/Coplt.Dropping github repository

💡 Result:

I found the GitHub repository for Coplt.Dropping — an auto-code-generator that implements the IDisposable/Dispose pattern (supports finalizers, ordering, multiple drops, etc.). The project is published under the MIT license and has a NuGet package. Sources:

  • Repository (code, README, examples): GitHub — coplt/Coplt.Dropping. [1]
  • Documentation / example page (RSCG) and NuGet pointer. [2]

🌐 Web query:

Kiryuumaru/DisposableHelpers github repository

💡 Result:

I found the repository:

  • Kiryuumaru / DisposableHelpers — GitHub repo for "Disposable helpers for IDisposable and IAsyncDisposable" (MIT license). Latest release shown: build.20251128003517 (Nov 28, 2025). [1]

Related NuGet package:

  • DisposableHelpers package (latest listed version 1.2.131, build metadata: 2025-09-29). [2]

Sources:
[1] Kiryuumaru/DisposableHelpers (GitHub).
[2] DisposableHelpers package (NuGet).


🌐 Web query:

HakamFostok/Disposer github repository

💡 Result:

Found the GitHub repository HakamFostok/Disposer — a C# source-generator that creates a best-practice IDisposable implementation for classes marked with the [Disposer.Disposable] attribute. It requires the .NET 6 SDK (can target earlier frameworks), is MIT‑licensed, and shows example usage (dotnet add package Disposer). Repository contents include source, README, solution, and 5 commits; current repo stats show 3 stars. [1][2]

Sources:

  • GitHub repo HakamFostok/Disposer (README, files, license, usage). [1]
  • RSCG Examples entry referencing Hakam Fıstık’s Disposer (NuGet/source info). [2]

🌐 Web query:

Elskom/IDisposableGenerator github repository

💡 Result:

The repository is github.com/Elskom/IDisposableGenerator — a C# source generator that produces Dispose implementations for types marked with its attributes. The package is published to NuGet (latest listed versions 1.1.1 / 1.1.0 with release notes). [1][2]

Sources:

  • NuGet package page (IDisposableGenerator) — package metadata and versions. [1]
  • C# Source Generators list (references IDisposableGenerator and the GitHub repo). [2]

Would you like the direct GitHub README contents, installation examples, or the repo link opened?


Incorrect GitHub repository URL for Coplt.Dropping.

Verification found that the GitHub repository for Coplt.Dropping is coplt/Coplt.Dropping, not 2A5F/Coplt.Dropping as listed in line 5. The correct link should be https://github.com/coplt/Coplt.Dropping.

All NuGet packages verified as existing and installable. The other four generator entries (lines 3, 7, 9, 11) have correct repository URLs. However, benutomo-dev/RoslynComponents could not be verified as a public repository—it may be archived, private, or no longer accessible.

Correct line 5 to use the accurate Coplt repository owner. Review line 3 for benutomo-dev/RoslynComponents if a public repo link is expected.

🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/Categories/_PrimitiveDisposer.mdx around lines
3-5, change the Coplt.Dropping GitHub link owner from 2A5F to coplt (use
https://github.com/coplt/Coplt.Dropping) on the Coplt entry (line 5) and review
the benutztomo-dev/RoslynComponents link at line 3—replace it with a valid
public repo URL or remove/replace the GitHub link if the repo is not publicly
accessible; keep NuGet badge URLs unchanged.

4 [JKToolKit.TemplatePropertyGenerator](/docs/JKToolKit.TemplatePropertyGenerator) [![Nuget](https://img.shields.io/nuget/dt/JKToolKit.TemplatePropertyGenerator?label=JKToolKit.TemplatePropertyGenerator)](https://www.nuget.org/packages/JKToolKit.TemplatePropertyGenerator/) ![GitHub Repo stars](https://img.shields.io/github/stars/JKamsker/JKToolKit.TemplatePropertyGenerator?style=social) 2024-07-17

5 [Microsoft.NET.Sdk.Razor.SourceGenerators](/docs/Microsoft.NET.Sdk.Razor.SourceGenerators)
5 [Microsoft.NET.Sdk.Razor.SourceGenerators](/docs/Microsoft.NET.Sdk.Razor.SourceGenerators) 2023-04-16
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read the file and examine spacing around line 11
cat -n "v2/rscg_examples_site/docs/Categories/_PrimitiveTemplating.mdx" | head -20

Repository: ignatandrei/RSCG_Examples

Length of output: 2934


🏁 Script executed:

#!/bin/bash
# Read more of the file to check spacing patterns
cat -n "v2/rscg_examples_site/docs/Categories/_PrimitiveTemplating.mdx" | grep -E "^\s+[0-9]+\s+[0-9]+" | head -30

Repository: ignatandrei/RSCG_Examples

Length of output: 3831


🏁 Script executed:

#!/bin/bash
# Extract just the date portions to check alignment
cat "v2/rscg_examples_site/docs/Categories/_PrimitiveTemplating.mdx" | grep -oP '\d{4}-\d{2}-\d{2}' | head -20
# Also check the character positions of dates
python3 << 'EOF'
with open("v2/rscg_examples_site/docs/Categories/_PrimitiveTemplating.mdx", "r") as f:
    lines = f.readlines()
    for i, line in enumerate(lines[2:24], start=3):  # Lines 3-24
        if "20" in line and "-" in line:  # Check if it has a date
            date_match = line.rfind("20")  # Find position of date (all start with 20XX)
            if date_match > 0:
                print(f"Line {i}: Date starts at column {date_match + 1}")
EOF

Repository: ignatandrei/RSCG_Examples

Length of output: 580


Formatting inconsistency confirmed: extra spacing before the date on line 11.

Line 11 has three spaces before the date ( ) while other entries in the list do not. The dates are not column-aligned, so this extra spacing appears to be unintentional. All other entries have single-space or direct spacing between content and the date.

Apply this diff to standardize formatting:

-   5 [Microsoft.NET.Sdk.Razor.SourceGenerators](/docs/Microsoft.NET.Sdk.Razor.SourceGenerators)   2023-04-16
+   5 [Microsoft.NET.Sdk.Razor.SourceGenerators](/docs/Microsoft.NET.Sdk.Razor.SourceGenerators) 2023-04-16
📝 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.

Suggested change
5 [Microsoft.NET.Sdk.Razor.SourceGenerators](/docs/Microsoft.NET.Sdk.Razor.SourceGenerators) 2023-04-16
5 [Microsoft.NET.Sdk.Razor.SourceGenerators](/docs/Microsoft.NET.Sdk.Razor.SourceGenerators) 2023-04-16
🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/Categories/_PrimitiveTemplating.mdx around line
11, there is an extra three-space gap before the date on the list entry; remove
the extra spaces so the entry uses a single space (or the same spacing pattern
as the other list items) between the link/text and the date to standardize
formatting.

Comment on lines +5 to +41
1 [AssemblyVersionInfo](/docs/AssemblyVersionInfo) [![Nuget](https://img.shields.io/nuget/dt/AssemblyVersionInfo?label=AssemblyVersionInfo)](https://www.nuget.org/packages/AssemblyVersionInfo/) ![GitHub Repo stars](https://img.shields.io/github/stars/BlackWhiteYoshi/AssemblyVersionInfo?style=social) 2025-07-28
2 [AutoInvoke.Generator](/docs/AutoInvoke.Generator) [![Nuget](https://img.shields.io/nuget/dt/AutoInvoke.Generator?label=AutoInvoke.Generator)](https://www.nuget.org/packages/AutoInvoke.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/LokiMidgard/AutoInvoke.Generator?style=social) 2024-03-03
3 [AutoSpectre](/docs/AutoSpectre) [![Nuget](https://img.shields.io/nuget/dt/AutoSpectre.SourceGeneration?label=AutoSpectre.SourceGeneration)](https://www.nuget.org/packages/AutoSpectre.SourceGeneration)[![Nuget](https://img.shields.io/nuget/dt/AutoSpectre?label=AutoSpectre)](https://www.nuget.org/packages/AutoSpectre) ![GitHub Repo stars](https://img.shields.io/github/stars/jeppevammenkristensen/auto-spectre?style=social) 2024-02-24
4 [BuildInfo](/docs/BuildInfo) [![Nuget](https://img.shields.io/nuget/dt/BuildInfo?label=BuildInfo)](https://www.nuget.org/packages/BuildInfo/) ![GitHub Repo stars](https://img.shields.io/github/stars/linkdotnet/BuildInformation?style=social) 2024-01-20
5 [Credfeto.Version.Information.Generator](/docs/Credfeto.Version.Information.Generator) [![Nuget](https://img.shields.io/nuget/dt/Credfeto.Version.Information.Generator?label=Credfeto.Version.Information.Generator)](https://www.nuget.org/packages/Credfeto.Version.Information.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/credfeto/credfeto-version-constants-generator?style=social) 2024-11-05
6 [Larcanum.GitInfo](/docs/Larcanum.GitInfo) [![Nuget](https://img.shields.io/nuget/dt/Larcanum.GitInfo?label=Larcanum.GitInfo)](https://www.nuget.org/packages/Larcanum.GitInfo/) ![GitHub Repo stars](https://img.shields.io/github/stars/lord-executor/Larcanum.GitInfo?style=social) 2025-01-17
7 [LinqGen.Generator](/docs/LinqGen.Generator) [![Nuget](https://img.shields.io/nuget/dt/LinqGen.Generator?label=LinqGen.Generator)](https://www.nuget.org/packages/LinqGen.Generator/)[![Nuget](https://img.shields.io/nuget/dt/LinqGen?label=LinqGen)](https://www.nuget.org/packages/LinqGen/) ![GitHub Repo stars](https://img.shields.io/github/stars/cathei/LinqGen?style=social) 2024-03-04
8 [Pekspro.BuildInformationGenerator](/docs/Pekspro.BuildInformationGenerator) [![Nuget](https://img.shields.io/nuget/dt/Pekspro.BuildInformationGenerator?label=Pekspro.BuildInformationGenerator)](https://www.nuget.org/packages/Pekspro.BuildInformationGenerator/) ![GitHub Repo stars](https://img.shields.io/github/stars/pekspro/BuildInformationGenerator?style=social) 2024-07-19
9 [PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator) [![Nuget](https://img.shields.io/nuget/dt/PlantUmlClassDiagramGenerator.SourceGenerator?label=PlantUmlClassDiagramGenerator.SourceGenerator)](https://www.nuget.org/packages/PlantUmlClassDiagramGenerator.SourceGenerator/)[![Nuget](https://img.shields.io/nuget/dt/PlantUmlClassDiagramGenerator.Attributes?label=PlantUmlClassDiagramGenerator.Attributes)](https://www.nuget.org/packages/PlantUmlClassDiagramGenerator.Attributes/) ![GitHub Repo stars](https://img.shields.io/github/stars/pierre3/PlantUmlClassDiagramGenerator?style=social) 2024-02-20
10 [RSCG_AMS](/docs/RSCG_AMS) [![Nuget](https://img.shields.io/nuget/dt/RSCG_AMS?label=RSCG_AMS)](https://www.nuget.org/packages/RSCG_AMS/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_AMS?style=social) 2023-04-16
11 [RSCG_ExportDiagram](/docs/RSCG_ExportDiagram) [![Nuget](https://img.shields.io/nuget/dt/RSCG_ExportDiagram?label=RSCG_ExportDiagram)](https://github.com/ignatandrei/RSCG_ExportDiagram) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_ExportDiagram?style=social) 2024-08-01
12 [RSCG_FunctionsWithDI](/docs/RSCG_FunctionsWithDI) [![Nuget](https://img.shields.io/nuget/dt/RSCG_FunctionsWithDI?label=RSCG_FunctionsWithDI)](https://www.nuget.org/packages/RSCG_FunctionsWithDI/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/functionsdi?style=social) 2023-04-16
13 [RSCG_NameGenerator](/docs/RSCG_NameGenerator) [![Nuget](https://img.shields.io/nuget/dt/RSCG_NameGenerator?label=RSCG_NameGenerator)](https://www.nuget.org/packages/RSCG_NameGenerator/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/NameGenerator?style=social) 2024-08-25
14 [RSCG_TimeBombComment](/docs/RSCG_TimeBombComment) [![Nuget](https://img.shields.io/nuget/dt/RSCG_TimeBombComment?label=RSCG_TimeBombComment)](https://www.nuget.org/packages/RSCG_TimeBombComment/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_TimeBombComment?style=social) 2023-04-16
15 [RSCG_Wait](/docs/RSCG_Wait) [![Nuget](https://img.shields.io/nuget/dt/RSCG_WaitAndOptions?label=RSCG_WaitAndOptions)](https://www.nuget.org/packages/RSCG_WaitAndOptions/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_WaitAndOptions?style=social) 2024-02-21
16 [ShadowWriterProjectInfo](/docs/ShadowWriterProjectInfo) [![Nuget](https://img.shields.io/nuget/dt/ShadowWriter?label=ShadowWriter)](https://www.nuget.org/packages/ShadowWriter/) ![GitHub Repo stars](https://img.shields.io/github/stars/StefanStolz/ShadowWriter?style=social) 2025-07-27
17 [ThisAssembly](/docs/ThisAssembly) [![Nuget](https://img.shields.io/nuget/dt/ThisAssembly?label=ThisAssembly)](https://www.nuget.org/packages/ThisAssembly) ![GitHub Repo stars](https://img.shields.io/github/stars/devlooped/ThisAssembly?style=social) 2023-04-16
18 [ThisAssembly.Constants](/docs/ThisAssembly.Constants) [![Nuget](https://img.shields.io/nuget/dt/ThisAssembly.Constants?label=ThisAssembly.Constants)](https://www.nuget.org/packages/ThisAssembly.Constants/) ![GitHub Repo stars](https://img.shields.io/github/stars/devlooped/ThisAssembly?style=social) 2024-07-18
19 [ThisAssembly.Metadata](/docs/ThisAssembly.Metadata) [![Nuget](https://img.shields.io/nuget/dt/ThisAssembly.Metadata?label=ThisAssembly.Metadata)](https://www.nuget.org/packages/ThisAssembly.Metadata/) ![GitHub Repo stars](https://img.shields.io/github/stars/devlooped/ThisAssembly?style=social) 2024-07-20
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Check the current file to confirm the badge formatting
cat -n v2/rscg_examples_site/docs/Categories/EnhancementProject.md | sed -n '1,45p'

Repository: ignatandrei/RSCG_Examples

Length of output: 7001


🌐 Web query:

RSCG_ExportDiagram NuGet package ignatandrei

💡 Result:

RSCG_ExportDiagram is a NuGet package (owner: ignatandrei) for exporting diagrams of external relations from a .csproj. Current package version shown is 2024.729.2300 (last updated July 29, 2024); it targets .NET Standard 2.0. Install example:
dotnet add package RSCG_ExportDiagram --version 2024.729.2300

Details, versions, owner and project links on the NuGet page. [1]

Sources

  • NuGet: RSCG_ExportDiagram (package page with versions, owner, install instructions). [1]

Fix RSCG_ExportDiagram NuGet badge link

Line 25: The Nuget badge for RSCG_ExportDiagram currently links to GitHub (https://github.com/ignatandrei/RSCG_ExportDiagram) instead of the NuGet package. The package exists on NuGet.org (version 2024.729.2300). This is inconsistent with all other entries in the list.

Change the link target from https://github.com/ignatandrei/RSCG_ExportDiagram to https://www.nuget.org/packages/RSCG_ExportDiagram/ to match the pattern used by all other entries.

🤖 Prompt for AI Agents
v2/rscg_examples_site/docs/Categories/EnhancementProject.md around lines 25-25:
the NuGet badge for RSCG_ExportDiagram currently points to the GitHub repo URL;
update the badge link target to the NuGet package URL by replacing
https://github.com/ignatandrei/RSCG_ExportDiagram with
https://www.nuget.org/packages/RSCG_ExportDiagram/ so it matches the pattern
used by the other entries.

Comment on lines +34 to +38
{"typeStep":"text","arg": "Remember, you can download the code from here"},
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/TeCLI#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
]
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Fix invalid JSON around SpeakTest and trailing comma

SpeakTest=" " is not valid JSON (missing quotes/colon), and the last array element has a trailing comma, so this file won’t parse.

You can fix both issues like this:

-{"typeStep":"text","arg": "Remember, you can download the code from here"},
-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/TeCLI#download-example-net--c-",
-SpeakTest=" "},
-{"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/TeCLI#download-example-net--c-",
+  "SpeakTest": " "
+},
+{"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.

Suggested change
{"typeStep":"text","arg": "Remember, you can download the code from here"},
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/TeCLI#download-example-net--c-",
SpeakTest=" "},
{"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/TeCLI#download-example-net--c-",
"SpeakTest": " "
},
{"typeStep":"waitseconds","arg":"30"}
]
}
🧰 Tools
🪛 Biome (2.1.2)

[error] 35-36: Property key must be double quoted

(parse)


[error] 36-36: unexpected character =

(parse)


[error] 36-36: expected , but instead found " "

Remove " "

(parse)


[error] 36-36: expected : but instead found }

Remove }

(parse)


[error] 37-38: Expected an array, an object, or a literal but instead found ']'.

Expected an array, an object, or a literal here.

(parse)

🤖 Prompt for AI Agents
In v2/rscg_examples/TeCLI/video.json around lines 34 to 38, the JSON is invalid
because SpeakTest is written as SpeakTest=" " (missing a property name/value
separator and proper quotes) and there's a trailing comma after the last array
element; fix by changing the token to a valid key/value pair "SpeakTest": " "
and remove the trailing comma so the array/item list is properly comma-separated
and the JSON parses.

Copy link
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

This pull request adds TeCLI as the 238th Roslyn Source Code Generator example to the RSCG Examples repository. TeCLI is a source-generated CLI parsing library that simplifies command-line interface development using Roslyn source generators and attributes.

Key changes:

  • Added comprehensive TeCLI example with source code, documentation, and metadata
  • Updated all count references from 237 to 238 examples throughout the repository
  • Enhanced category display templates to show NuGet downloads, GitHub stars, and generation dates

Reviewed changes

Copilot reviewed 105 out of 107 changed files in this pull request and generated no comments.

Show a summary per file
File Description
v2/rscg_examples_site/docs/RSCG-Examples/TeCLI.md New comprehensive documentation page for TeCLI with usage examples and generated code
v2/rscg_examples/TeCLI/src/* New example project demonstrating TeCLI command-line parsing functionality
v2/rscg_examples_site/docs/indexRSCG.md Updated list count and added TeCLI entry at position 238
v2/rscg_examples_site/docs/Categories/CommandLine.md Updated CommandLine category to include TeCLI (4 generators)
v2/Generator/CategoryDisplay.cshtml Enhanced template to display NuGet downloads, GitHub stars, and dates
v2/Generator/InTheSameCategory.cshtml Enhanced template with metadata display
v2/Generator/MultiGeneratorV2.cs Added text replacements for TeCLI-specific README links
v2/RSCGExamplesData/GeneratorDataRec.json Added TeCLI metadata entry
v2/rscg_examples_site/static/exports/* Updated export files (JSON, Excel) with new entry
Multiple category files Enhanced all category pages with NuGet/GitHub metadata display

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

@ignatandrei ignatandrei merged commit 00d5b11 into main Nov 28, 2025
8 of 10 checks passed
@ignatandrei ignatandrei deleted the 419-httpsgithubcomtyevcotecliissues14event-21057085915 branch November 28, 2025 17:08
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.

https://github.com/tyevco/TeCLI/issues/14#event-21057085915

2 participants