Skip to content

first iteration#507

Merged
ignatandrei merged 6 commits into
mainfrom
506-httpsgithubcomraffinertalephmapper
Jun 30, 2026
Merged

first iteration#507
ignatandrei merged 6 commits into
mainfrom
506-httpsgithubcomraffinertalephmapper

Conversation

@ignatandrei

@ignatandrei ignatandrei commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added a new AlephMapper example across the documentation site, including its dedicated page, metadata, and downloadable demo/project assets with a guided walkthrough.
  • Documentation

    • Updated “latest update” dates and refreshed counts across multiple catalog pages to reflect 272 total entries.
    • Expanded site category listings, exports, and search/index metadata to include AlephMapper, including updates to related diagrams and tables.

Copilot AI review requested due to automatic review settings June 29, 2026 07:53
@ignatandrei ignatandrei linked an issue Jun 29, 2026 that may be closed by this pull request
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds AlephMapper as the 272nd RSCG example, with a new EF Core demo project, example documentation, and site/catalog entries. The README and related counters are updated to show 272 examples and the 2026-06-29 date.

Changes

AlephMapper Example #272

Layer / File(s) Summary
EntityDemo project source and EF Core model
v2/rscg_examples/AlephMapper/src/EntityDemo.sln, v2/rscg_examples/AlephMapper/src/EntityDemo/EntityDemo.csproj, v2/rscg_examples/AlephMapper/src/EntityDemo/globals.cs, v2/rscg_examples/AlephMapper/src/EntityDemo/Project.cs, v2/rscg_examples/AlephMapper/src/EntityDemo/Star.cs, v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectDTO.cs, v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectExtensions.cs, v2/rscg_examples/AlephMapper/src/EntityDemo/DotNetStatsContext.cs, v2/rscg_examples/AlephMapper/src/EntityDemo/Program.cs
Adds the EntityDemo solution and project with EF Core entities, a DbContext, a DTO, a mapping helper annotated with AlephMapper.Expressive, and a console entry point that runs the projection query.
AlephMapper metadata, readme, tour, and video config
v2/rscg_examples/AlephMapper/description.json, v2/rscg_examples/AlephMapper/nuget.txt, v2/rscg_examples/AlephMapper/readme.txt, v2/rscg_examples/AlephMapper/src/.tours/AlephMapper.tour, v2/rscg_examples/AlephMapper/video.json
Adds generator metadata, package text, a full example readme, a CodeTour, and a tutorial video script for AlephMapper.
AlephMapper Docusaurus documentation page
v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md
Adds the AlephMapper documentation page with front matter, usage sections, generated-file tabs, troubleshooting, comparison, and useful links.
Catalog data and site index registration
v2/RSCGExamplesData/GeneratorDataRec.json, v2/docFind.json, v2/rscg_examples_site/static/exports/RSCG.json, v2/book/examples/AlephMapper.html, v2/book/examples/TypedStateBuilder.Generator.html, v2/book/list.html, v2/book/pandocHTML.yaml, v2/rscg_examples_site/docs/Authors/Yevhen_Cherkes.md, v2/rscg_examples_site/docs/Categories/Database.md, v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx, v2/rscg_examples_site/docs/RSCG-Examples/index.md, v2/rscg_examples_site/docs/about.md, v2/rscg_examples_site/docs/indexRSCG.md, v2/rscg_examples_site/src/components/HomepageFeatures/index.js
Registers AlephMapper in generator lists, exports, book pages, category pages, author metadata, homepage counts, and the site’s example indexes.
Counter and date updates in README and later.md
README.md, later.md
Updates the top banner and update metadata to show 272 examples and the 2026-06-29 latest update date.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • ignatandrei/RSCG_Examples#503: Both PRs extend the same RSCG example registry/docs pipeline by inserting a new generator entry into shared data and list/doc files.
  • ignatandrei/RSCG_Examples#505: Both PRs touch the same generator documentation/indexing flow around TypedStateBuilder.Generator and related catalog content.
  • ignatandrei/RSCG_Examples#410: Both PRs update v2/Generator/MultiGeneratorV2.cs’s README rewrite logic by adding path replacement rules.

Poem

