Skip to content

Commit 7b47bac

Browse files
Add repository documentation to .openhands/microagents/repo.md
1 parent 21f894d commit 7b47bac

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.openhands/microagents/repo.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
3+
# DotNet Dispatcher Repository Overview
4+
5+
## Purpose
6+
**DotNet Dispatcher** is a lightweight, compile-time generated CQRS dispatcher for .NET that eliminates runtime reflection, making it highly AOT-friendly and performance-efficient. It leverages Roslyn code generation to automatically generate dispatchers at compile time, providing a zero-reflection, high-performance alternative to traditional CQRS implementations like MediatR.
7+
8+
## General Setup
9+
The repository is organized with the following key components:
10+
11+
- **src/DotnetDispatcher**: Contains the core dispatcher interfaces and base classes
12+
- **src/DotnetDispatcher.Generator**: Contains the Roslyn source generator that creates the dispatcher implementations
13+
- **test**: Contains unit tests for the dispatcher functionality
14+
- **build**: Contains build scripts and configuration using Nuke build system
15+
- **.github/workflows**: Contains GitHub Actions workflows for CI/CD
16+
17+
## Repository Structure
18+
```
19+
dotnet-dispatcher/
20+
├── .github/ # GitHub Actions workflows
21+
│ └── workflows/ # CI/CD pipelines
22+
│ ├── Build_main_and_publish_to_nuget.yml
23+
│ ├── Continuous_build.yml
24+
│ └── Manual_publish_to_Github_Nuget.yml
25+
├── .nuke/ # Nuke build system configuration
26+
├── build/ # Build scripts and configuration
27+
├── src/ # Source code
28+
│ ├── DotnetDispatcher/ # Core dispatcher library
29+
│ └── DotnetDispatcher.Generator/ # Roslyn source generator
30+
├── test/ # Test projects
31+
│ ├── DotnetDispatcher.Tests/
32+
│ └── DotnetDispatcher.Tests.Domain/
33+
├── README.md # Project documentation
34+
└── .editorconfig # Code style configuration
35+
```
36+
37+
## CI/CD Pipelines
38+
The repository includes three main GitHub Actions workflows:
39+
40+
1. **Continuous_build.yml**: Runs on every push, performing:
41+
- Clean build
42+
- Compilation
43+
- Unit testing
44+
- Packaging
45+
46+
2. **Build_main_and_publish_to_nuget.yml**: Triggers on version tags (v*), performing:
47+
- Clean build
48+
- Compilation
49+
- Packaging
50+
- Publishing to GitHub NuGet
51+
- Artifact publishing
52+
53+
3. **Manual_publish_to_Github_Nuget.yml**: Manual trigger for:
54+
- Packaging
55+
- Publishing to GitHub NuGet
56+
- Artifact publishing
57+
58+
## Code Quality
59+
- Uses Nuke build system for consistent build processes
60+
- Includes .editorconfig for C# code style enforcement
61+
- Follows Roslyn analyzer rules for code quality
62+
- Comprehensive unit test coverage
63+

0 commit comments

Comments
 (0)