ANcpLua.NET.Sdk
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
<Sdk Name="ANcpLua.NET.Sdk" Version="1.0.0" />
For projects that support Sdk, copy this XML node into the project file to reference the package.
#:sdk ANcpLua.NET.Sdk@1.0.0
#:sdk directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
ANcpLua.NET.Sdk
MSBuild SDK with opinionated defaults for .NET projects.
Features
- Code Quality: BannedApiAnalyzers with predefined rules (no DateTime.Now, no Monitor.*, etc.)
- Test Support: xunit.v3 + Microsoft Testing Platform (MTP) auto-configuration
- CI Detection: Auto-enables strict mode on CI (GitHub Actions, Azure DevOps, GitLab)
- CLAUDE.md Generation: Auto-generates project documentation from MSBuild properties
- Shared Throw Helpers: Injected guard clause methods
Usage
Replace your SDK reference:
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="ANcpLua.NET.Sdk/1.0.0">
Or use alongside Microsoft.NET.Sdk:
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="ANcpLua.NET.Sdk" Version="1.0.0" />
</Project>
CLAUDE.md Generation
Add properties to your .csproj to auto-generate CLAUDE.md:
<PropertyGroup>
<ClaudePurpose>Backend service: API endpoints and data processing</ClaudePurpose>
<ClaudeLayer>backend</ClaudeLayer>
<ClaudeWorkflow>explore-plan-code-commit</ClaudeWorkflow>
</PropertyGroup>
<ItemGroup>
<ClaudeCriticalFile Include="Storage/Database.cs" Reason="Schema changes break data" />
<ClaudeAntiPattern Include="DateTime.Now" UseInstead="TimeProvider" Severity="error" />
<ClaudeRequiredPattern Include="Lock" Description=".NET 9+ Lock class" />
</ItemGroup>
Configuration
| Property | Default | Description |
|---|---|---|
InjectSharedThrow |
true |
Inject Throw.cs guard clauses |
InjectClaudeBrain |
true |
Generate CLAUDE.md on build |
EnableCodeCoverage |
true (CI only) |
Enable code coverage collection |
EnableDefaultTestSettings |
true |
Auto-configure test runner |
Banned APIs
The SDK enforces these rules via RS0030:
DateTime.Now/UtcNow/Today→ UseTimeProviderMonitor.Enter/Exit→ UseLock.EnterScope()Task.Delay→ UseTimeProvider.Delay()Newtonsoft.Json→ UseSystem.Text.Json
There are no supported framework assets in this package.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.6.5 | 28 | 1/14/2026 |
| 1.6.4 | 30 | 1/14/2026 |
| 1.6.3 | 66 | 1/13/2026 |
| 1.6.2 | 120 | 1/10/2026 |
| 1.6.1 | 83 | 1/10/2026 |
| 1.3.31 | 97 | 1/9/2026 |
| 1.3.30 | 80 | 1/9/2026 |
| 1.3.29 | 98 | 1/9/2026 |
| 1.3.28 | 230 | 1/9/2026 |
| 1.3.27 | 82 | 1/9/2026 |
| 1.3.26 | 87 | 1/9/2026 |
| 1.3.25 | 83 | 1/9/2026 |
| 1.3.24 | 84 | 1/9/2026 |
| 1.3.23 | 117 | 1/6/2026 |
| 1.3.22 | 105 | 1/6/2026 |
| 1.3.21 | 82 | 1/6/2026 |
| 1.3.20 | 93 | 1/2/2026 |
| 1.3.19 | 94 | 1/2/2026 |
| 1.3.18 | 126 | 1/1/2026 |
| 1.3.17 | 92 | 1/1/2026 |
| 1.3.16 | 99 | 12/31/2025 |
| 1.3.15 | 92 | 12/31/2025 |
| 1.3.14 | 91 | 12/31/2025 |
| 1.3.13 | 89 | 12/31/2025 |
| 1.3.12 | 94 | 12/31/2025 |
| 1.3.10 | 96 | 12/31/2025 |
| 1.3.9 | 91 | 12/31/2025 |
| 1.3.8 | 98 | 12/30/2025 |
| 1.3.7 | 159 | 12/30/2025 |
| 1.3.6 | 87 | 12/30/2025 |
| 1.3.5 | 97 | 12/30/2025 |
| 1.3.4 | 106 | 12/30/2025 |
| 1.3.3 | 93 | 12/30/2025 |
| 1.3.2 | 92 | 12/30/2025 |
| 1.3.1 | 92 | 12/30/2025 |
| 1.3.0 | 93 | 12/30/2025 |
| 1.2.4 | 104 | 12/29/2025 |
| 1.2.3 | 97 | 12/29/2025 |
| 1.2.2 | 97 | 12/29/2025 |
| 1.2.1 | 183 | 12/25/2025 |
| 1.2.0 | 205 | 12/24/2025 |
| 1.1.8 | 278 | 12/16/2025 |
| 1.1.7 | 267 | 12/16/2025 |
| 1.1.6 | 294 | 12/16/2025 |
| 1.1.5 | 256 | 12/16/2025 |
| 1.1.4 | 260 | 12/16/2025 |
| 1.1.3 | 261 | 12/16/2025 |
| 1.1.2 | 274 | 12/15/2025 |
| 1.1.1 | 239 | 12/15/2025 |
| 1.1.0 | 243 | 12/15/2025 |
| 1.0.0 | 174 | 12/14/2025 |
Initial release: BannedApiAnalyzers, conditional polyfills, xunit.v3 + MTP, CLAUDE.md generation