🐇 Hop hop, a new mapper came to stay,
AlephMapper joined the list today.
272 bright examples in a row,
With docs and demo code in tow.

🚥 Pre-merge checks | ✅ 3 | ❌ 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 is too generic to identify the main change in the pull request. Use a specific title describing the added AlephMapper example/docs and related generator updates.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 506-httpsgithubcomraffinertalephmapper

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a new RSCG example entry for AlephMapper across the repository’s data sources (generator index, website docs/exports, and book HTML), and updates the global counts/latest-update references to reflect the new total.

Changes:

  • Add the AlephMapper example project (EF Core + AlephMapper mapping demo) and its accompanying metadata (description, nuget blurb, video steps, code tour).
  • Register AlephMapper in the site + search/export artifacts (docs pages, category lists, JSON export, docFind).
  • Update repository-wide counts and book inputs/indices to reflect 272 total examples.

Reviewed changes

Copilot reviewed 32 out of 35 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
v2/RSCGExamplesData/GeneratorDataRec.json Adds AlephMapper to the generator registry data.
v2/rscg_examples/AlephMapper/video.json Adds the scripted video steps for the AlephMapper example.
v2/rscg_examples/AlephMapper/src/EntityDemo/Star.cs Adds EF Core entity model for stars.
v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectExtensions.cs Adds AlephMapper expressive mapping from Project to DTO.
v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectDTO.cs Adds DTO used by the mapping/demo query.
v2/rscg_examples/AlephMapper/src/EntityDemo/Project.cs Adds EF Core entity model for projects.
v2/rscg_examples/AlephMapper/src/EntityDemo/Program.cs Adds demo program that runs EF query with generated projection expression.
v2/rscg_examples/AlephMapper/src/EntityDemo/globals.cs Adds global usings for EF Core and Stats.Database.
v2/rscg_examples/AlephMapper/src/EntityDemo/EntityDemo.csproj Adds the demo project + NuGet references (AlephMapper, EF Core).
v2/rscg_examples/AlephMapper/src/EntityDemo/DotNetStatsContext.cs Adds EF Core DbContext + model configuration for the demo.
v2/rscg_examples/AlephMapper/src/EntityDemo.sln Adds a solution wrapper for the demo project.
v2/rscg_examples/AlephMapper/src/.tours/AlephMapper.tour Adds CodeTour steps for walking through the example and generated output.
v2/rscg_examples/AlephMapper/readme.txt Captures upstream project readme content for documentation.
v2/rscg_examples/AlephMapper/nuget.txt Adds the short description used by site/book generation.
v2/rscg_examples/AlephMapper/description.json Adds generator metadata used to render the AlephMapper docs page.
v2/rscg_examples_site/static/exports/RSCG.json Adds AlephMapper to the exported RSCG list.
v2/rscg_examples_site/src/components/HomepageFeatures/index.js Updates homepage “Examples” count from 271 to 272.
v2/rscg_examples_site/docs/RSCG-Examples/index.md Updates counts and links/graph to include AlephMapper in Database category.
v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md Adds the full generated docs page for AlephMapper.
v2/rscg_examples_site/docs/indexRSCG.md Updates the main list to 272 and adds AlephMapper entry.
v2/rscg_examples_site/docs/Categories/Database.md Updates Database category count/list to include AlephMapper.
v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx Updates the “SameCategory” primitive list to include AlephMapper.
v2/rscg_examples_site/docs/Authors/Yevhen_Cherkes.md Adds the author page and links the AlephMapper entry.
v2/rscg_examples_site/docs/about.md Updates About page count from 271 to 272.
v2/Generator/all.csv Adds AlephMapper to the generator CSV index.
v2/docFind.json Adds AlephMapper to the search index data.
v2/book/pandocHTML.yaml Adds the AlephMapper HTML page to the book build inputs.
v2/book/list.html Updates book list count and adds AlephMapper link.
v2/book/examples/TypedStateBuilder.Generator.html Updates TypedStateBuilder.Generator page content (appears unintentionally corrupted).
v2/book/examples/AlephMapper.html Adds the AlephMapper book HTML page.
README.md Updates repository headline/count/latest update + adds AlephMapper section.
later.md Updates latest update date to 2026-06-29.

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

