Skip to content

first version#444

Merged
ignatandrei merged 3 commits intomainfrom
rscg_idempotency
Jan 28, 2026
Merged

first version#444
ignatandrei merged 3 commits intomainfrom
rscg_idempotency

Conversation

@ignatandrei
Copy link
Owner

@ignatandrei ignatandrei commented Jan 28, 2026

Summary by CodeRabbit

  • New Features

    • Added RSCG_idempotency as the 252nd example generator with comprehensive documentation and usage guide.
    • Introduced new "Idempotency" category for organizing related generators.
  • Documentation

    • Updated all references and counts to reflect 252 total RSCG examples (from 251).
    • Added documentation pages, interactive tours, and example projects for the new generator.
  • Chores

    • Updated metadata and navigation links across the examples site.

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

@coderabbitai
Copy link

coderabbitai bot commented Jan 28, 2026

📝 Walkthrough

Walkthrough

This pull request introduces RSCG_idempotency as the 252nd RSCG example, adding a complete example project, metadata configuration, documentation, tour guides, and website integration across multiple documentation and data files. All changes are content-based with no functional code modifications to core logic.

Changes

Cohort / File(s) Summary
Example Project Structure
v2/rscg_examples/RSCG_idempotency/src/IdempotencyDemo.slnx, ...IdempotencyDemo.csproj, ...Program.cs, ...Purchase.cs
New C# console application demonstrating idempotent method behavior. Includes project configuration with NuGet package references (RSCG_idempotency 10.2026.127.2000, Microsoft.Extensions.Caching.Memory 10.0.2), a Purchase class with an [Idempotent]-attributed method, and Program.cs showing repeated calls with identical unique IDs.
Configuration & Metadata
v2/GeneratorData/Category.cs, v2/RSCGExamplesData/GeneratorDataRec.json, v2/rscg_examples/RSCG_idempotency/description.json, v2/rscg_examples_site/static/exports/RSCG.json
New Idempotency category enum value (45), generator metadata JSON record with timestamp 2026-01-28, descriptor JSON defining generator details and C# files, and public RSCG export catalog entry with NuGet and GitHub links.
Main Documentation Updates
README.md, later.md, v2/rscg_examples_site/docs/about.md
Updated total RSCG count from 251 to 252; refreshed "Latest Update" timestamp to 2026-01-28 across primary documentation files.
Reference & List Pages
v2/book/list.html, v2/rscg_examples_site/docs/indexRSCG.md, v2/rscg_examples_site/src/components/HomepageFeatures/index.js
Incremented RSCG total count and added RSCG_idempotency entry to example list, table of contents, and homepage feature.
Category Documentation
v2/rscg_examples_site/docs/Categories/Idempotency.md, v2/rscg_examples_site/docs/Categories/_PrimitiveIdempotency.mdx
New Idempotency category pages with links to RSCG_idempotency, NuGet badge, and GitHub stars.
Detailed Example Documentation
v2/book/examples/RSCG_idempotency.html, v2/rscg_examples_site/docs/RSCG-Examples/RSCG_idempotency.md, v2/rscg_examples/RSCG_idempotency/readme.txt
Comprehensive HTML and Markdown documentation including usage guide, caching mechanics, generated components (IdempotentAttribute, helper methods), TimeProvider integration, and end-to-end example showing original vs. generated code.
Tour & Interactive Guides
v2/.tours/RSCG_idempotency.tour, v2/rscg_examples/RSCG_idempotency/video.json, v2/book/pandocHTML.yaml
CodeTour configuration with file-level steps referencing project structure and generated files; video script defining interactive tour steps; pandoc configuration updated to include new HTML example.
Author & Navigation Updates
v2/rscg_examples_site/docs/Authors/AndreiIgnat.md, v2/rscg_examples_site/docs/Authors/Ignat_Andrei.md, v2/rscg_examples_site/docs/RSCG-Examples/index.md
Deleted AndreiIgnat.md author file; incremented Ignat_Andrei author count from 24 to 25 with RSCG_idempotency entry; updated main examples index with Idempotency section and Mermaid dependency graph.
Resource Files
v2/rscg_examples/RSCG_idempotency/nuget.txt
Short descriptor: "Automatic generating Idempotency for function parameters".

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A new generator hops into the fold,
Two-fifty-two strong, our catalog grows bold!
Idempotency locks in, no duplicates today,
With docs, demos, and tours—hip-hip-hooray! ✨

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'first version' is vague and generic, failing to describe the actual changeset which adds a new RSCG_idempotency example with comprehensive documentation and metadata. Consider using a more descriptive title such as 'Add RSCG_idempotency generator example (252nd RSCG)' or 'Add idempotency code generator example' to clearly convey the primary change.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

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: 2

🤖 Fix all issues with AI agents
In `@v2/rscg_examples_site/docs/indexRSCG.md`:
- Line 23: The link text "[RSCG_idempotency by Ignat Andrei ]" contains a
trailing space; edit the markdown entry (the table row with the link) to remove
the extra space so the link text reads "[RSCG_idempotency by Ignat Andrei]"
(update the string in the same line where the link is declared).

In `@v2/rscg_examples/RSCG_idempotency/video.json`:
- Around line 35-38: The JSON has invalid syntax in the last array items: change
the malformed key assignment SpeakTest=" " to a proper JSON key/value pair
"SpeakTest": " " (use double quotes and colon) and remove the trailing comma
after the final object so the array closes correctly (fix the objects containing
"typeStep":"browser" / "typeStep":"waitseconds" and ensure the final ']' follows
the last item without a comma).
🧹 Nitpick comments (7)
v2/rscg_examples/RSCG_idempotency/nuget.txt (1)

