Skip to content

Conversation

@ignatandrei
Copy link
Owner

@ignatandrei ignatandrei commented Dec 11, 2025

Summary by CodeRabbit

  • New Features

    • Added BoolParameterGenerator as the 244th example and introduced a new "Bool" category.
  • Documentation

    • Added comprehensive docs, readme, example page, guided tour and tutorial assets for the new generator.
    • Updated site listings, exports and UI text to reflect 244 examples.
    • Updated "Latest Update" date to December 11, 2025.
  • Samples

    • Added a demo project and walkthrough to showcase usage.

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

Introduces a new example for BoolParameterGenerator, including solution, project, and demo files. Demonstrates usage of the generator to create boolean enum types in a .NET 9.0 console application.
Introduces a new example for BoolParameterGenerator, including solution, project, and demo files. Demonstrates usage of the generator to create boolean enum types in a .NET 9.0 console application.
@coderabbitai
Copy link

coderabbitai bot commented Dec 11, 2025

Walkthrough

This PR adds BoolParameterGenerator as the 244th RSCG example: it introduces a new Bool category enum member, adds example project files and generator metadata, updates catalog/data files and site documentation, and tweaks a README path rewrite in MultiGeneratorV2.

Changes

Cohort / File(s) Summary
Core Data & Enumerations
v2/GeneratorData/Category.cs, v2/RSCGExamplesData/GeneratorDataRec.json
Added Bool = 43 to Category enum; appended BoolParameterGenerator record (Category 43, dtStart 2025-12-11, show=true) to GeneratorDataRec.json.
Example Project & Source
v2/rscg_examples/BoolParameterGenerator/src/{BoolDemo.sln, BoolDemo/BoolDemo.csproj, BoolDemo/IsValid.cs, BoolDemo/Program.cs}
Added a demo solution/project that references BoolParameterGenerator v0.5.0, a partial IsValid class annotated with [GenerateBinaryEnum(...)], and a simple Program printing IsValid.TrueValue.
Generator README & Metadata
v2/rscg_examples/BoolParameterGenerator/{description.json, nuget.txt, readme.txt}, v2/rscg_examples/BoolParameterGenerator/src/.tours/BoolParameterGenerator.tour, v2/rscg_examples/BoolParameterGenerator/video.json
Added description/metadata JSON, NuGet note, comprehensive README, CodeTour steps, and a video/tutorial script describing usage and generated artifacts.
Book / Offline Docs
v2/book/examples/BoolParameterGenerator.html, v2/book/list.html, v2/book/pandocHTML.yaml
Added example HTML page; updated list.html to 244 and inserted new row; updated pandoc input files to include BoolParameterGenerator.html (removed RSCG_MCP2File.html).
Website Content & Exports
v2/rscg_examples_site/docs/{RSCG-Examples/BoolParameterGenerator.md, RSCG-Examples/index.md, indexRSCG.md, about.md}, v2/rscg_examples_site/docs/Authors/Justin_Buchanan.md, v2/rscg_examples_site/docs/Categories/{Bool.md,_PrimitiveBool.mdx}, v2/rscg_examples_site/static/exports/RSCG.json, v2/rscg_examples_site/src/components/HomepageFeatures/index.js
Added detailed site doc page for BoolParameterGenerator, author and category pages/snippets; updated RSCG counts from 243→244; appended export entry in RSCG.json; updated homepage feature count; extended mermaid diagram and index rows.
Readme & Timestamps
README.md, later.md
Updated example count 243→244 and "Latest Update" timestamps to 2025-12-11.
Generator tooling tweak
v2/Generator/MultiGeneratorV2.cs
Added targeted README path replacement to prefix (./BoolParameterGenerator.Github.Example/ with ({Generator.Source}/BoolParameterGenerator.Github.Example/ during GrabReadMe processing.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Focus review on:
    • v2/GeneratorData/Category.cs (inserting Bool=43 and trailing comma)
    • v2/RSCGExamplesData/GeneratorDataRec.json and v2/rscg_examples_site/static/exports/RSCG.json (JSON syntax/fields)
    • Example project files (BoolDemo.csproj, IsValid.cs, Program.cs) and attribute usage consistency with the generator API
    • v2/Generator/MultiGeneratorV2.cs string-replacement correctness and unintended side effects
    • Site/documentation links and pandoc input list coherence

Possibly related PRs

  • start demo #395 — also modifies v2/Generator/MultiGeneratorV2.cs to add README/path replacement logic (related change-set for GrabReadMe).
  • validly #414 — adds another Category enum member (Validator) in v2/GeneratorData/Category.cs (potential enum merge conflicts).
  • Add XmlCommentGenerator example and documentation #429 — adjusts README/path normalization in MultiGeneratorV2.cs (similar intent to the path rewrite added here).

Poem

🐰 I hopped through files, tidy and spry,

A Bool was added — now count’s two-four-four, oh my!
Docs and demos planted neat in a row,
Parameters clearer, so code can glow. ✨

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 'Add BoolParameterGenerator demo project' accurately reflects the main change: adding a comprehensive demo project for BoolParameterGenerator, including source code, documentation, configuration files, and examples.
✨ 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 BoolEnum

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

🧹 Nitpick comments (4)
v2/rscg_examples_site/docs/Categories/Bool.md (1)

1-6: Consider adding a newline at end of file.

The Bool category documentation is correctly structured and formatted. However, the file is missing a trailing newline, which is a common convention and may be flagged by some linters.

Add a newline at the end of the file:

         1 [BoolParameterGenerator](/docs/BoolParameterGenerator) [![Nuget](https://img.shields.io/nuget/dt/BoolParameterGenerator?label=BoolParameterGenerator)](https://www.nuget.org/packages/BoolParameterGenerator/) ![GitHub Repo stars](https://img.shields.io/github/stars/9swampy/BoolEnumGenerator?style=social) 2025-12-11
         
+
v2/GeneratorData/Category.cs (1)

47-48: Bool enum member is consistent with existing numeric scheme

Bool = 43 correctly follows MCP = 42 and preserves the sequential integer mapping used throughout the enum. Just ensure any exhaustive switches or category-based filters elsewhere are updated to handle the new Category.Bool value where appropriate.

v2/rscg_examples/BoolParameterGenerator/description.json (1)

1-22: Metadata JSON looks correct; consider empty arrays instead of [""]

The schema and values (name, NuGet URL, GitHub link, demo files) look consistent with other generators. For clarity, you might prefer [] over [""] for excludeDirectoryGenerated and includeAdditionalFiles, unless the pipeline specifically relies on an empty string sentinel.

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

51-205: Content duplication with readme.txt and minor consistency issues.

Lines 54-203 duplicate nearly all content from v2/rscg_examples/BoolParameterGenerator/readme.txt. While duplication for documentation pages is common, ensure both files are kept in sync when updates occur. Additionally, the same grammar/spelling issues flagged in readme.txt (e.g., "Work-In-Progres" on line 171) are present here and should be corrected.

Consider establishing a single source of truth for the extended documentation (either the readme.txt or a shared include), and applying the same corrections to both files. For now, apply the spelling fix identified in the readme.txt review to line 171 of this file as well.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 307842a and 2fecce4.

⛔ Files ignored due to path filters (2)
  • v2/Generator/all.csv is excluded by !**/*.csv
  • v2/rscg_examples_site/static/sources/BoolParameterGenerator.zip is excluded by !**/*.zip
📒 Files selected for processing (25)
  • README.md (2 hunks)
  • later.md (1 hunks)
  • v2/GeneratorData/Category.cs (1 hunks)
  • v2/RSCGExamplesData/GeneratorDataRec.json (1 hunks)
  • v2/book/examples/BoolParameterGenerator.html (1 hunks)
  • v2/book/list.html (2 hunks)
  • v2/book/pandocHTML.yaml (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/description.json (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/nuget.txt (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/readme.txt (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/src/.tours/BoolParameterGenerator.tour (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/src/BoolDemo.sln (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/src/BoolDemo/BoolDemo.csproj (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/src/BoolDemo/IsValid.cs (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/src/BoolDemo/Program.cs (1 hunks)
  • v2/rscg_examples/BoolParameterGenerator/video.json (1 hunks)
  • v2/rscg_examples_site/docs/Authors/Justin_Buchanan.md (1 hunks)
  • v2/rscg_examples_site/docs/Categories/Bool.md (1 hunks)
  • v2/rscg_examples_site/docs/Categories/_PrimitiveBool.mdx (1 hunks)
  • v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md (1 hunks)
  • v2/rscg_examples_site/docs/RSCG-Examples/index.md (3 hunks)
  • v2/rscg_examples_site/docs/about.md (1 hunks)
  • v2/rscg_examples_site/docs/indexRSCG.md (2 hunks)
  • v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1 hunks)
  • v2/rscg_examples_site/static/exports/RSCG.json (1 hunks)
🧰 Additional context used
🪛 Biome (2.1.2)
v2/rscg_examples/BoolParameterGenerator/video.json

[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)

🪛 LanguageTool
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md

[grammar] ~171-~171: Ensure spelling is correct
Context: ...hoose one type attribute over the other atm. Under the hood the implementation is q...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~171-~171: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...um could prove advantageous; especially with respect to extending to a tri-state "boolean". Thi...

(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)


[style] ~171-~171: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...is is a Work-In-Progres and we would be very happy to receive feedback on useCases that ma...

(EN_WEAK_ADJECTIVE)

v2/rscg_examples/BoolParameterGenerator/readme.txt

[grammar] ~118-~118: Ensure spelling is correct
Context: ...hoose one type attribute over the other atm. Under the hood the implementation is q...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~118-~118: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...um could prove advantageous; especially with respect to extending to a tri-state "boolean". Thi...

(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)


[style] ~118-~118: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...is is a Work-In-Progres and we would be very happy to receive feedback on useCases that ma...

(EN_WEAK_ADJECTIVE)

🪛 markdownlint-cli2 (0.18.1)
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md

36-36: Bare URL used

(MD034, no-bare-urls)


39-39: Bare URL used

(MD034, no-bare-urls)


41-41: Bare URL used

(MD034, no-bare-urls)


233-233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


234-234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


235-235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


236-236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


237-237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


238-238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


239-239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


288-288: No space after hash on atx style heading

(MD018, no-missing-space-atx)


353-353: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


371-371: Spaces inside link text

(MD039, no-space-in-links)


385-385: Bare URL used

(MD034, no-bare-urls)

v2/rscg_examples_site/docs/indexRSCG.md

23-23: Spaces inside link text

(MD039, no-space-in-links)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: call-workflow-passing-data / build (24.3.0)
🔇 Additional comments (23)
later.md (1)

3-3: LGTM!

Date update is consistent with the BoolParameterGenerator addition.

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

9-9: LGTM!

Count updated to 244 to reflect the new BoolParameterGenerator addition.

v2/rscg_examples_site/docs/Authors/Justin_Buchanan.md (1)

1-7: LGTM!

New author entry for Justin Buchanan with appropriate metadata, badges, and date. The format is consistent with the project's documentation conventions.

v2/rscg_examples_site/docs/Categories/_PrimitiveBool.mdx (1)

1-7: LGTM!

New category snippet for "Bool" with proper generator listing, badges, and category link.

v2/book/examples/BoolParameterGenerator.html (1)

1-64: LGTM!

Well-structured HTML documentation page following the established pattern. Contains appropriate sections for info, about, usage instructions, and links to code/generated files.

v2/rscg_examples/BoolParameterGenerator/src/BoolDemo/IsValid.cs (1)

5-9: LGTM!

Clean demo showcasing GenerateBinaryEnum attribute usage. The commented alternative (GenerateBoolEnum) serves as helpful documentation for users exploring different options.

v2/rscg_examples/BoolParameterGenerator/src/BoolDemo/Program.cs (1)

1-3: LGTM!

Simple and effective demo entry point that showcases the BoolParameterGenerator's generated IsValid.TrueValue member.

v2/rscg_examples/BoolParameterGenerator/src/.tours/BoolParameterGenerator.tour (1)

1-42: LGTM!

The CodeTour file provides clear step-by-step navigation through the BoolParameterGenerator example, correctly referencing the project files and generated outputs.

v2/rscg_examples/BoolParameterGenerator/src/BoolDemo.sln (1)

1-25: LGTM!

Standard Visual Studio solution file correctly configured for the BoolDemo project.

v2/rscg_examples/BoolParameterGenerator/src/BoolDemo/BoolDemo.csproj (1)

1-16: LGTM!

Project configuration correctly sets up the BoolParameterGenerator demo with compiler-generated files output enabled for visibility. BoolParameterGenerator version 0.5.0 is valid and available on NuGet.

v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1)

7-7: LGTM! Count updated correctly.

The example count has been properly incremented to reflect the addition of BoolParameterGenerator as the 244th RSCG entry.

v2/rscg_examples_site/docs/RSCG-Examples/index.md (3)

3-4: LGTM! Metadata updated correctly.

The page title and description have been properly updated to reflect 244 total examples.


172-182: LGTM! Bool category added correctly.

The new Bool category section follows the established pattern with proper formatting, collapsible block, and link to BoolParameterGenerator.


1583-1584: LGTM! Mermaid diagram updated.

The flowchart correctly includes the new Bool→BoolParameterGenerator relationship, maintaining consistency with the text listing.

v2/book/list.html (2)

20-20: LGTM! Header count updated.

The list header correctly reflects the new total of 244 RSCG examples.


1001-1004: LGTM! New table row added correctly.

The BoolParameterGenerator entry follows the established HTML table structure with proper numbering (244), link, and formatting.

v2/book/pandocHTML.yaml (1)

260-260: LGTM! Input file added for Pandoc HTML generation.

The BoolParameterGenerator.html entry has been correctly added to the input-files list for document generation.

v2/rscg_examples/BoolParameterGenerator/nuget.txt (1)

1-3: LGTM! Clear and concise documentation.

The NuGet description accurately summarizes the purpose of BoolParameterGenerator and appropriately references the README for detailed usage information.

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

10-12: LGTM! Count metadata updated correctly.

The document header and description properly reflect the addition of the 244th RSCG example.

v2/RSCGExamplesData/GeneratorDataRec.json (1)

1475-1481: Category 43 (Bool) is correctly defined in the Category enum.

The BoolParameterGenerator entry in GeneratorDataRec.json is properly formatted and uses the correct category value. Verification confirms that Bool=43 is explicitly defined in v2/GeneratorData/Category.cs (line 48).

README.md (1)

1-3: BoolParameterGenerator entry and global metadata are consistent

The bump to 244 items, the new latest-update date, the added bool category link, and the new “244. BoolParameterGenerator” section all line up correctly (numbering, dates, links, and author/description formatting match the surrounding conventions). No functional or structural issues spotted here.

Also applies to: 7-7, 15-15, 27-27, 29-52

v2/rscg_examples_site/static/exports/RSCG.json (1)

1949-1956: JSON entry structure and data are well-formed.

The new BoolParameterGenerator entry is correctly formatted, includes all required fields with consistent formatting, and maintains data integrity with the existing catalog structure.

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

371-371: Remove extra spaces in link text.

Line 371 contains double spaces in the link text: "[Download Example (.NET C#)]" should be "[Download Example (.NET C#)]".

-[Download Example (.NET  C#) ](/sources/BoolParameterGenerator.zip)
+[Download Example (.NET C#)](/sources/BoolParameterGenerator.zip)

Likely an incorrect or invalid review comment.


| No | Name | Date | Category |
| --------- | ----- | ---- | -------- |
|244| [BoolParameterGenerator by Justin Buchanan ](/docs/BoolParameterGenerator)|2025-12-11 => 11 December 2025 | [Bool](/docs/Categories/Bool) |
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 in link text.

There's an extra space before the closing bracket in the author name link, which violates markdown best practices (MD039).

Apply this diff to remove the trailing space:

-|244| [BoolParameterGenerator by Justin Buchanan ](/docs/BoolParameterGenerator)|2025-12-11 => 11 December 2025 | [Bool](/docs/Categories/Bool) |
+|244| [BoolParameterGenerator by Justin Buchanan](/docs/BoolParameterGenerator)|2025-12-11 => 11 December 2025 | [Bool](/docs/Categories/Bool) |
📝 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
|244| [BoolParameterGenerator by Justin Buchanan ](/docs/BoolParameterGenerator)|2025-12-11 => 11 December 2025 | [Bool](/docs/Categories/Bool) |
|244| [BoolParameterGenerator by Justin Buchanan](/docs/BoolParameterGenerator)|2025-12-11 => 11 December 2025 | [Bool](/docs/Categories/Bool) |
🧰 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 around line 23, the author link text
contains a trailing space before the closing bracket ("[BoolParameterGenerator
by Justin Buchanan ]"); remove the extra space so the link reads
"[BoolParameterGenerator by Justin Buchanan]" and save the file, ensuring no
other surrounding whitespace or markdown syntax is changed.

Comment on lines +233 to +239
<PropertyGroup>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
<CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BoolParameterGenerator" Version="0.5.0" />
</ItemGroup>
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

Replace hard tabs with spaces in XML code block.

Lines 233-239 use hard tab characters (shown as indentation in the XML csproj content) instead of spaces. Markdown linters and many editors expect consistent spacing.

Apply this diff to use spaces consistently:

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
- 	<PropertyGroup>
- 		<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
- 		<CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath>
- 	</PropertyGroup>
- 	<ItemGroup>
- 	  <PackageReference Include="BoolParameterGenerator" Version="0.5.0" />
- 	</ItemGroup>
+ <PropertyGroup>
+   <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
+   <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath>
+ </PropertyGroup>
+ <ItemGroup>
+   <PackageReference Include="BoolParameterGenerator" Version="0.5.0" />
+ </ItemGroup>

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

233-233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


234-234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


235-235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


236-236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


237-237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


238-238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


239-239: Hard tabs
Column: 1

(MD010, no-hard-tabs)

🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md around
lines 233 to 239 there are hard tab characters used to indent the XML snippet;
replace each hard tab with consistent spaces (e.g., 2 or 4 spaces per indent
level) so the <PropertyGroup> and <ItemGroup> XML lines and their children are
indented using spaces only, and ensure the resulting Markdown code block
contains no tab characters.

Comment on lines +284 to +353
<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\BoolParameterGenerator\src\BoolDemo\obj\GX\BoolParameterGenerator\PrimS.BoolParameterGenerator.BinaryEnumGenerator\IsValid.g.cs" label="IsValid.g.cs" >
```csharp showLineNumbers
namespace BoolDemo;

#nullable enable

using System;
using PrimS.BoolParameterGenerator;

public partial class IsValid : SmartEnumWrapper<IsValid, BinaryEnum>, IEquatable<BinaryEnum>, IComparable<BinaryEnum>, IEquatable<BinaryEnumWrapper<IsValid, BinaryEnum>>, IComparable<BinaryEnumWrapper<IsValid, BinaryEnum>>
{
public static readonly IsValid FalseValue = new IsValid(nameof(FalseValue), BinaryEnum.False);
public static readonly IsValid TrueValue = new IsValid(nameof(TrueValue), BinaryEnum.True);

public bool BoolValue => ProxyValue == BinaryEnum.True;

public static IsValid FromValue(BinaryEnum value) => value switch
{
BinaryEnum.False => FalseValue,
BinaryEnum.True => TrueValue,
_ => throw new ArgumentOutOfRangeException(nameof(value), value, "Unhandled value for IsValid")
};

public static IsValid FromValue(bool value) => value switch
{
false => FalseValue,
true => TrueValue
};

private IsValid(string name, BinaryEnum value) : base(name, value)
\{ }

public static implicit operator bool(IsValid value)
{
return value.Value == BinaryEnum.True;
}

public static implicit operator IsValid(bool value) => value ? TrueValue : FalseValue;

public static bool operator ==(IsValid left, IsValid right) => left.Value.Value == right.Value.Value;

public static bool operator ==(IsValid left, bool right) => left.Value == (right ? BinaryEnum.True : BinaryEnum.False);

public static bool operator ==(IsValid left, int right) => (int)left.Value.Value == right;

public static bool operator ==(bool left, IsValid right) => (left ? 1 : 0) == (int)right.Value.Value;

public static bool operator !=(IsValid left, IsValid right) => left.Value.Value != right.Value.Value;

public static bool operator !=(IsValid left, bool right) => (int)left.Value.Value != (right ? 1 : 0);

public static bool operator !=(IsValid left, int right) => (int)left.Value.Value != right;

public static bool operator !=(bool left, IsValid right) => (left ? 1 : 0) != (int)right.Value.Value;

public static implicit operator IsValid(BinaryEnum value) => IsValid.FromValue(value);

public override bool Equals(object obj) => obj is IsValid other && this == other;

public override int GetHashCode() => Value.GetHashCode();

public bool Equals(BinaryEnum other) => Equals(FromValue(other));

public int CompareTo(BinaryEnum other) => CompareTo(FromValue(other));

public int CompareTo(BinaryEnumWrapper<IsValid, BinaryEnum>? other) => Value.CompareTo(other?.Value);

public bool Equals(BinaryEnumWrapper<IsValid, BinaryEnum>? other) => Value.Equals(other?.Value);
}
```
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

Specify language identifier for fenced code block at line 284.

The generated code block starting at line 284 is missing a language identifier. Add "csharp" to the opening fence for proper syntax highlighting.

-<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\BoolParameterGenerator\src\BoolDemo\obj\GX\BoolParameterGenerator\PrimS.BoolParameterGenerator.BinaryEnumGenerator\IsValid.g.cs" label="IsValid.g.cs" >
-```csharp showLineNumbers 

Change the opening fence at line 285 to:

-```csharp showLineNumbers
+```csharp showLineNumbers

(Ensure "csharp" is present—it appears to already be there in the provided code, so this may be a documentation artifact.)

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

288-288: No space after hash on atx style heading

(MD018, no-missing-space-atx)


353-353: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md lines
284-353: the fenced code block opening at line ~285 lacks an explicit "csharp"
language identifier for proper syntax highlighting; edit the opening fence so it
reads exactly ```csharp showLineNumbers (i.e. replace the current opening fence
with ```csharp showLineNumbers) and ensure there is a matching closing ``` after
the block.


Although the attributes (`GenerateBinaryEnum`, `GenerateBoolEnum`) are defined in a separate package `BoolParameterGenerator.Shared`, you do **not** need to reference it manually — it is installed transitively.

There isn't much to choose one type attribute over the other atm. Under the hood the implementation is quite different and we expect the BinaryEnum could prove advantageous; especially with respect to extending to a tri-state "boolean". This is a Work-In-Progres and we would be very happy to receive feedback on useCases that may deviate in interesting ways from our own expectations...
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

Fix misspelling and improve informal language.

Line 118 contains "Work-In-Progres" which should be "Work-In-Progress" (missing final 's'). Additionally, the abbreviation "atm" should be spelled out as "at the moment" for a professional documentation tone.

Apply this diff to fix the issues:

-There isn't much to choose one type attribute over the other atm. Under the hood the implementation is quite different and we expect the BinaryEnum could prove advantageous; especially with respect to extending to a tri-state "boolean". This is a Work-In-Progres and we would be very happy to receive feedback on useCases that may deviate in interesting ways from our own expectations...
+There isn't much to choose between the two type attributes. Under the hood the implementation is quite different, and we expect the BinaryEnum could prove advantageous, especially for extending to a tri-state "boolean". This is a Work-In-Progress and we would appreciate feedback on use cases that deviate from our expectations...
📝 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
There isn't much to choose one type attribute over the other atm. Under the hood the implementation is quite different and we expect the BinaryEnum could prove advantageous; especially with respect to extending to a tri-state "boolean". This is a Work-In-Progres and we would be very happy to receive feedback on useCases that may deviate in interesting ways from our own expectations...
There isn't much to choose between the two type attributes. Under the hood the implementation is quite different, and we expect the BinaryEnum could prove advantageous, especially for extending to a tri-state "boolean". This is a Work-In-Progress and we would appreciate feedback on use cases that deviate from our expectations...
🧰 Tools
🪛 LanguageTool

[grammar] ~118-~118: Ensure spelling is correct
Context: ...hoose one type attribute over the other atm. Under the hood the implementation is q...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~118-~118: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...um could prove advantageous; especially with respect to extending to a tri-state "boolean". Thi...

(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)


[style] ~118-~118: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...is is a Work-In-Progres and we would be very happy to receive feedback on useCases that ma...

(EN_WEAK_ADJECTIVE)

🤖 Prompt for AI Agents
In v2/rscg_examples/BoolParameterGenerator/readme.txt around line 118, fix the
typos and tone: replace "atm" with "at the moment" and correct "Work-In-Progres"
to "Work-In-Progress", and adjust surrounding wording to maintain a professional
tone (e.g., "This is a Work-In-Progress and we would welcome feedback on use
cases that may differ from our expectations").

Comment on lines +35 to +38
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator#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.

The static analysis correctly identified multiple JSON syntax issues:

  1. Line 36: SpeakTest must be double-quoted and use : instead of =
  2. Line 38: Trailing comma before ] is invalid JSON

Apply this diff to fix the JSON syntax:

 {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator#download-example-net--c-",
-SpeakTest=" "},
+"SpeakTest": " "},
 {"typeStep":"waitseconds","arg":"30"},
-]
+]

Or if the trailing comma on line 37 before the closing bracket is intentional to allow easy additions, the last step should not have a trailing comma:

-{"typeStep":"waitseconds","arg":"30"},
+{"typeStep":"waitseconds","arg":"30"}
 ]
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
]
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator#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/BoolParameterGenerator/video.json around lines 35 to 38, the
JSON contains syntax errors: change SpeakTest=" " to a proper key/value pair
with double quotes and a colon ("SpeakTest": " "), and remove the trailing comma
after the final object before the closing ] so the array ends with the last
object without a comma.

@ignatandrei ignatandrei merged commit 7622448 into main Dec 11, 2025
2 of 3 checks passed
@ignatandrei ignatandrei deleted the BoolEnum branch December 11, 2025 05:21
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: 0

♻️ Duplicate comments (2)
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md (2)

35-41: Replace remaining bare URLs with proper markdown links.

You still have raw URLs here, which keeps triggering MD034 and is inconsistent with the rest of the page that already uses badges/links:

  • Line 36: *https://www.nuget.org/packages/BoolParameterGenerator/*
  • Line 39: https://github.com/9swampy/BoolEnumGenerator
  • Line 41: Source: https://github.com/9swampy/BoolEnumGenerator
  • Line 385: https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator

Consider something along:

- NuGet: 
-*https://www.nuget.org/packages/BoolParameterGenerator/*   
+NuGet:  
+[https://www.nuget.org/packages/BoolParameterGenerator/](https://www.nuget.org/packages/BoolParameterGenerator/)

-You can find more details at https://github.com/9swampy/BoolEnumGenerator
+You can find more details at [github.com/9swampy/BoolEnumGenerator](https://github.com/9swampy/BoolEnumGenerator)

-Source: https://github.com/9swampy/BoolEnumGenerator
+Source: [https://github.com/9swampy/BoolEnumGenerator](https://github.com/9swampy/BoolEnumGenerator)

-https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator
+[https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/BoolParameterGenerator)

This keeps the text the same but satisfies markdownlint and improves consistency.

Also applies to: 385-385


223-240: Replace hard tabs in XML snippet with spaces for consistent indentation.

The <PropertyGroup> / <ItemGroup> block still uses hard tabs, which markdownlint (MD010) complains about and which stands out compared to the space-indented lines above.

You can normalize it to spaces like:

-  </PropertyGroup>
-	<PropertyGroup>
-		<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
-		<CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath>
-	</PropertyGroup>
-	<ItemGroup>
-	  <PackageReference Include="BoolParameterGenerator" Version="0.5.0" />
-	</ItemGroup>
+  </PropertyGroup>
+  <PropertyGroup>
+    <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
+    <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="BoolParameterGenerator" Version="0.5.0" />
+  </ItemGroup>

This keeps the example unchanged semantically while fixing the lint warning.

🧹 Nitpick comments (1)
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md (1)

369-373: Remove extra space inside link text to satisfy MD039.

The download link text has a trailing space inside the brackets:

[Download Example project BoolParameterGenerator ](/sources/BoolParameterGenerator.zip)

Tighten it to:

-[Download Example project BoolParameterGenerator ](/sources/BoolParameterGenerator.zip)
+[Download Example project BoolParameterGenerator](/sources/BoolParameterGenerator.zip)

Small cleanup, but it keeps markdownlint happy and avoids odd spacing in rendered text.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2fecce4 and 34f19c1.

⛔ Files ignored due to path filters (1)
  • v2/rscg_examples_site/static/exports/RSCG.xlsx is excluded by !**/*.xlsx
📒 Files selected for processing (2)
  • v2/Generator/MultiGeneratorV2.cs (1 hunks)
  • v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md

[grammar] ~171-~171: Ensure spelling is correct
Context: ...hoose one type attribute over the other atm. Under the hood the implementation is q...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~171-~171: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...um could prove advantageous; especially with respect to extending to a tri-state "boolean". Thi...

(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)


[style] ~171-~171: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...is is a Work-In-Progres and we would be very happy to receive feedback on useCases that ma...

(EN_WEAK_ADJECTIVE)

🪛 markdownlint-cli2 (0.18.1)
v2/rscg_examples_site/docs/RSCG-Examples/BoolParameterGenerator.md

36-36: Bare URL used

(MD034, no-bare-urls)


39-39: Bare URL used

(MD034, no-bare-urls)


41-41: Bare URL used

(MD034, no-bare-urls)


233-233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


234-234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


235-235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


236-236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


237-237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


238-238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


239-239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


288-288: No space after hash on atx style heading

(MD018, no-missing-space-atx)


353-353: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


371-371: Spaces inside link text

(MD039, no-space-in-links)


385-385: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: call-workflow-passing-data / build (24.3.0)
🔇 Additional comments (1)
v2/Generator/MultiGeneratorV2.cs (1)

117-137: BoolParameterGenerator-specific path rewrite looks correct and consistent.

The new replacement for "(./BoolParameterGenerator.Github.Example/" follows the same pattern as the other README link rewrites and is guarded by the earlier source null/empty check, so it should safely fix those relative links without double-prefixing or side effects.

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.

2 participants