Settings with a generated contract
Valiant Settings turns strongly typed configuration models into deterministic schemas. Use the same generated metadata for Options binding, validation, documentation, tooling, or the built-in ASP.NET Core settings explorer—without reflection-based assembly scanning.
using Valiant.Settings;
[ValiantSettings("Payments", configure: true)]
public sealed record PaymentSettings
{
public Uri? Endpoint { get; init; }
[ValiantSecret]
public string? ApiKey { get; init; }
}
One declaration, several uses
| Capability | Result |
|---|---|
| Schema | Model, property, nesting, collection, default, nullability, required, and secret metadata |
| Options | Generated section-aware Configure<TSettings> registration on opt-in models |
| Validation | IValidateOptions<TSettings> backed by a generated Valiant validator |
| UI | Built-in schema explorer and JSON endpoint with safe secret masking |
| Tooling | IValiantSettingsSchemaProvider for custom consumers |
Documentation map
- Quick start
- Runnable samples
- Schema generation
- Binding and validation
- ASP.NET Core UI
- Schema API, generation, and diagnostics
The sample catalog covers every selectable core and ASP.NET Core scenario for schema metadata, binding, validation, and the safe-by-default UI.