feat: Add RuleSync .NET SDK with Source Generators#1304
feat: Add RuleSync .NET SDK with Source Generators#1304rudironsoni wants to merge 7 commits intodyoshikawa:mainfrom
Conversation
This comment has been minimized.
This comment has been minimized.
4e9529c to
93c28ec
Compare
Actually, it's not feasible to do so. |
67c4083 to
93c28ec
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
3e5964b to
3322b0a
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
446e0d3 to
2294d31
Compare
This comment has been minimized.
This comment has been minimized.
2294d31 to
d9b4cb8
Compare
This comment has been minimized.
This comment has been minimized.
d9b4cb8 to
194988c
Compare
All findings resolved. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@rudironsoni Thank you for the PR. However I don't have experiences about the .NET ecosystem, so I'm not sure if I can maintain it in into the future. So can you create your repository for it? If so, I can link to your repository from the documentation of this repository. By the way, I'm sorry about this situation, so I would appreciate it if you could open an issue in advance for any new feature suggestions next time. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Add comprehensive test suite for RuleSync .NET SDK: - ClientSecurityTests.cs: Path validation security tests (12 tests) - ClientArgumentBuilderTests.cs: Enum validation and CLI argument tests (30+ tests) - ClientAsyncTests.cs: Async operation, disposal, and concurrent tests - JsonContextTests.cs: JSON serialization/deserialization tests - ResultEdgeCaseTests.cs: Result<T> pattern edge case tests - AssemblyInfo.cs: InternalsVisibleTo for testing internal APIs - ModelTests.cs: Extended with complete enum coverage (all 24 ToolTarget values) Results: - Tests: 31 → 232 (7.5x increase) - Coverage: ~25% → 90.05% (exceeds 80% target) - Line coverage: 335/372 lines - Branch coverage: 115/130 branches All priority areas covered: security, async operations, argument building, models, JSON context, and edge cases.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Add sdk/dotnet/.gitignore to exclude: - coverage-report/ (generated test coverage) - TestResults/ (dotnet test output) - bin/ and obj/ (build artifacts) - IDE files and user-specific settings
This comment has been minimized.
This comment has been minimized.
PR #91 Review: RuleSync .NET SDK with Source GeneratorsMergeability Verdict: NOT MERGEABLEThe PR contains 3 high-severity issues that must be fixed before merging. Additionally, the repository maintainer has indicated this PR will not be merged due to lack of .NET ecosystem experience and maintainability concerns (see comment). Code Review Findings🟠 HIGH Severity
🟡 MEDIUM Severity
🔵 LOW Severity
Security Review Findings🟡 MEDIUM Severity
🔵 LOW Severity
✅ Verified Security Fixes
Summary
Required Before Merge:
Important: The maintainer has requested the contributor create a separate repository for this SDK. Consider forking to a dedicated |
Remove invalid Assert.NotNull() calls on ValueTask<T> and Result<T> value types to fix xUnit2002 analyzer warnings treated as errors in CI. Changes: - ClientArgumentBuilderTests.cs: Replace var task + Assert.NotNull(task) with discard pattern _ = method call - ClientAsyncTests.cs: Replace Assert.All(results, r => Assert.NotNull(r)) with Assert.All(results, r => Assert.True(r.IsSuccess || r.IsFailure)) - ClientSecurityTests.cs: Same discard pattern fix CI was failing with: - Do not use Assert.NotNull() on value type 'ValueTask<Result<...>>' - Do not use Assert.NotNull() on value type 'Result<...>' Build: 0 warnings, 0 errors
- Remove all vacuous assertions (IsSuccess || IsFailure) from test files - Remove silent timeout handling that masked performance issues - Remove no-op Assert.True(true) assertions - Fix tool target naming: augmentcode-legacy and claudecode-legacy - Add missing cspell dictionary entries for security test strings - Add meaningful comments explaining test validation intent
I can be the maintainer of the dotnet sdk, I'm totally willing to contribute to your project. If you feel comfortable with it being a separate project, I'm ok. Your call! |
This PR introduces a comprehensive .NET SDK for RuleSync, enabling developers to generate AI tool configurations programmatically from .NET applications.
Features
SDK Usage
Generate AI Tool Configurations
Import from Existing Tools
Security Fixes (Addressed from Review)
Configuration Updates
Package Details
Checklist