<h2>About</h2>

Generate strongly typed state builders for C# applications, improving code readability and maintainability.
Generate strongly typed state builders for C# applications, enforced at compile time**Summary of TypedStateBuilder.Generator****Purpose:** Generates compile-time safe step-by-step builders using the *type-state pattern* — each required property must be set in order before Build() is available, enforced at compile time.**NuGet:** https://www.nuget.org/packages/TypedStateBuilder.Generator/**GitHub:** https://github.com/Georgiy-Petrov/TypedStateBuilder.Generator**Author:** Georgiy Petrov**How to use:**1. Decorate a builder class with [TypedStateBuilder], mark each required step with [StepForValue], and optionally add [ValidateValue] for validation:```csharp[TypedStateBuilder]public class PersonBuilder{ [StepForValue] [ValidateValue(nameof(ValidateName))] private string lastName = string.Empty; [StepForValue] [ValidateValue(nameof(ValidateName))] private string firstName = string.Empty; public void ValidateName(string name) { if (string.IsNullOrWhiteSpace(name) || name.Length &lt;= 1) throw new ArgumentException(&quot;Name must be at least 2 characters long.&quot;); } [Build] public Person Build() =&gt; new Person(firstName, lastName);}```2. Use the generated fluent builder — steps are enforced in order at compile time:```csharpvar p = TypedStateBuilders .CreatePersonBuilder() .SetFirstName(&quot;Andrei&quot;) .SetLastName(&quot;Ignat&quot;) .Build();Console.WriteLine(p.FullName()); // &quot;Andrei Ignat&quot;```
DbContextOptionsBuilder<DotNetStatsContext> optionsBuilder = new();
//optionsBuilder.UseInMemoryDatabase("StatsDatabase");
optionsBuilder.UseSqlite("Data Source=stats.db");
var cnt = new DotNetStatsContext(optionsBuilder.Options);
Comment on lines +12 to +14
public virtual DbSet<Project> Projects { get; set; }

