> ## Documentation Index
> Fetch the complete documentation index at: https://ancplua.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK Overview

> ANcpLua.NET.Sdk features and configuration options.

The SDK configures sensible defaults and includes tooling for .NET 10 projects.

## Variants

Choose the SDK variant that matches your project type:

| SDK                    | Project Type                           |
| ---------------------- | -------------------------------------- |
| `ANcpLua.NET.Sdk`      | Class libraries, Console apps, Workers |
| `ANcpLua.NET.Sdk.Web`  | ASP.NET Core APIs                      |
| `ANcpLua.NET.Sdk.Test` | xUnit v3 test projects                 |

See [Variants](/sdk/variants) for detailed configuration per variant.

## Base Features

All variants include:

| Feature                          | Description                      |
| -------------------------------- | -------------------------------- |
| [Banned APIs](/sdk/banned-apis)  | Prevents legacy API usage        |
| [Analyzers](/analyzers/overview) | Code quality rules               |
| Guard clauses                    | `Throw.IfNull()` and similar     |
| [Polyfills](/sdk/polyfills)      | Modern syntax for netstandard2.0 |
| Nullable                         | Enabled by default               |
| LangVersion                      | `latest`                         |

## Web Variant Additions

| Feature              | Description                                            |
| -------------------- | ------------------------------------------------------ |
| OpenTelemetry        | Logging, metrics, tracing                              |
| Auto-instrumentation | GenAI (OpenAI, Anthropic) and database (ADO.NET) spans |
| Health endpoints     | `/health`, `/alive`                                    |
| HTTP resilience      | Polly integration                                      |
| DevLogs              | Browser → server logging                               |

## Test Variant Additions

| Feature    | Description                                                                                                                  |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------- |
| xUnit v3   | With [Microsoft Testing Platform](https://learn.microsoft.com/en-us/dotnet/core/testing/microsoft-testing-platform-overview) |
| Coverage   | Built-in collection                                                                                                          |
| FakeLogger | Opt-in test logger                                                                                                           |

## Opt-in Properties

Enable additional features:

```xml theme={null}
<PropertyGroup>
  <InjectSourceGenHelpers>true</InjectSourceGenHelpers>
  <InjectFakeLogger>true</InjectFakeLogger>
  <InjectLockPolyfill>true</InjectLockPolyfill>
  <InjectTimeProviderPolyfill>true</InjectTimeProviderPolyfill>
</PropertyGroup>
```

## Opt-out Properties

Disable defaults:

```xml theme={null}
<PropertyGroup>
  <AutoRegisterServiceDefaults>false</AutoRegisterServiceDefaults>
  <GenerateClaudeMd>false</GenerateClaudeMd>
  <InjectSharedThrow>false</InjectSharedThrow>
  <IncludeDefaultBannedSymbols>false</IncludeDefaultBannedSymbols>
</PropertyGroup>
```

See [MSBuild Properties](/sdk/msbuild-properties) for the complete list.
