Skip to content

docs: sync README, CHANGELOG, and CodeRabbit config with current codebase state#429

Merged
nanotaboada merged 2 commits intomasterfrom
docs/sync-docs-with-codebase
Mar 22, 2026
Merged

docs: sync README, CHANGELOG, and CodeRabbit config with current codebase state#429
nanotaboada merged 2 commits intomasterfrom
docs/sync-docs-with-codebase

Conversation

@nanotaboada
Copy link
Copy Markdown
Owner

@nanotaboada nanotaboada commented Mar 22, 2026

Summary

  • README.md: add missing Enums/, Middlewares/ folders to src tree; add PlayerValidatorTests.cs and test/Utilities/ subtree to test tree; add dotnet csharpier . to Command Summary; include Dependabot badge
  • CHANGELOG.md: fill [Unreleased] with changes since v2.0.0-centenario (validator fix [BUG] BeUniqueSquadNumber validator rejects all PUT requests for existing players #424, SonarCloud config, bug report template, codecov bump); fix [unreleased] comparison link (v1.1.0-bernabeuv2.0.0-centenario); add missing [2.0.0 - centenario] link entry
  • .coderabbit.yaml: update .NET 8 → .NET 10 references (comment, Dockerfile instructions, csproj instructions); replace incorrect Given_When_Then test naming with the actual two-pattern convention used in this project
  • .gitignore: ignore .claude/settings.local.json

Test plan

  • Verify README project structure tree matches actual directory layout
  • Verify CHANGELOG [Unreleased] entries match merged PRs since v2.0.0-centenario
  • Verify CodeRabbit test naming instructions match .github/copilot-instructions.md

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Updated README with clarified project structure, including new directory documentation and dependency monitoring badge
    • Enhanced changelog with SonarCloud quality configuration entries
  • Chores

    • Updated development configuration standards for .NET 10
    • Refined test naming conventions and test data validation patterns
    • Updated CI/CD tooling version and ignore file configurations

…base state

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 22, 2026

Warning

Ignoring CodeRabbit configuration file changes. For security, only the configuration from the base branch is applied for open source repositories.

Walkthrough

This PR updates configuration and documentation files to .NET 10, refines CodeRabbit code review guidelines with stricter test naming conventions, and documents a validator scoping fix. Changes include .coderabbit.yaml version bumps, .gitignore expansion, CHANGELOG.md entries for SonarCloud and tool updates, and README.md directory/command documentation.

Changes

Cohort / File(s) Summary
Configuration & Version Bumps
.coderabbit.yaml, CHANGELOG.md
Updated .NET version from 8 to 10 across SDK/runtime validation and .csproj target framework checks; Dockerfile validation updated to .NET 10. Added codecov action bump (5.5.2 → 5.5.3) and SonarCloud configuration reference.
Test Naming & Data Factory Guidelines
.coderabbit.yaml
Replaced Given_When_Then naming convention with stricter two-pattern rules: controller tests use {HttpMethod}_{Resource}_{Condition}_Returns{Outcome} format; service/validator tests use {MethodName}_{StateUnderTest}_{ExpectedBehavior}. Replaced generic "faker patterns" guidance with requirement for PlayerFakes factory methods from test/Utilities/.
Documentation Updates
README.md
Added Dependabot badge; documented new src/.../Enums/ and src/.../Middlewares/ directories; expanded test structure to include PlayerValidatorTests.cs and test/.../Utilities/ folder with shared test helpers; added dotnet csharpier . command to summary table.
Version Control
.gitignore
Added exclusion for .claude/settings.local.json to prevent local Claude IDE settings from being tracked.
Changelog Entries
CHANGELOG.md
Added SonarCloud configuration and bug report issue template references; documented BeUniqueSquadNumber validator scoping to "Create" rule set to prevent false rejections on PUT requests. Updated comparison links for [unreleased] and new [2.0.0 - centenario] version.

Assessment against linked issues

Objective Addressed Explanation
Fix BeUniqueSquadNumber validator rejecting PUT requests by scoping to "Create" rule set [#424] CHANGELOG documents the validator scoping fix, but no code changes to PlayerRequestModelValidator.cs, PlayerController.cs, or PlayerValidatorTests.cs are visible in this PR summary; unclear if implementation is included or if this PR only updates documentation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related issues

  • Validator test gaps and naming convention alignment #427 — The .coderabbit.yaml changes enforce stricter test naming patterns ({MethodName}_{StateUnderTest}_{ExpectedBehavior} for validators) and require PlayerFakes factory methods from test/Utilities/, directly aligning with test structure and naming convention objectives.

Possibly related PRs

Suggested labels

configuration, documentation, .NET

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title follows Conventional Commits format with 'docs:' prefix, is 79 characters (under 80), and accurately describes the main changes: synchronizing documentation and configuration files (README, CHANGELOG, .coderabbit.yaml, .gitignore) with the current codebase state.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

📋 Issue Planner

Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).

View plan for ticket: #424

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/sync-docs-with-codebase
  • 🛠️ sync documentation: Commit on current branch
  • 🛠️ sync documentation: Create PR
  • 🛠️ enforce http error handling: Commit on current branch
  • 🛠️ enforce http error handling: Create PR
  • 🛠️ idiomatic review: Commit on current branch
  • 🛠️ idiomatic review: Create PR
  • 🛠️ verify api contract: Commit on current branch
  • 🛠️ verify api contract: Create PR

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

@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.

🧹 Nitpick comments (3)
.gitignore (1)

5-5: Consider a more flexible ignore pattern for Claude local files.

The specific path .claude/settings.local.json works but only covers one file. If additional local files are added to .claude/ in the future, they won't be ignored. Consider one of these alternatives:

  • Ignore all local files: .claude/*.local.*
  • Ignore the entire .claude/ directory: .claude/
♻️ Proposed alternative patterns

Option 1: Ignore all .local.* files in .claude/

-.claude/settings.local.json
+.claude/*.local.*

Option 2: Ignore the entire .claude/ directory

-.claude/settings.local.json
+.claude/
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.gitignore at line 5, The current .gitignore entry is too specific
('.claude/settings.local.json') and should be made more flexible; replace or add
a broader pattern so new local files are ignored — either use
'.claude/*.local.*' to ignore any local-config files in the .claude directory or
use '.claude/' to ignore the entire directory; update the .gitignore entry
accordingly and commit the change.
.coderabbit.yaml (2)

350-352: Same segment count clarification applies here.

For consistency with the earlier comment, the unit test generation instructions have the same "exactly 3 underscore-delimited segments" phrasing that doesn't quite match the 4-segment controller test pattern.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.coderabbit.yaml around lines 350 - 352, Update the naming guidance so the
"Follow the two-pattern naming convention" block correctly distinguishes segment
counts: change the Controller tests rule (the line starting "Controller tests:
{HttpMethod}_{Resource}_{Condition}_Returns{Outcome}") to state exactly 4
underscore-delimited segments, and ensure the Service/Validator tests rule (the
line starting "Service/Validator tests:
{MethodName}_{StateUnderTest}_{ExpectedBehavior}") remains described as exactly
3 segments; keep the same examples and wording style so both lines consistently
reference "exactly N underscore-delimited segments."

83-88: Minor clarification: The segment count description may be misleading.

The instructions state "exactly 3 underscore-delimited segments", but:

  • Controller pattern {HttpMethod}_{Resource}_{Condition}_Returns{Outcome} has 4 parts (e.g., Get_Players_Existing_ReturnsPlayers)
  • Service/Validator pattern {MethodName}_{StateUnderTest}_{ExpectedBehavior} has 3 parts (e.g., RetrieveAsync_CacheMiss_QueriesRepositoryAndCachesResult)

Consider clarifying that controller tests have 4 segments while service/validator tests have 3 segments, or removing the specific count to avoid confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.coderabbit.yaml around lines 83 - 88, Update the test-naming guidance to
correct the segment count: clarify that controller test names follow the
four-segment pattern "{HttpMethod}_{Resource}_{Condition}_Returns{Outcome}"
(e.g., Get_Players_Existing_ReturnsPlayers) while service/validator tests follow
the three-segment pattern "{MethodName}_{StateUnderTest}_{ExpectedBehavior}"
(e.g., RetrieveAsync_CacheMiss_QueriesRepositoryAndCachesResult), or
alternatively remove the explicit numeric requirement and just list the two
patterns as examples; ensure the existing lines referencing "exactly 3
underscore-delimited segments" are replaced so the controller vs
service/validator distinction is unambiguous.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.coderabbit.yaml:
- Around line 350-352: Update the naming guidance so the "Follow the two-pattern
naming convention" block correctly distinguishes segment counts: change the
Controller tests rule (the line starting "Controller tests:
{HttpMethod}_{Resource}_{Condition}_Returns{Outcome}") to state exactly 4
underscore-delimited segments, and ensure the Service/Validator tests rule (the
line starting "Service/Validator tests:
{MethodName}_{StateUnderTest}_{ExpectedBehavior}") remains described as exactly
3 segments; keep the same examples and wording style so both lines consistently
reference "exactly N underscore-delimited segments."
- Around line 83-88: Update the test-naming guidance to correct the segment
count: clarify that controller test names follow the four-segment pattern
"{HttpMethod}_{Resource}_{Condition}_Returns{Outcome}" (e.g.,
Get_Players_Existing_ReturnsPlayers) while service/validator tests follow the
three-segment pattern "{MethodName}_{StateUnderTest}_{ExpectedBehavior}" (e.g.,
RetrieveAsync_CacheMiss_QueriesRepositoryAndCachesResult), or alternatively
remove the explicit numeric requirement and just list the two patterns as
examples; ensure the existing lines referencing "exactly 3 underscore-delimited
segments" are replaced so the controller vs service/validator distinction is
unambiguous.

In @.gitignore:
- Line 5: The current .gitignore entry is too specific
('.claude/settings.local.json') and should be made more flexible; replace or add
a broader pattern so new local files are ignored — either use
'.claude/*.local.*' to ignore any local-config files in the .claude directory or
use '.claude/' to ignore the entire directory; update the .gitignore entry
accordingly and commit the change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a80288ea-add4-4a7d-b79f-fca3e6320b91

📥 Commits

Reviewing files that changed from the base of the PR and between 9c2df9e and 22c74bd.

📒 Files selected for processing (4)
  • .coderabbit.yaml
  • .gitignore
  • CHANGELOG.md
  • README.md

@sonarqubecloud
Copy link
Copy Markdown

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.

[BUG] BeUniqueSquadNumber validator rejects all PUT requests for existing players

1 participant