-
Notifications
You must be signed in to change notification settings - Fork 282
docs: enhance README and CONTRIBUTING with improved onboarding #3997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…e license comment formatting
…andards - Add Prerequisites section to README (targets .NET 8-10, C# 12-14) - Add "What's Next?" navigation section after basic Quick Start - Add Table of Contents to CONTRIBUTING.md for better navigation - Add "First Time Contributing?" onboarding section with quick setup guide - Fix license header documentation to use correct format (#region Licence) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No application code in the PR — skipped Code Health checks.
See analysis details in CodeScene
Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.
PR Review: Documentation Enhancements ✅This is an excellent documentation improvement PR! The changes significantly enhance the onboarding experience and make the project more accessible to new contributors. Here's my detailed review: ✅ Strengths1. README.md Improvements
2. CONTRIBUTING.md Enhancements
3. Consistency Fixes
🔍 Minor Issues & Suggestions1. Duplicate Content in CONTRIBUTING.mdLocation: CONTRIBUTING.md:239-247 There's a duplicate paragraph about TDD workflow: - Where possible, avoid writing tests after.
- This will not give you scope control - only writing the code required by tests.
- You should only write the code necessary for a test to pass; do not write speculative code.
- It will not push you to focus on design of your classes for behavior.
- Pay attention to the usability of your class and method; it should be self-describing.
- Where possible, avoid writing tests after.
- This will not give you scope control - only writing the code required by tests.Recommendation: Remove the duplicate (lines 240-244). 2. File Rename NoticeLocation: CONTRIBUTING.md (file rename from The rename from
3. Missing Newline at End of FileLocation: .agent_instructions/documentation.md:99 The file ends without a newline character. This is a minor style issue but adding one maintains consistency with Unix conventions. 📋 Specific RecommendationsREADME.md
CONTRIBUTING.md
Code QualityAll changes appear to be documentation-only with no code changes, so there are:
🎯 SummaryOverall Assessment: This is a high-quality documentation PR that meaningfully improves the developer experience. The changes are well-thought-out, follow best practices, and make the project more accessible. Recommendation: Approve with minor suggestions (duplicate paragraph removal) Action Items:
Great work on improving the project documentation! 🎉 |
iancooper
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I think this is a big improvement.
We need to fix the Post vs Publish issue, but it looks good otherwise
| [](https://codescene.io/projects/32198) | ||
|  | ||
|
|
||
| **Brighter is a Command Dispatcher and Command Processor framework for .NET**. It enables you to build loosely coupled, maintainable applications using the Command pattern and supports both in-process and out-of-process messaging for microservices architectures. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think we should x-reference Darker here, to show the two working together?
| var commandProcessor = host.Services.GetRequiredService<IAmACommandProcessor>(); | ||
|
|
||
| // Publish to external message broker | ||
| await commandProcessor.PublishAsync(new GreetingEvent("World")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PostAsync here, not PublishAsync. We might want a section on events vs. commands and Publish vs Send. But we need PostAsync for the simple message example
| - **Validation**: `[Validation]` - Validate requests before handling | ||
| - **Custom middleware**: Create your own attributes | ||
|
|
||
| ### Outbox Pattern for Reliable Messaging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't know if we need to mention switch to DepositPost and dependency on transactionprovider here?
| .UseExternalBus(bus => | ||
| { | ||
| bus.UseRabbitMQ(new RmqMessagingGatewayConfiguration | ||
| { | ||
| AmqpUri = new AmqpUriSpecification(new Uri("amqp://guest:guest@localhost:5672")) | ||
| }); | ||
| }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have changed the Brighter API in V10
.AddProducers(producer =>
{
....
});| .Subscriptions(s => | ||
| s.Add<GreetingEvent>( | ||
| new Subscription<GreetingEvent>( | ||
| new SubscriptionName("greeting-subscription"), | ||
| new ChannelName("greeting.event"), | ||
| new RoutingKey("greeting.event") | ||
| ) | ||
| ) | ||
| ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have changed the Brighter API in V10
.AddConsumers(s =>
.....
);| // Configure policies | ||
| builder.Services.AddBrighter() | ||
| .AutoFromAssemblies() | ||
| .Policies(p => p.Add("MyRetryPolicy", Policy.Handle<Exception>().Retry(3))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have changed the Brighter API in V10, I don't remember how to use it
We also should use the Resiliance Pipeline
| .AutoFromAssemblies() | ||
| .UseExternalBus(/* configure transport */) | ||
| .UseOutbox(new PostgreSqlOutbox(/* configuration */)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the old Brighter APi
|
|
||
| ### Quick Setup | ||
| 1. Fork and clone the repository | ||
| 2. Ensure you have .NET 8 SDK or later installed: `dotnet --version` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 2. Ensure you have .NET 8 SDK or later installed: `dotnet --version` | |
| 2. Ensure you have .NET 10 SDK or later installed: `dotnet --version` |
| ### Quick Setup | ||
| 1. Fork and clone the repository | ||
| 2. Ensure you have .NET 8 SDK or later installed: `dotnet --version` | ||
| 3. Build the solution: `dotnet build Brighter.sln` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 3. Build the solution: `dotnet build Brighter.sln` | |
| 3. Build the solution: `dotnet build Brighter.slnx` |
Summary
Changes