Skip to content

Commit 47d5238

Browse files
authored
Merge pull request #8 from feO2x/7-minimal-api-serialization
Initial Minimal API Integration
2 parents ee59e55 + 9fd6ac2 commit 47d5238

95 files changed

Lines changed: 4280 additions & 172 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ indent_style = space
55
indent_size = 4
66
insert_final_newline = true
77

8-
[{*.props,*.csproj,*.xml,*.json,*.jsonc,*.yml,*.yaml}]
8+
[{*.props,*.csproj,*.xml,*.json,*.jsonc,*.yml,*.yaml,*.slnx}]
99
indent_size = 2
1010

1111
[*.cs]

.windsurf/rules/general-rules.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
1313
<PackageVersion Include="Nullable" Version="1.3.1" />
1414
<PackageVersion Include="RequiredMemberAttribute" Version="1.0.0" />
15-
<PackageVersion Include="System.Collections.Immutable" Version="10.0.1" />
15+
<PackageVersion Include="System.Collections.Immutable" Version="10.0.2" />
1616
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" />
1717
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
1818
<PackageVersion Include="xunit.v3" Version="3.2.1" />

Light.Results.slnx

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,42 @@
11
<Solution>
2-
<Folder Name="/.github/" />
3-
<Folder Name="/.github/actions/" />
4-
<Folder Name="/.github/actions/cache-nuget/">
5-
<File Path=".github\actions\cache-nuget\action.yml" />
6-
</Folder>
7-
<Folder Name="/.github/workflows/">
8-
<File Path=".github\workflows\build-and-test.yml" />
9-
</Folder>
10-
<Folder Name="/ai-plans/">
11-
<File Path="ai-plans\0001-metadata.md" />
12-
<File Path="ai-plans\0003-result-optimization.md" />
13-
</Folder>
14-
<Folder Name="/benchmarks/">
15-
<Project Path="benchmarks/Benchmarks/Benchmarks.csproj" />
16-
</Folder>
17-
<Folder Name="/solution-items/">
2+
<Folder Name="/.github/" />
3+
<Folder Name="/.github/actions/" />
4+
<Folder Name="/.github/actions/cache-nuget/">
5+
<File Path=".github\actions\cache-nuget\action.yml" />
6+
</Folder>
7+
<Folder Name="/.github/workflows/">
8+
<File Path=".github\workflows\build-and-test.yml" />
9+
</Folder>
10+
<Folder Name="/ai-plans/">
11+
<File Path="ai-plans\0001-metadata.md" />
12+
<File Path="ai-plans\0003-result-optimization.md" />
13+
<File Path="ai-plans\0005-functional-extensions.md" />
14+
<File Path="ai-plans\0007-minimal-api-serialization.md" />
15+
</Folder>
16+
<Folder Name="/benchmarks/">
17+
<Project Path="benchmarks/Benchmarks/Benchmarks.csproj" />
18+
</Folder>
19+
<Folder Name="/solution-items/">
1820
<File Path=".editorconfig" />
1921
<File Path=".gitignore" />
22+
<File Path="agents.md" />
2023
<File Path="Directory.Build.props" />
2124
<File Path="Directory.Packages.props" />
22-
<File Path="global.json" />
25+
<File Path="global.json" />
2326
<File Path="LICENSE" />
2427
<File Path="Light.Results.sln.DotSettings" />
2528
</Folder>
2629
<Folder Name="/src/">
30+
<File Path="src\agents.md" />
2731
<Project Path="src/Light.Results/Light.Results.csproj" />
32+
<Project Path="src\Light.Results.AspNetCore.MinimalApis\Light.Results.AspNetCore.MinimalApis.csproj" />
33+
<Project Path="src\Light.Results.AspNetCore.Shared\Light.Results.AspNetCore.Shared.csproj" />
2834
</Folder>
2935
<Folder Name="/tests/">
36+
<File Path="tests\agents.md" />
3037
<Project Path="tests/Light.Results.Tests/Light.Results.Tests.csproj" />
38+
<Project
39+
Path="tests\Light.Results.AspNetCore.MinimalApis.Tests\Light.Results.AspNetCore.MinimalApis.Tests.csproj" />
40+
<Project Path="tests\Light.Results.AspNetCore.Shared.Tests\Light.Results.AspNetCore.Shared.Tests.csproj" />
3141
</Folder>
3242
</Solution>

agents.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Root Agents.md
2+
3+
Light.Results is a lightweight, high-performance library implementing the Result Pattern for .NET. It stands out for reducing allocations and being able to serialize and deserialize results across different protocols (HTTP via RFC-9457, gRPC, Asynchronous Messaging). Extensibility is less important than performance.
4+
5+
## General Rules
6+
7+
In our Directory.Build.props files in this solution, the following rules are defined:
8+
9+
- Implicit usings or global usings are not allowed - use explicit using statements for clarity.
10+
- Light.Results project is built with .NET Standard 2.0, but you can use C# 14 features.
11+
- All other projects use .NET 10, including the test projects.
12+
- The library is not published yet, you can make breaking changes.
13+
- `<TreatWarningsAsErrors>` is enabled in Release builds, so your code changes must not generate warnings.

0 commit comments

Comments
 (0)