-
-
Notifications
You must be signed in to change notification settings - Fork 6
Add TeCLI RSCG example and update documentation #426
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add TeCLI RSCG example and update documentation #426
Conversation
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.
WalkthroughThis 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Areas requiring extra attention:
Possibly related PRs
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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.
Example instruction:
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. Comment |
There was a problem hiding this 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)[ [](https://www.nuget.org/packages/Mediator.SourceGenerator)[](https://www.nuget.org/packages/Mediator.Abstractions)  2023-08-02 + 3 [Mediator](/docs/Mediator) [](https://www.nuget.org/packages/Mediator.SourceGenerator) [](https://www.nuget.org/packages/Mediator.Abstractions)  2023-08-02Note: 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/SG4MVCand/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) [](https://www.nuget.org/packages/SG4MVC/)  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) [](https://www.nuget.org/packages/Mediator.SourceGenerator)[](https://www.nuget.org/packages/Mediator.Abstractions)  2023-08-02 + 3 [Mediator](/docs/Mediator) [](https://www.nuget.org/packages/Mediator.SourceGenerator) [](https://www.nuget.org/packages/Mediator.Abstractions)  2023-08-02Overall, 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 consistentThe added replacements for
(COVERAGEand(TeCLI.follow the same pattern as the existing rewrites and correctly convert relative links like(COVERAGE),(COVERAGE.md)or(TeCLI.*)into repo‑rooted links underd.Generator.Source. Given the prior null checks ond.Generator?.Source, this doesn’t introduce new nullability risks.You may eventually want unit tests around
GrabReadMeto 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 badgesThe 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) [](https://www.nuget.org/packages/FunicularSwitch.Generators/)[](https://www.nuget.org/packages/FunicularSwitch)  2024-02-12 + 5 [FunicularSwitch](/docs/FunicularSwitch) [](https://www.nuget.org/packages/FunicularSwitch.Generators/) [](https://www.nuget.org/packages/FunicularSwitch)  2024-02-12v2/Generator/CategoryDisplay.cshtml (1)
1-14: Template correctly emits badges and dates; double‑checkgeneratedDatenullabilityThe 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.generatedDateis used without a null check:@(rscgV.generatedDate.ToString("yyyy-MM-dd"))If
generatedDateis ever nullable or left at a default/uninitialized value in anyDescription, 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 adateTextstring 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 cleanupThe 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-linksrule 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 itemsMost 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) [](https://www.nuget.org/packages/RSCG_UtilityTypes/)[](https://www.nuget.org/packages/RSCG_UtilityTypesCommon)  2023-12-22 + 22 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes) [](https://www.nuget.org/packages/RSCG_UtilityTypes/) [](https://www.nuget.org/packages/RSCG_UtilityTypesCommon)  2023-12-22 @@ - 24 [StaticReflection](/docs/StaticReflection) [](https://www.nuget.org/packages/FastStaticReflection/)[](https://www.nuget.org/packages/FastStaticReflection.CodeGen/)  2023-10-13 + 24 [StaticReflection](/docs/StaticReflection) [](https://www.nuget.org/packages/FastStaticReflection/) [](https://www.nuget.org/packages/FastStaticReflection.CodeGen/)  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 todotnet/runtimewould simplify things:- 25 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices) [](https://www.nuget.org/packages/System.Runtime.InteropServices/)  2023-04-16 + 25 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices) [](https://www.nuget.org/packages/System.Runtime.InteropServices/)  2023-04-16v2/rscg_examples_site/docs/Categories/API.md (1)
5-23: Fix stars badge URL forMicrosoft.Extensions.Configuration.BinderEntry 2’s stars badge points at a
learn.microsoftpath 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) [](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/)  2023-11-18 + 2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder) [](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/)  2023-11-18v2/rscg_examples/TeCLI/description.json (1)
1-22: TeCLI description JSON is valid; a couple of tiny polish tweaksThe structure and fields look consistent with other generator descriptions. Two small readability nits you might consider:
- Remove the trailing space in the
goodForstring.- Add a space after the comma in
csFilesfor 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/includeAdditionalFilesspecially, 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 theServiceProviderto follow DI best practicesThe DI wiring is correct, but
ServiceProvideris 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 addingalttext to images for accessibilityAll screenshots use bare
<img>tags withoutaltattributes, which makes the page harder to use with screen readers.If feasible, add concise
altdescriptions 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 rulesThe MDX content is solid, but markdownlint reports a few style issues (bare URLs, hard tabs in the
csprojblock, 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.
| { | ||
| "$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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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 tourRepository: 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 -5Repository: 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.csprojRepository: 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:
-
File paths missing
v2/prefix: Tour referencesrscg_examples/TeCLI/src/ConsoleDemo/...but files are located atv2/rscg_examples/TeCLI/src/ConsoleDemo/.... CodeTour won't locate these files. -
Missing patterns:
"this is the code"does not exist inCmdForSum.csorProgram.cs. These files contain actual C# code, not this placeholder text."TeCLI"does exist inConsoleDemo.csproj(in PackageReference lines), so that one is valid.
-
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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 yamlRepository: 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 -20Repository: 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 -20Repository: 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.mdlines 24, 282: Still lists "237 Program" instead of updated positionv2/rscg_examples_site/docs/RSCG-Examples/Program.mdlines 2-3: Metadata shows position "2370" and title "237 - Program" (should reflect new numbering)README.mdline 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.
| 1 [immediate.apis](/docs/immediate.apis) [](https://www.nuget.org/packages/immediate.apis/)  2025-03-27 | ||
|
|
||
| 2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder) | ||
| 2 [Microsoft.Extensions.Configuration.Binder](/docs/Microsoft.Extensions.Configuration.Binder) [](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/)  2023-11-18 | ||
|
|
||
| 3 [MinimalApiBuilder](/docs/MinimalApiBuilder) | ||
| 3 [MinimalApiBuilder](/docs/MinimalApiBuilder) [](https://www.nuget.org/packages/MinimalApiBuilder/)  2023-10-26 | ||
|
|
||
| 4 [MinimalApis.Discovery](/docs/MinimalApis.Discovery) | ||
| 4 [MinimalApis.Discovery](/docs/MinimalApis.Discovery) [](https://www.nuget.org/packages/MinimalApis.Discovery/)  2024-04-16 | ||
|
|
||
| 5 [MinimalHelpers.Routing.Analyzers](/docs/MinimalHelpers.Routing.Analyzers) | ||
| 5 [MinimalHelpers.Routing.Analyzers](/docs/MinimalHelpers.Routing.Analyzers) [](https://www.nuget.org/packages/MinimalHelpers.Routing.Analyzers/)  2024-10-21 | ||
|
|
||
| 6 [RDG](/docs/RDG) | ||
| 6 [RDG](/docs/RDG) [](https://www.nuget.org/packages/Microsoft.Extensions.Http)  2023-11-19 | ||
|
|
||
| 7 [Refit](/docs/Refit) | ||
| 7 [Refit](/docs/Refit) [](https://www.nuget.org/packages/Refit/)  2023-07-31 | ||
|
|
||
| 8 [RSCG_WebAPIExports](/docs/RSCG_WebAPIExports) | ||
| 8 [RSCG_WebAPIExports](/docs/RSCG_WebAPIExports) [](https://www.nuget.org/packages/RSCG_WebAPIExports/)  2023-08-23 | ||
|
|
||
| 9 [SafeRouting](/docs/SafeRouting) | ||
| 9 [SafeRouting](/docs/SafeRouting) [](https://www.nuget.org/packages/SafeRouting/)  2023-09-23 | ||
|
|
||
| 10 [SkinnyControllersCommon](/docs/SkinnyControllersCommon) | ||
| 10 [SkinnyControllersCommon](/docs/SkinnyControllersCommon) [](https://www.nuget.org/packages/SkinnyControllersCommon)  2023-04-16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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 -5Repository: 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:
- GitHub: https://github.com/dotnet/extensions (configuration binder code lives under src, e.g. the Configuration-related folders). [1]
- NuGet package (Microsoft.Extensions.Configuration.Binder): https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/ (package metadata, versions, and links to source). [2]
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 URLsRepository: 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.mdxRepository: 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) [](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) 
🤖 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) [](https://www.nuget.org/packages/Benutomo.AutomaticDisposeImpl.SourceGenerator/)  2023-08-15 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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) [](https://www.nuget.org/packages/JKToolKit.TemplatePropertyGenerator/)  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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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 -20Repository: 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 -30Repository: 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}")
EOFRepository: 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.
| 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.
| 1 [AssemblyVersionInfo](/docs/AssemblyVersionInfo) [](https://www.nuget.org/packages/AssemblyVersionInfo/)  2025-07-28 | ||
| 2 [AutoInvoke.Generator](/docs/AutoInvoke.Generator) [](https://www.nuget.org/packages/AutoInvoke.Generator/)  2024-03-03 | ||
| 3 [AutoSpectre](/docs/AutoSpectre) [](https://www.nuget.org/packages/AutoSpectre.SourceGeneration)[](https://www.nuget.org/packages/AutoSpectre)  2024-02-24 | ||
| 4 [BuildInfo](/docs/BuildInfo) [](https://www.nuget.org/packages/BuildInfo/)  2024-01-20 | ||
| 5 [Credfeto.Version.Information.Generator](/docs/Credfeto.Version.Information.Generator) [](https://www.nuget.org/packages/Credfeto.Version.Information.Generator/)  2024-11-05 | ||
| 6 [Larcanum.GitInfo](/docs/Larcanum.GitInfo) [](https://www.nuget.org/packages/Larcanum.GitInfo/)  2025-01-17 | ||
| 7 [LinqGen.Generator](/docs/LinqGen.Generator) [](https://www.nuget.org/packages/LinqGen.Generator/)[](https://www.nuget.org/packages/LinqGen/)  2024-03-04 | ||
| 8 [Pekspro.BuildInformationGenerator](/docs/Pekspro.BuildInformationGenerator) [](https://www.nuget.org/packages/Pekspro.BuildInformationGenerator/)  2024-07-19 | ||
| 9 [PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator) [](https://www.nuget.org/packages/PlantUmlClassDiagramGenerator.SourceGenerator/)[](https://www.nuget.org/packages/PlantUmlClassDiagramGenerator.Attributes/)  2024-02-20 | ||
| 10 [RSCG_AMS](/docs/RSCG_AMS) [](https://www.nuget.org/packages/RSCG_AMS/)  2023-04-16 | ||
| 11 [RSCG_ExportDiagram](/docs/RSCG_ExportDiagram) [](https://github.com/ignatandrei/RSCG_ExportDiagram)  2024-08-01 | ||
| 12 [RSCG_FunctionsWithDI](/docs/RSCG_FunctionsWithDI) [](https://www.nuget.org/packages/RSCG_FunctionsWithDI/)  2023-04-16 | ||
| 13 [RSCG_NameGenerator](/docs/RSCG_NameGenerator) [](https://www.nuget.org/packages/RSCG_NameGenerator/)  2024-08-25 | ||
| 14 [RSCG_TimeBombComment](/docs/RSCG_TimeBombComment) [](https://www.nuget.org/packages/RSCG_TimeBombComment/)  2023-04-16 | ||
| 15 [RSCG_Wait](/docs/RSCG_Wait) [](https://www.nuget.org/packages/RSCG_WaitAndOptions/)  2024-02-21 | ||
| 16 [ShadowWriterProjectInfo](/docs/ShadowWriterProjectInfo) [](https://www.nuget.org/packages/ShadowWriter/)  2025-07-27 | ||
| 17 [ThisAssembly](/docs/ThisAssembly) [](https://www.nuget.org/packages/ThisAssembly)  2023-04-16 | ||
| 18 [ThisAssembly.Constants](/docs/ThisAssembly.Constants) [](https://www.nuget.org/packages/ThisAssembly.Constants/)  2024-07-18 | ||
| 19 [ThisAssembly.Metadata](/docs/ThisAssembly.Metadata) [](https://www.nuget.org/packages/ThisAssembly.Metadata/)  2024-07-20 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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.
| {"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"}, | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| {"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.
There was a problem hiding this 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.
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
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.