public virtual DbSet<Star> Stars { get; set; }
public class ProjectDTO
{
public string? Name { get; set; }
public int CountStars { get; set; }

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 9

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md`:
- Line 439: The TabItem value in the AlephMapper docs uses a machine-specific
absolute Windows path, which should be removed. Update the relevant TabItem
entry in the markdown to use a portable relative identifier or display name
instead of the full local path, matching the approach used for other tabs like
the Program.cs entry.
- Line 461: The TabItem value in the AlephMapper docs still uses a
machine-specific absolute Windows path, which should be removed. Update the
TabItem entry in AlephMapper.md so its value uses a portable relative identifier
or filename instead of D:\... while keeping the ProjectDTO.cs reference
recognizable for navigation.
- Around line 470-472: The C# property declarations in the AlephMapper markdown
code block contain escaped braces that should be plain braces, so update the
snippet to remove the backslashes and restore valid C# syntax. Fix the affected
code block so the `Name` and `CountStars` property declarations, along with the
closing brace, use normal `{` and `}` characters rather than `\{` and `\}`.
- Line 562: The TabItem value in the generated mappings snippet contains a
machine-specific absolute Windows path, so replace it with a relative or stable
identifier in the markdown source. Update the documentation entry that renders
this TabItem so it uses the generated file name or a repo-relative path instead
of the local build path, keeping the surrounding AlephMapper example content
intact.
- Line 415: The TabItem in the AlephMapper docs is using a machine-specific
absolute Windows path as its value, which makes the tab identifier unstable and
leaks local filesystem details. Update the TabItem value in the AlephMapper
documentation snippet to use a short, stable identifier such as the file name,
and ensure any related TabItem entries use the same convention so tab state
remains portable across machines.
- Line 485: The TabItem value in the AlephMapper documentation contains a
machine-specific absolute Windows path, which should be removed. Update the
generated docs snippet in AlephMapper.Attributes.g.cs so the TabItem value uses
a portable relative path or identifier instead of the full local filesystem
path, and keep the label unchanged.

In `@v2/rscg_examples/AlephMapper/readme.txt`:
- Around line 274-303: The README still uses repository-relative links that
break in this mirrored location, so update the links in the related sections to
absolute upstream GitHub URLs or remove the mirrored-only references. Fix the
entries for SampleApp, AlephMapper.IntegrationTests, LICENSE, contributors, and
any other linked project names in the same block so they resolve correctly
regardless of the current folder. Keep the existing section structure, but
ensure all references point to the original upstream targets instead of relative
paths.

In `@v2/rscg_examples/AlephMapper/src/.tours/AlephMapper.tour`:
- Around line 13-29: The AlephMapper tour steps are using a placeholder anchor
that cannot resolve in ProjectDTO, ProjectExtensions, or Program. Update the
entries in AlephMapper.tour to use real anchors by replacing the invalid
"pattern": "this is the code" with an actual unique snippet from each target
file, or switch those steps to explicit line references so the tour can locate
ProjectDTO, ProjectExtensions, and Program reliably.

In `@v2/rscg_examples/AlephMapper/video.json`:
- Around line 35-38: The JSON entry in AlephMapper/video.json is malformed
because the object uses SpeakTest=" " instead of a quoted key/value pair, so
update the browser step object to use valid JSON syntax throughout. Fix the
malformed object in the sequence containing typeStep and arg, and verify the
surrounding entries remain valid JSON array items so the script can be parsed
correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7df9e128-2dc5-499d-90ae-c98a6840b478

📥 Commits

Reviewing files that changed from the base of the PR and between 6fe58ec and 2fa0a32.

⛔ Files ignored due to path filters (4)
  • v2/Generator/all.csv is excluded by !**/*.csv
  • v2/rscg_examples/AlephMapper/src/EntityDemo/stats.db is excluded by !**/*.db
  • v2/rscg_examples_site/static/exports/RSCG.xlsx is excluded by !**/*.xlsx
  • v2/rscg_examples_site/static/sources/AlephMapper.zip is excluded by !**/*.zip
📒 Files selected for processing (31)
  • README.md
  • later.md
  • v2/RSCGExamplesData/GeneratorDataRec.json
  • v2/book/examples/AlephMapper.html
  • v2/book/examples/TypedStateBuilder.Generator.html
  • v2/book/list.html
  • v2/book/pandocHTML.yaml
  • v2/docFind.json
  • v2/rscg_examples/AlephMapper/description.json
  • v2/rscg_examples/AlephMapper/nuget.txt
  • v2/rscg_examples/AlephMapper/readme.txt
  • v2/rscg_examples/AlephMapper/src/.tours/AlephMapper.tour
  • v2/rscg_examples/AlephMapper/src/EntityDemo.sln
  • v2/rscg_examples/AlephMapper/src/EntityDemo/DotNetStatsContext.cs
  • v2/rscg_examples/AlephMapper/src/EntityDemo/EntityDemo.csproj
  • v2/rscg_examples/AlephMapper/src/EntityDemo/Program.cs
  • v2/rscg_examples/AlephMapper/src/EntityDemo/Project.cs
  • v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectDTO.cs
  • v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectExtensions.cs
  • v2/rscg_examples/AlephMapper/src/EntityDemo/Star.cs
  • v2/rscg_examples/AlephMapper/src/EntityDemo/globals.cs
  • v2/rscg_examples/AlephMapper/video.json
  • v2/rscg_examples_site/docs/Authors/Yevhen_Cherkes.md
  • v2/rscg_examples_site/docs/Categories/Database.md
  • v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx
  • v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md
  • v2/rscg_examples_site/docs/RSCG-Examples/index.md
  • v2/rscg_examples_site/docs/about.md
  • v2/rscg_examples_site/docs/indexRSCG.md
  • v2/rscg_examples_site/src/components/HomepageFeatures/index.js
  • v2/rscg_examples_site/static/exports/RSCG.json


</TabItem>

<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\Program.cs" label="Program.cs" >

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove absolute Windows paths from TabItem values.

The value attribute contains a machine-specific absolute path (D:\gth\RSCG_Examples\...). Docusaurus TabItem values are identifiers for tab state; they should be short, stable strings like "Program.cs". These paths will break on any other machine and leak local filesystem structure.

-  <TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\Program.cs" label="Program.cs" >
+  <TabItem value="program-cs" label="Program.cs" >
📝 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
<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\Program.cs" label="Program.cs" >
<TabItem value="program-cs" label="Program.cs" >
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 415, The
TabItem in the AlephMapper docs is using a machine-specific absolute Windows
path as its value, which makes the tab identifier unstable and leaks local
filesystem details. Update the TabItem value in the AlephMapper documentation
snippet to use a short, stable identifier such as the file name, and ensure any
related TabItem entries use the same convention so tab state remains portable
across machines.

```
</TabItem>

<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\ProjectExtensions.cs" label="ProjectExtensions.cs" >

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove absolute Windows paths from TabItem values.

Same issue as Program.cs tab — the value attribute contains a machine-specific absolute path.

-  <TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\ProjectExtensions.cs" label="ProjectExtensions.cs" >
+  <TabItem value="projectextensions-cs" label="ProjectExtensions.cs" >
📝 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
<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\ProjectExtensions.cs" label="ProjectExtensions.cs" >
<TabItem value="projectextensions-cs" label="ProjectExtensions.cs" >
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 439, The
TabItem value in the AlephMapper docs uses a machine-specific absolute Windows
path, which should be removed. Update the relevant TabItem entry in the markdown
to use a portable relative identifier or display name instead of the full local
path, matching the approach used for other tabs like the Program.cs entry.

```
</TabItem>

<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\ProjectDTO.cs" label="ProjectDTO.cs" >

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove absolute Windows paths from TabItem values.

Same issue — machine-specific absolute path in value attribute.

-  <TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\ProjectDTO.cs" label="ProjectDTO.cs" >
+  <TabItem value="projectdto-cs" label="ProjectDTO.cs" >
📝 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
<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\ProjectDTO.cs" label="ProjectDTO.cs" >
<TabItem value="projectdto-cs" label="ProjectDTO.cs" >
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 461, The
TabItem value in the AlephMapper docs still uses a machine-specific absolute
Windows path, which should be removed. Update the TabItem entry in
AlephMapper.md so its value uses a portable relative identifier or filename
instead of D:\... while keeping the ProjectDTO.cs reference recognizable for
navigation.

Comment on lines +470 to +472
public string? Name \{ get; set; }
public int CountStars \{ get; set; }
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix escaped braces in C# code block.

The property declarations show \{ and \} instead of { and }. This is invalid C# syntax and appears to be a copy-paste artifact from an intermediate format.

-    public string? Name \{ get; set; }
-    public int  CountStars \{ get; set; }
+    public string? Name { get; set; }
+    public int  CountStars { get; set; }
📝 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
public string? Name \{ get; set; }
public int CountStars \{ get; set; }
}
public string? Name { get; set; }
public int CountStars { get; set; }
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` around lines 470 -
472, The C# property declarations in the AlephMapper markdown code block contain
escaped braces that should be plain braces, so update the snippet to remove the
backslashes and restore valid C# syntax. Fix the affected code block so the
`Name` and `CountStars` property declarations, along with the closing brace, use
normal `{` and `}` characters rather than `\{` and `\}`.

<Tabs>


<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\obj\GX\AlephMapper\AlephMapper.AlephSourceGenerator\AlephMapper.Attributes.g.cs" label="AlephMapper.Attributes.g.cs" >

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove absolute Windows paths from TabItem values.

Same issue — machine-specific absolute path in value attribute.

-  <TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\obj\GX\AlephMapper\AlephMapper.AlephSourceGenerator\AlephMapper.Attributes.g.cs" label="AlephMapper.Attributes.g.cs" >
+  <TabItem value="alephmapper-attributes-g-cs" label="AlephMapper.Attributes.g.cs" >
📝 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
<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\obj\GX\AlephMapper\AlephMapper.AlephSourceGenerator\AlephMapper.Attributes.g.cs" label="AlephMapper.Attributes.g.cs" >
<TabItem value="alephmapper-attributes-g-cs" label="AlephMapper.Attributes.g.cs" >
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 485, The
TabItem value in the AlephMapper documentation contains a machine-specific
absolute Windows path, which should be removed. Update the generated docs
snippet in AlephMapper.Attributes.g.cs so the TabItem value uses a portable
relative path or identifier instead of the full local filesystem path, and keep
the label unchanged.

</TabItem>


<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\obj\GX\AlephMapper\AlephMapper.AlephSourceGenerator\EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" label="EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" >

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove absolute Windows paths from TabItem values.

Same issue — machine-specific absolute path in value attribute.

-  <TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\obj\GX\AlephMapper\AlephMapper.AlephSourceGenerator\EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" label="EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" >
+  <TabItem value="entitydemo-generated-mappings-g-cs" label="EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" >
📝 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
<TabItem value="D:\gth\RSCG_Examples\v2\rscg_examples\AlephMapper\src\EntityDemo\obj\GX\AlephMapper\AlephMapper.AlephSourceGenerator\EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" label="EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" >
<TabItem value="entitydemo-generated-mappings-g-cs" label="EntityDemo_ProjectExtensions_GeneratedMappings.g.cs" >
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 562, The
TabItem value in the generated mappings snippet contains a machine-specific
absolute Windows path, so replace it with a relative or stable identifier in the
markdown source. Update the documentation entry that renders this TabItem so it
uses the generated file name or a repo-relative path instead of the local build
path, keeping the surrounding AlephMapper example content intact.

Comment on lines +274 to +303
- [Sample app](examples/SampleApp) - richer mapping examples.
- [Integration tests](tests/AlephMapper.IntegrationTests) - EF Core and generated behavior coverage.

## Contributing

Contributions are welcome.

1. Fork the repository.
2. Create a feature branch.
3. Make the change.
4. Add or update tests.
5. Run the test suite.
6. Open a pull request.

## License

This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.

## Acknowledgments

- Inspired by [EntityFrameworkCore.Projectables](https://github.com/koenbeuk/EntityFrameworkCore.Projectables) and [Expressionify](https://github.com/ClaveConsulting/Expressionify).
- Thanks to all [contributors](https://github.com/Raffinert/AlephMapper/graphs/contributors).

## Related Projects

- [EntityFrameworkCore.Projectables](https://github.com/koenbeuk/EntityFrameworkCore.Projectables)
- [Expressionify](https://github.com/ClaveConsulting/Expressionify)
- [AutoMapper](https://automapper.org/)
- [Mapster](https://github.com/MapsterMapper/Mapster)
- [Facet](https://github.com/Tim-Maes/Facet)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Replace upstream-relative links with absolute URLs.

The links on Lines 274-303 resolve relative to v2/rscg_examples/AlephMapper/, so entries like examples/SampleApp, tests/AlephMapper.IntegrationTests, and LICENSE will point to the wrong place here. Please switch them to full upstream GitHub URLs or remove them from this mirrored README.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples/AlephMapper/readme.txt` around lines 274 - 303, The README
still uses repository-relative links that break in this mirrored location, so
update the links in the related sections to absolute upstream GitHub URLs or
remove the mirrored-only references. Fix the entries for SampleApp,
AlephMapper.IntegrationTests, LICENSE, contributors, and any other linked
project names in the same block so they resolve correctly regardless of the
current folder. Keep the existing section structure, but ensure all references
point to the original upstream targets instead of relative paths.

Comment on lines +13 to +29
,{
"file": "EntityDemo/ProjectDTO.cs",
"description": "File ProjectDTO.cs ",
"pattern": "this is the code"
}

,{
"file": "EntityDemo/ProjectExtensions.cs",
"description": "File ProjectExtensions.cs ",
"pattern": "this is the code"
}

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Use real anchors for these tour steps.

"pattern": "this is the code" does not exist in v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectDTO.cs:1-7, v2/rscg_examples/AlephMapper/src/EntityDemo/ProjectExtensions.cs:1-12, or v2/rscg_examples/AlephMapper/src/EntityDemo/Program.cs:1-16, so those steps cannot resolve to a location. Replace the placeholder with an actual pattern or explicit line number per file.

Suggested fix
         ,{
         "file": "EntityDemo/ProjectDTO.cs",
         "description": "File ProjectDTO.cs  ",
-        "pattern": "this is the code"
+        "pattern": "public class ProjectDTO"
         }
     
         ,{
         "file": "EntityDemo/ProjectExtensions.cs",
         "description": "File ProjectExtensions.cs  ",
-        "pattern": "this is the code"
+        "pattern": "public static partial class ProjectExtensions"
         }
     
         ,{
         "file": "EntityDemo/Program.cs",
         "description": "File Program.cs \r\n>> dotnet run --project EntityDemo/EntityDemo.csproj ",
-        "pattern": "this is the code"
+        "pattern": "Console.WriteLine(\"Hello, World!\")"
         }
📝 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
,{
"file": "EntityDemo/ProjectDTO.cs",
"description": "File ProjectDTO.cs ",
"pattern": "this is the code"
}
,{
"file": "EntityDemo/ProjectExtensions.cs",
"description": "File ProjectExtensions.cs ",
"pattern": "this is the code"
}
,{
"file": "EntityDemo/Program.cs",
"description": "File Program.cs \r\n>> dotnet run --project EntityDemo/EntityDemo.csproj ",
"pattern": "this is the code"
}
,{
"file": "EntityDemo/ProjectDTO.cs",
"description": "File ProjectDTO.cs ",
"pattern": "public class ProjectDTO"
}
,{
"file": "EntityDemo/ProjectExtensions.cs",
"description": "File ProjectExtensions.cs ",
"pattern": "public static partial class ProjectExtensions"
}
,{
"file": "EntityDemo/Program.cs",
"description": "File Program.cs \r\n>> dotnet run --project EntityDemo/EntityDemo.csproj ",
"pattern": "Console.WriteLine(\"Hello, World!\")"
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples/AlephMapper/src/.tours/AlephMapper.tour` around lines 13 -
29, The AlephMapper tour steps are using a placeholder anchor that cannot
resolve in ProjectDTO, ProjectExtensions, or Program. Update the entries in
AlephMapper.tour to use real anchors by replacing the invalid "pattern": "this
is the code" with an actual unique snippet from each target file, or switch
those steps to explicit line references so the tour can locate ProjectDTO,
ProjectExtensions, and Program reliably.

Comment on lines +35 to +38
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AlephMapper#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Fix the malformed JSON object.

Lines 35-36 are not valid JSON: SpeakTest=" " uses = instead of a quoted key with :, which makes the entire script unreadable.

Suggested fix
-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AlephMapper#download-example-net--c-",
-SpeakTest=" "},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AlephMapper#download-example-net--c-",
+"SpeakTest":" "},
📝 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/AlephMapper#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
]
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/AlephMapper#download-example-net--c-",
"SpeakTest":" "},
{"typeStep":"waitseconds","arg":"30"},
]
🧰 Tools
🪛 Biome (2.5.0)

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

(parse)


[error] 36-36: unexpected character =

(parse)


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

(parse)


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

(parse)


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

(parse)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples/AlephMapper/video.json` around lines 35 - 38, The JSON entry
in AlephMapper/video.json is malformed because the object uses SpeakTest=" "
instead of a quoted key/value pair, so update the browser step object to use
valid JSON syntax throughout. Fix the malformed object in the sequence
containing typeStep and arg, and verify the surrounding entries remain valid
JSON array items so the script can be parsed correctly.

Source: Linters/SAST tools

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md (1)

415-415: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Replace the absolute TabItem value paths and escaped braces in the AlephMapper snippets — use repo-relative paths, and change the C# property declarations to plain { get; set; } so the docs render correctly.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 415, The
AlephMapper doc snippets contain absolute TabItem value paths and escaped C#
property braces that break rendering. Update the snippet markup in the
AlephMapper documentation to use repo-relative paths for the TabItem value, and
adjust the property declarations in the referenced Program.cs examples to plain
{ get; set; } syntax. Use the TabItem entries and the Program.cs snippet blocks
as the locations to fix.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md`:
- Line 69: The LICENSE badge link in the AlephMapper markdown points to a
non-existent repository URL and should be updated to the actual LICENSE file
location. Fix the markdown reference for the badge in AlephMapper.md so it
targets the repo’s valid LICENSE path (for example the blob-based LICENSE URL)
and resolves correctly when clicked.

---

Outside diff comments:
In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md`:
- Line 415: The AlephMapper doc snippets contain absolute TabItem value paths
and escaped C# property braces that break rendering. Update the snippet markup
in the AlephMapper documentation to use repo-relative paths for the TabItem
value, and adjust the property declarations in the referenced Program.cs
examples to plain { get; set; } syntax. Use the TabItem entries and the
Program.cs snippet blocks as the locations to fix.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: da3fd5e8-bfb3-420a-a7d9-96b1ae11c3e8

📥 Commits

Reviewing files that changed from the base of the PR and between 2fa0a32 and 8ac2be6.

📒 Files selected for processing (1)
  • v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md


[![NuGet](https://img.shields.io/nuget/v/AlephMapper.svg)](https://www.nuget.org/packages/AlephMapper)
[![NuGet Downloads](https://img.shields.io/nuget/dt/AlephMapper.svg)](https://www.nuget.org/packages/AlephMapper)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Raffinert/AlephMapper/LICENSE)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if the LICENSE URL resolves
curl -s -o /dev/null -w "%{http_code}" "https://github.com/Raffinert/AlephMapper/LICENSE"

Repository: ignatandrei/RSCG_Examples

Length of output: 166


Fix the LICENSE link The badge/reference URL points to https://github.com/Raffinert/AlephMapper/LICENSE, which returns 404. Update it to the repo’s actual LICENSE path (for example /blob/main/LICENSE) so the link works.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` at line 69, The
LICENSE badge link in the AlephMapper markdown points to a non-existent
repository URL and should be updated to the actual LICENSE file location. Fix
the markdown reference for the badge in AlephMapper.md so it targets the repo’s
valid LICENSE path (for example the blob-based LICENSE URL) and resolves
correctly when clicked.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md`:
- Around line 325-326: The AlephMapper docs links in the markdown are pointing
to repository paths that 404; update the Sample app and Integration tests URLs
to use the GitHub /tree/main/ form. Make this change in the markdown section
containing those two links so the references point to the actual directories in
the repository.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1e5ab9b2-fcd9-4f50-9366-6aba89554d6e

📥 Commits

Reviewing files that changed from the base of the PR and between 8ac2be6 and bc27f81.

📒 Files selected for processing (2)
  • v2/Generator/MultiGeneratorV2.cs
  • v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md

Comment on lines +325 to +326
- [Sample app](https://github.com/Raffinert/AlephMapper/examples/SampleApp) - richer mapping examples.
- [Integration tests](https://github.com/Raffinert/AlephMapper/tests/AlephMapper.IntegrationTests) - EF Core and generated behavior coverage.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if the URLs resolve correctly
for path in "/examples/SampleApp" "/tests/AlephMapper.IntegrationTests"; do
  url="https://github.com/Raffinert/AlephMapper${path}"
  echo "Checking: $url"
  curl -s -o /dev/null -w "%{http_code}" "$url"
  echo " (should be 404)"
  
  fixed_url="https://github.com/Raffinert/AlephMapper/tree/main${path}"
  echo "Checking: $fixed_url"
  curl -s -o /dev/null -w "%{http_code}" "$fixed_url"
  echo " (should be 200 or 301/302)"
  echo "---"
done

Repository: ignatandrei/RSCG_Examples

Length of output: 605


Fix the GitHub links Both URLs 404 as written; use /tree/main/ for these directories.

🧰 Tools
🪛 LanguageTool

[grammar] ~325-~325: Ensure spelling is correct
Context: ...ation. | ###### Examples - Sample app - richer mapping examples. - [Integration tests](https://github.co...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v2/rscg_examples_site/docs/RSCG-Examples/AlephMapper.md` around lines 325 -
326, The AlephMapper docs links in the markdown are pointing to repository paths
that 404; update the Sample app and Integration tests URLs to use the GitHub
/tree/main/ form. Make this change in the markdown section containing those two
links so the references point to the actual directories in the repository.

@ignatandrei ignatandrei merged commit 32bce25 into main Jun 30, 2026
3 checks passed
@ignatandrei ignatandrei deleted the 506-httpsgithubcomraffinertalephmapper branch June 30, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

https://github.com/Raffinert/AlephMapper

2 participants