1-1: Optional wording polish.
Consider a small grammar/clarity tweak.

♻️ Proposed wording
-Automatic generating Idempotency for function parameters
+Automatically generating idempotency for function parameters.
v2/rscg_examples/RSCG_idempotency/src/IdempotencyDemo/IdempotencyDemo.csproj (1)

4-7: Consider adding global.json for SDK pinning.
While .NET 10 is now a stable release and widely available, the repository does not have a global.json file. This means builds depend on whatever SDK version is installed on CI/build agents, which could cause inconsistencies. Consider pinning the SDK version via global.json as a best practice, especially since multiple projects across the repo target net10.0.

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

3-5: Minor formatting inconsistency.

Line 5 has significant leading whitespace ( 1 [RSCG...) while line 3 (Number RSCG: 1) has none. This creates visual inconsistency in the rendered output. Consider aligning the formatting:

Suggested fix
 <h1>Idempotency</h1>
 
 Number RSCG: 1
 
-        1 [RSCG_idempotency](/docs/RSCG_idempotency) [![Nuget](https://img.shields.io/nuget/dt/RSCG_idempotency?label=RSCG_idempotency)](https://www.nuget.org/packages/RSCG_idempotency/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_idempotency?style=social) 2026-01-28
-        
+1 [RSCG_idempotency](/docs/RSCG_idempotency) [![Nuget](https://img.shields.io/nuget/dt/RSCG_idempotency?label=RSCG_idempotency)](https://www.nuget.org/packages/RSCG_idempotency/) ![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/RSCG_idempotency?style=social) 2026-01-28
v2/rscg_examples_site/docs/RSCG-Examples/RSCG_idempotency.md (1)

331-334: Hard tabs in XML code block (informational).

The static analysis tool flagged hard tabs in the XML code block (lines 331-334). Since this is documenting an actual .csproj file structure, this is acceptable if it matches the source. However, for consistency with other code blocks in the documentation, you may consider converting tabs to spaces.

README.md (3)

1-3: Tighten spacing in the intro sentence.

There are double spaces in “website and code example exports.”; consider normalizing to single spaces.

✏️ Suggested edit
-The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 252 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website  and code example  exports.
+The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 252 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.

15-15: Remove the trailing hyphen after the last category link.

The line ends with a dangling -, which renders as a stray character in Markdown.

✂️ Suggested edit
-...[winapi](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#winapi)  -
+...[winapi](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#winapi)

27-49: Polish the new entry description for readability.

“Automatic generating Idempotency…” reads a bit awkwardly; consider a small grammar fix.

✏️ Suggested edit
-Automatic generating Idempotency for function parameters 
+Automatically generates idempotency for function parameters


| No | Name | Date | Category |
| --------- | ----- | ---- | -------- |
|252| [RSCG_idempotency by Ignat Andrei ](/docs/RSCG_idempotency)|2026-01-28 => 28 January 2026 | [Idempotency](/docs/Categories/Idempotency) |
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

Remove trailing space inside link text.

The static analysis tool flagged a trailing space inside the link text: [RSCG_idempotency by Ignat Andrei ] should be [RSCG_idempotency by Ignat Andrei].

Suggested fix
-|252| [RSCG_idempotency by Ignat Andrei ](/docs/RSCG_idempotency)|2026-01-28 => 28 January 2026 | [Idempotency](/docs/Categories/Idempotency) |
+|252| [RSCG_idempotency by Ignat Andrei](/docs/RSCG_idempotency)|2026-01-28 => 28 January 2026 | [Idempotency](/docs/Categories/Idempotency) |
📝 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
|252| [RSCG_idempotency by Ignat Andrei ](/docs/RSCG_idempotency)|2026-01-28 => 28 January 2026 | [Idempotency](/docs/Categories/Idempotency) |
|252| [RSCG_idempotency by Ignat Andrei](/docs/RSCG_idempotency)|2026-01-28 => 28 January 2026 | [Idempotency](/docs/Categories/Idempotency) |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

23-23: Spaces inside link text

(MD039, no-space-in-links)

🤖 Prompt for AI Agents
In `@v2/rscg_examples_site/docs/indexRSCG.md` at line 23, The link text
"[RSCG_idempotency by Ignat Andrei ]" contains a trailing space; edit the
markdown entry (the table row with the link) to remove the extra space so the
link text reads "[RSCG_idempotency by Ignat Andrei]" (update the string in the
same line where the link is declared).

Comment on lines +35 to +38
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_idempotency#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 JSON syntax errors that will cause parsing failures.

The JSON file has multiple syntax errors:

  1. Line 35-36: SpeakTest=" " uses invalid syntax - keys must be double-quoted and use : not =
  2. Line 38: Trailing comma before ] is not valid JSON
🐛 Proposed fix
-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_idempotency#download-example-net--c-",
-SpeakTest=" "},
-{"typeStep":"waitseconds","arg":"30"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_idempotency#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":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_idempotency#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
]
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_idempotency#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/RSCG_idempotency/video.json` around lines 35 - 38, The JSON
has invalid syntax in the last array items: change the malformed key assignment
SpeakTest=" " to a proper JSON key/value pair "SpeakTest": " " (use double
quotes and colon) and remove the trailing comma after the final object so the
array closes correctly (fix the objects containing "typeStep":"browser" /
"typeStep":"waitseconds" and ensure the final ']' follows the last item without
a comma).

@ignatandrei ignatandrei merged commit d5d755b into main Jan 28, 2026
3 checks passed
@ignatandrei ignatandrei deleted the rscg_idempotency branch January 28, 2026 20:07
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.

1 participant