# ANcpLua Framework ## Docs - [Configuration](https://ancplua.mintlify.app/analyzers/configuration.md): Configure analyzer rules via .editorconfig. - [Analyzers](https://ancplua.mintlify.app/analyzers/overview.md): Roslyn analyzers for modern C# patterns, OpenTelemetry, AOT safety, and ecosystem conventions. - [AL0001 - Prohibit reassignment of primary constructor parameters](https://ancplua.mintlify.app/analyzers/rules/AL0001.md): Primary constructor parameters should not be reassigned - [AL0002 - Don't repeat negated patterns](https://ancplua.mintlify.app/analyzers/rules/AL0002.md): The negated pattern should not be repeated multiple times - [AL0003 - Don't divide by constant zero](https://ancplua.mintlify.app/analyzers/rules/AL0003.md): Integers and Decimal should never be divided by the constant 0 - [AL0004 - Use pattern matching when comparing Span with constants](https://ancplua.mintlify.app/analyzers/rules/AL0004.md): Use pattern matching instead of equality operators for Span constant comparisons - [AL0005 - Use SequenceEqual when comparing Span with non-constants](https://ancplua.mintlify.app/analyzers/rules/AL0005.md): Use SequenceEqual instead of equality operators for Span non-constant comparisons - [AL0006 - Field name conflicts with primary constructor parameter](https://ancplua.mintlify.app/analyzers/rules/AL0006.md): Field names should not conflict with primary constructor parameters - [AL0007 - GetSchema should be explicitly implemented](https://ancplua.mintlify.app/analyzers/rules/AL0007.md): Implement IXmlSerializable.GetSchema explicitly to avoid exposing it as part of the public API - [AL0008 - GetSchema must return null and not be abstract](https://ancplua.mintlify.app/analyzers/rules/AL0008.md): GetSchema should return null according to IXmlSerializable guidance - [AL0009 - Don't call IXmlSerializable.GetSchema](https://ancplua.mintlify.app/analyzers/rules/AL0009.md): Calling GetSchema is not supported as it should always return null - [AL0010 - Type should be partial](https://ancplua.mintlify.app/analyzers/rules/AL0010.md): Types that are targets for source generators should be marked as partial - [AL0011 - Avoid lock keyword on non-Lock types](https://ancplua.mintlify.app/analyzers/rules/AL0011.md): The lock keyword on object/non-Lock types should be replaced with the Lock class - [AL0012 - Deprecated semantic convention attribute](https://ancplua.mintlify.app/analyzers/rules/AL0012.md): This attribute name has been deprecated in the OpenTelemetry semantic conventions - [AL0013 - Missing telemetry schema URL](https://ancplua.mintlify.app/analyzers/rules/AL0013.md): Setting the schema URL allows collectors and backends to understand which version of semantic conventions your telemetry uses - [AL0014 - Prefer pattern matching for null and zero comparisons](https://ancplua.mintlify.app/analyzers/rules/AL0014.md): Pattern matching syntax (is/is not) is more expressive and idiomatic - [AL0015 - Normalize null-guard style](https://ancplua.mintlify.app/analyzers/rules/AL0015.md): Null-guards should be normalized to the preferred project style - [AL0016 - Combine declaration with subsequent null-check](https://ancplua.mintlify.app/analyzers/rules/AL0016.md): Combines a variable declaration and an immediate null-check into a single pattern match - [AL0017 - Hardcoded package version detected](https://ancplua.mintlify.app/analyzers/rules/AL0017.md): Package versions should use MSBuild variables from Version.props for centralized version management - [AL0018 - Version.props not imported](https://ancplua.mintlify.app/analyzers/rules/AL0018.md): Directory.Build.props should import Version.props for centralized version management - [AL0019 - Undefined version variable](https://ancplua.mintlify.app/analyzers/rules/AL0019.md): Version variable referenced in Directory.Packages.props is not defined in Version.props - [AL0020 - IFormCollection requires explicit attribute](https://ancplua.mintlify.app/analyzers/rules/AL0020.md): IFormCollection parameters must have an explicit [FromForm] attribute - [AL0021 - Multiple structured form sources](https://ancplua.mintlify.app/analyzers/rules/AL0021.md): An endpoint can only have one structured form source - [AL0022 - Mixed form collection and DTO](https://ancplua.mintlify.app/analyzers/rules/AL0022.md): Mixing IFormCollection with a [FromForm] DTO is not supported - [AL0023 - Unsupported form type](https://ancplua.mintlify.app/analyzers/rules/AL0023.md): [FromForm] can only bind primitives, primitive collections, or DTOs with specific constructor requirements - [AL0024 - Form and body conflict](https://ancplua.mintlify.app/analyzers/rules/AL0024.md): Mixing [FromForm] and [FromBody] parameters in the same endpoint is not supported - [AL0025 - Anonymous function can be made static](https://ancplua.mintlify.app/analyzers/rules/AL0025.md): Lambda expressions and anonymous methods that don't capture variables should be marked 'static' - [AL0026 - Avoid DateTime time accessors](https://ancplua.mintlify.app/analyzers/rules/AL0026.md): DateTime.Now and DateTime.UtcNow make code difficult to test. Use TimeProvider instead. - [AL0027 - Avoid legacy JSON library](https://ancplua.mintlify.app/analyzers/rules/AL0027.md): Replace legacy JSON libraries with System.Text.Json for better performance and native .NET support - [AL0028 - Use IsEqualTo extension](https://ancplua.mintlify.app/analyzers/rules/AL0028.md): Replace SymbolEqualityComparer.Default.Equals calls with the cleaner IsEqualTo extension method - [AL0029 - Use HasAttribute extension](https://ancplua.mintlify.app/analyzers/rules/AL0029.md): Replace GetAttributes().Any() patterns with the cleaner HasAttribute extension method - [AL0030 - Use type hierarchy extensions](https://ancplua.mintlify.app/analyzers/rules/AL0030.md): Replace manual type hierarchy traversal with Implements() and InheritsFrom() extension methods - [AL0031 - Use operation extensions](https://ancplua.mintlify.app/analyzers/rules/AL0031.md): Replace manual operation property checks with IsMethodNamed() and TryGetConstantValue() extensions - [AL0032 - Use OrEmpty()](https://ancplua.mintlify.app/analyzers/rules/AL0032.md): Replace null-coalescing with empty collections using OrEmpty() extension - [AL0033 - Use ToImmutableArrayOrEmpty()](https://ancplua.mintlify.app/analyzers/rules/AL0033.md): Replace nullable ToImmutableArray patterns with ToImmutableArrayOrEmpty() extension - [AL0034 - Use WhereNotNull()](https://ancplua.mintlify.app/analyzers/rules/AL0034.md): Replace Where(x => x != null) with WhereNotNull() extension - [AL0035 - Use GetFullyQualifiedName/GetMetadataName()](https://ancplua.mintlify.app/analyzers/rules/AL0035.md): Replace ToDisplayString() with semantic name extensions - [AL0036 - Use Guard.NotNull()](https://ancplua.mintlify.app/analyzers/rules/AL0036.md): Replace null-coalescing throw patterns with Guard.NotNull() extension - [AL0037 - Use TryParse extensions](https://ancplua.mintlify.app/analyzers/rules/AL0037.md): Replace verbose TryParse ternary patterns with extension methods - [AL0038 - Use GetOrNull/GetOrDefault](https://ancplua.mintlify.app/analyzers/rules/AL0038.md): Replace TryGetValue ternary patterns with dictionary extensions - [AL0039 - Use StringComparison extensions](https://ancplua.mintlify.app/analyzers/rules/AL0039.md): Replace string methods with StringComparison parameter using named extensions - [AL0040 - Use attribute extensions](https://ancplua.mintlify.app/analyzers/rules/AL0040.md): Replace direct AttributeData access with GetConstructorArgument/GetNamedArgument extensions - [AL0041 - AotTest must return int](https://ancplua.mintlify.app/analyzers/rules/AL0041.md): Methods with [AotTest] or [TrimTest] attributes must return int as exit code - [AL0042 - AotTest should return 100](https://ancplua.mintlify.app/analyzers/rules/AL0042.md): [AotTest]/[TrimTest] methods should return 100 on success by convention - [AL0043 - TrimSafe violation](https://ancplua.mintlify.app/analyzers/rules/AL0043.md): [TrimSafe] code must not call methods with [RequiresUnreferencedCode] - [AL0044 - AotSafe violation](https://ancplua.mintlify.app/analyzers/rules/AL0044.md): [AotSafe] code must not call methods with [RequiresDynamicCode] - [AL0045 - Use null-or-empty guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0045.md): Use Guard.NotNullOrEmpty() instead of verbose if (string.IsNullOrEmpty(...)) throw patterns - [AL0046 - Use null-or-whitespace guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0046.md): Use Guard.NotNullOrWhiteSpace() instead of verbose patterns - [AL0047 - Use zero-guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0047.md): Use Guard.NotZero() instead of verbose if (x == 0) throw patterns - [AL0048 - Use non-negative guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0048.md): Use Guard.NotNegative() instead of verbose if (x < 0) throw patterns - [AL0049 - Use positive-guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0049.md): Use Guard.Positive() instead of verbose if (x <= 0) throw patterns - [AL0050 - Use empty-guid guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0050.md): Use Guard.NotEmpty() instead of verbose if (guid == Guid.Empty) throw patterns - [AL0051 - Use defined-enum guard helper](https://ancplua.mintlify.app/analyzers/rules/AL0051.md): Use Guard.DefinedEnum() instead of verbose if (!Enum.IsDefined) throw patterns - [AL0052 - AotSafe code must not call AotUnsafe code](https://ancplua.mintlify.app/analyzers/rules/AL0052.md): Code marked with [AotSafe] must not call methods marked with [AotUnsafe] - [AL0053 - Unnecessary AotUnsafe attribute](https://ancplua.mintlify.app/analyzers/rules/AL0053.md): The [AotUnsafe] attribute is applied to code that doesn't use any AOT-incompatible patterns - [AL0054 - Diagnostic missing from documentation](https://ancplua.mintlify.app/analyzers/rules/AL0054.md): Diagnostics defined in code should be documented - [AL0055 - Diagnostic missing from release notes](https://ancplua.mintlify.app/analyzers/rules/AL0055.md): Diagnostics should be tracked in release notes - [AL0056 - Diagnostic documentation mismatch](https://ancplua.mintlify.app/analyzers/rules/AL0056.md): Title, severity, or category in docs does not match source - [AL0057 - Avoid async void methods](https://ancplua.mintlify.app/analyzers/rules/AL0057.md): async void methods cannot be awaited and exceptions cannot be caught - [AL0058 - Avoid lock on this](https://ancplua.mintlify.app/analyzers/rules/AL0058.md): Locking on this exposes the lock target to external code, risking deadlocks - [AL0059 - Avoid lock on typeof(T)](https://ancplua.mintlify.app/analyzers/rules/AL0059.md): Type objects are global singletons, risking cross-assembly deadlocks - [AL0060 - Avoid lock on string](https://ancplua.mintlify.app/analyzers/rules/AL0060.md): String interning creates cross-assembly synchronization, risking deadlocks - [AL0061 - Activity/Span missing semantic convention attributes](https://ancplua.mintlify.app/analyzers/rules/AL0061.md): Spans should include semantic convention attributes for observability - [AL0062 - Deprecated semantic convention](https://ancplua.mintlify.app/analyzers/rules/AL0062.md): Attribute name deprecated in OpenTelemetry semantic conventions - [AL0063 - ActivitySource should be registered with AddSource()](https://ancplua.mintlify.app/analyzers/rules/AL0063.md): Unregistered ActivitySources will not emit spans - [AL0064 - GenAI span missing required attributes](https://ancplua.mintlify.app/analyzers/rules/AL0064.md): GenAI spans must include gen_ai.system, gen_ai.request.model, gen_ai.operation.name - [AL0065 - Use gen_ai.client.token.usage histogram](https://ancplua.mintlify.app/analyzers/rules/AL0065.md): Token metrics should use the standard histogram - [AL0066 - GenAI operation name should follow conventions](https://ancplua.mintlify.app/analyzers/rules/AL0066.md): Use 'chat', 'text_completion', or 'embeddings' as operation names - [AL0067 - Meter should be registered with AddMeter()](https://ancplua.mintlify.app/analyzers/rules/AL0067.md): Unregistered meters will not export metrics - [AL0068 - Metric name should follow naming conventions](https://ancplua.mintlify.app/analyzers/rules/AL0068.md): Use dot-separated namespaces and snake_case for metric names - [AL0069 - ServiceDefaults configuration incomplete](https://ancplua.mintlify.app/analyzers/rules/AL0069.md): ServiceDefaults should include tracing, metrics, and logging - [AL0070 - Collector endpoint should use OTLP protocol](https://ancplua.mintlify.app/analyzers/rules/AL0070.md): OTLP provides better performance than legacy protocols - [AL0071 - [Meter] class must be partial static](https://ancplua.mintlify.app/analyzers/rules/AL0071.md): Source generator requires the class to be partial static - [AL0072 - Metric method must be partial](https://ancplua.mintlify.app/analyzers/rules/AL0072.md): Source generator requires metric methods to be partial - [AL0073 - [Traced] requires non-empty ActivitySourceName](https://ancplua.mintlify.app/analyzers/rules/AL0073.md): Must identify the span source with a non-empty name - [AL0074 - Deprecated GenAI semantic convention](https://ancplua.mintlify.app/analyzers/rules/AL0074.md): GenAI attributes have been renamed or deprecated - [AL0075 - High-cardinality tag on metric](https://ancplua.mintlify.app/analyzers/rules/AL0075.md): Tags like user.id or request.id overwhelm metric backends - [AL0076 - Missing OpenTelemetry configuration](https://ancplua.mintlify.app/analyzers/rules/AL0076.md): Ensure AddOpenTelemetry() is called in service configuration - [AL0077 - Duplicate instrumentation detected](https://ancplua.mintlify.app/analyzers/rules/AL0077.md): Both auto and manual instrumentation creates duplicate spans - [AL0078 - Invalid ActivitySource name](https://ancplua.mintlify.app/analyzers/rules/AL0078.md): ActivitySource names should follow reverse-DNS convention - [AL0079 - Manual span recommended](https://ancplua.mintlify.app/analyzers/rules/AL0079.md): Complex async patterns benefit from manual spans for better tracing - [AL0080 - Missing resilience configuration](https://ancplua.mintlify.app/analyzers/rules/AL0080.md): HTTP clients should have resilience policies configured - [AL0081 - Missing health checks](https://ancplua.mintlify.app/analyzers/rules/AL0081.md): Health checks are essential for container orchestration - [AL0082 - Consider using configuration for connection string](https://ancplua.mintlify.app/analyzers/rules/AL0082.md): Do not hardcode connection strings in source code - [AL0083 - Insecure endpoint](https://ancplua.mintlify.app/analyzers/rules/AL0083.md): Use HTTPS for production endpoints - [AL0084 - Missing service discovery](https://ancplua.mintlify.app/analyzers/rules/AL0084.md): Use service names instead of hardcoded URLs - [AL0085 - Invalid attribute value](https://ancplua.mintlify.app/analyzers/rules/AL0085.md): Attribute values must conform to semantic convention format - [AL0086 - Incorrect attribute type](https://ancplua.mintlify.app/analyzers/rules/AL0086.md): Use correct types for OpenTelemetry attributes - [AL0087 - Prefer constant attribute](https://ancplua.mintlify.app/analyzers/rules/AL0087.md): Use constant fields instead of string literals for attribute names - [AL0088 - Sensitive data in span attribute](https://ancplua.mintlify.app/analyzers/rules/AL0088.md): Do not leak passwords, tokens, or secrets to telemetry - [AL0089 - Missing OTLP configuration](https://ancplua.mintlify.app/analyzers/rules/AL0089.md): Configure OTLP endpoint explicitly - [AL0090 - Uncompressed OTLP export](https://ancplua.mintlify.app/analyzers/rules/AL0090.md): Enable gzip compression for HTTP OTLP export - [AL0091 - Batch export disabled](https://ancplua.mintlify.app/analyzers/rules/AL0091.md): Use batch processors in production for better performance - [AL0092 - Consider configuring sampling](https://ancplua.mintlify.app/analyzers/rules/AL0092.md): High-volume services need sampling to control telemetry costs - [AL0093 - Missing resource attributes](https://ancplua.mintlify.app/analyzers/rules/AL0093.md): service.name and service.version are required resource attributes - [AL0094 - Avoid 'dynamic' keyword in AOT](https://ancplua.mintlify.app/analyzers/rules/AL0094.md): dynamic requires Reflection.Emit which is not available in AOT - [AL0095 - Avoid Expression.Compile() in AOT](https://ancplua.mintlify.app/analyzers/rules/AL0095.md): Expression.Compile() falls back to slow interpreted mode in AOT - [AL0096 - Enable EventSourceSupport for AOT with telemetry](https://ancplua.mintlify.app/analyzers/rules/AL0096.md): AOT trims EventSource by default, breaking telemetry - [AL0101 - Activator.CreateInstance is not AOT-safe](https://ancplua.mintlify.app/analyzers/rules/AL0101.md): Activator.CreateInstance uses reflection for instantiation - [AL0102 - Type.GetType with dynamic name is not AOT-safe](https://ancplua.mintlify.app/analyzers/rules/AL0102.md): Prevents static trimming analysis - [AL0103 - Closed type hierarchy switch exhaustiveness](https://ancplua.mintlify.app/analyzers/rules/AL0103.md): Switch on sealed hierarchy should cover all cases - [AL0104 - Prefer 'await using' for IAsyncDisposable](https://ancplua.mintlify.app/analyzers/rules/AL0104.md): 'using' calls sync Dispose() instead of DisposeAsync() - [AL0105 - Avoid blocking calls in async methods](https://ancplua.mintlify.app/analyzers/rules/AL0105.md): .Result/.Wait()/.GetAwaiter().GetResult() can deadlock in async code - [AL0106 - Avoid Task.Run in ASP.NET Core handlers](https://ancplua.mintlify.app/analyzers/rules/AL0106.md): ASP.NET Core already runs on the thread pool, Task.Run adds overhead - [AL0107 - Orphaned [TracedTag] attribute](https://ancplua.mintlify.app/analyzers/rules/AL0107.md): [TracedTag] on a parameter has no effect without [Traced] on the method or class - [AL0108 - Redundant [NoTrace] attribute](https://ancplua.mintlify.app/analyzers/rules/AL0108.md): [NoTrace] has no effect when the declaring type has no [Traced] attribute - [AL0109 - Non-interceptable [Traced] method](https://ancplua.mintlify.app/analyzers/rules/AL0109.md): [Traced] on abstract, extern, or partial definition methods cannot be intercepted - [AL0110 - [TracedTag] on out/ref parameter](https://ancplua.mintlify.app/analyzers/rules/AL0110.md): out/ref parameters cannot be captured as span tags because their value is set after the call - [AL0111 - SQL interpolation in CommandText](https://ancplua.mintlify.app/analyzers/rules/AL0111.md): Interpolated strings assigned to CommandText are a SQL injection vector; use parameterized queries instead - [AL0112 - Fire-and-forget task discard](https://ancplua.mintlify.app/analyzers/rules/AL0112.md): Discarded tasks from async methods will silently swallow exceptions; await the task or add explicit error handling - [AL0113 - Missing exception recording on Activity error status](https://ancplua.mintlify.app/analyzers/rules/AL0113.md): When setting an Activity status to Error in a catch block, the exception should be recorded as an event on the span for proper observability - [AL0114 - Prefer TryParse over Parse](https://ancplua.mintlify.app/analyzers/rules/AL0114.md): Parse methods throw FormatException on invalid input - [AL0115 - Empty catch block swallows exceptions](https://ancplua.mintlify.app/analyzers/rules/AL0115.md): Empty catch blocks silently swallow exceptions, making bugs invisible - [AL0116 - Exception details leaked in HTTP response](https://ancplua.mintlify.app/analyzers/rules/AL0116.md): Returning exception messages, stack traces, or ToString() output in HTTP responses can expose sensitive implementation details - [AL0117 - Unnecessary LINQ materialization](https://ancplua.mintlify.app/analyzers/rules/AL0117.md): Calling ToList() or ToArray() immediately after Where(), Select(), or other LINQ operators forces eager evaluation - [AL0118 - Read-modify-write without transaction](https://ancplua.mintlify.app/analyzers/rules/AL0118.md): A method that reads data and then writes based on that data without a transaction is vulnerable to race conditions - [AL0119 - Avoid storing ISymbol in source generator models](https://ancplua.mintlify.app/analyzers/rules/AL0119.md): ISymbol types do not implement value equality - [AL0120 - Use IIncrementalGenerator instead of ISourceGenerator](https://ancplua.mintlify.app/analyzers/rules/AL0120.md): ISourceGenerator (v1 API) runs on every keystroke without caching - [AL0121 - Avoid NormalizeWhitespace in source generators](https://ancplua.mintlify.app/analyzers/rules/AL0121.md): SyntaxFactory.NormalizeWhitespace() traverses the entire syntax tree to rewrite whitespace, which is expensive in source generators that run frequently - [AL0122 - [DuckDbTable] type must be partial](https://ancplua.mintlify.app/analyzers/rules/AL0122.md): The DuckDbInsertGenerator source generator creates additional methods (AddParameters, MapFromReader, BuildMultiRowInsertSql) on types marked with [DuckDbTable] - [AL0123 - Conflicting [DuckDbColumn] ordinal values](https://ancplua.mintlify.app/analyzers/rules/AL0123.md): Multiple properties in a [DuckDbTable] type have the same Ordinal value in their [DuckDbColumn] attribute - [AL0124 - Non-interceptable [AgentTraced]](https://ancplua.mintlify.app/analyzers/rules/AL0124.md): The [AgentTraced] attribute triggers compile-time interception to create agent spans - [AL0125 - Use *Any* string comparison extension](https://ancplua.mintlify.app/analyzers/rules/AL0125.md): Chained string equality comparisons (s == "a" || s == "b") can be collapsed into a single EqualsAnyOrdinal/EqualsAnyIgnoreCase call - [AL0126 - Forward CancellationToken to invocations that support it](https://ancplua.mintlify.app/analyzers/rules/AL0126.md): When a CancellationToken is available in scope and the invoked method has an overload accepting one, forward it to enable cooperative cancellation - [AL0127 - Outdated MAF ecosystem package version](https://ancplua.mintlify.app/analyzers/rules/AL0127.md): Detects outdated Microsoft Agent Framework and related package versions - [AL0128 - Destructive Loom tool must require approval](https://ancplua.mintlify.app/analyzers/rules/AL0128.md): Loom tools with destructive side effects (WritesExternalState, MutatesCode, Deploys, ClosesIssue) must declare [RequiresApproval] to ensure governance gates are in place before execution - [AL0129 - Loom tool should declare its side effect](https://ancplua.mintlify.app/analyzers/rules/AL0129.md): Every Loom tool should declare its side effect via [ToolSideEffect] on the method or containing type so that governance policies can be enforced automatically - [AL0130 - Loom tool should declare required capabilities](https://ancplua.mintlify.app/analyzers/rules/AL0130.md): Every Loom tool should declare its required capabilities via [RequiresCapability] on the method or containing type to enable fine-grained access control - [AL0131 - Direct GenAI SDK call bypasses automatic OTel instrumentation](https://ancplua.mintlify.app/analyzers/rules/AL0131.md): Calling a GenAI SDK type directly prevents automatic OpenTelemetry span emission - [AR0001 - Snake Case To Pascal Case](https://ancplua.mintlify.app/analyzers/rules/AR0001.md): Code refactoring that converts snake_case to PascalCase - [AR0002 - Make Static Lambda](https://ancplua.mintlify.app/analyzers/rules/AR0002.md): Code refactoring that makes a lambda expression static - [Get apiv1alertsfirings](https://ancplua.mintlify.app/api-reference/alerts/get-apiv1alertsfirings.md): List alert firings - [Get apiv1alertsfixes](https://ancplua.mintlify.app/api-reference/alerts/get-apiv1alertsfixes.md): List fix runs - [Get apiv1alertsfixes 1](https://ancplua.mintlify.app/api-reference/alerts/get-apiv1alertsfixes-1.md): Get fix run by ID - [Get apiv1alertsrules](https://ancplua.mintlify.app/api-reference/alerts/get-apiv1alertsrules.md): List alert rules - [Get apiv1alertsrules 1](https://ancplua.mintlify.app/api-reference/alerts/get-apiv1alertsrules-1.md): Get alert rule by ID - [Get fix run](https://ancplua.mintlify.app/api-reference/alerts/get-fix-run.md): Get fix run by ID - [Get rule](https://ancplua.mintlify.app/api-reference/alerts/get-rule.md): Get alert rule by ID - [List firings](https://ancplua.mintlify.app/api-reference/alerts/list-firings.md): List alert firings - [List fix runs](https://ancplua.mintlify.app/api-reference/alerts/list-fix-runs.md): List fix runs - [List rules](https://ancplua.mintlify.app/api-reference/alerts/list-rules.md): List alert rules - [Create job](https://ancplua.mintlify.app/api-reference/configurator/create-job.md): Create a generation job - [Create profile](https://ancplua.mintlify.app/api-reference/configurator/create-profile.md): Create generation profile - [Get apiv1configuratorjobs](https://ancplua.mintlify.app/api-reference/configurator/get-apiv1configuratorjobs.md): Get generation job status - [Get apiv1configuratorprofiles](https://ancplua.mintlify.app/api-reference/configurator/get-apiv1configuratorprofiles.md): List generation profiles - [Get apiv1configuratorprofiles 1](https://ancplua.mintlify.app/api-reference/configurator/get-apiv1configuratorprofiles-1.md): Get generation profile by ID - [Get apiv1configuratorselections](https://ancplua.mintlify.app/api-reference/configurator/get-apiv1configuratorselections.md): Get generation selections for a workspace - [Get job](https://ancplua.mintlify.app/api-reference/configurator/get-job.md): Get generation job status - [Get profile](https://ancplua.mintlify.app/api-reference/configurator/get-profile.md): Get generation profile by ID - [Get selections](https://ancplua.mintlify.app/api-reference/configurator/get-selections.md): Get generation selections for a workspace - [List profiles](https://ancplua.mintlify.app/api-reference/configurator/list-profiles.md): List generation profiles - [Post apiv1configuratorjobs](https://ancplua.mintlify.app/api-reference/configurator/post-apiv1configuratorjobs.md): Create a generation job - [Post apiv1configuratorprofiles](https://ancplua.mintlify.app/api-reference/configurator/post-apiv1configuratorprofiles.md): Create generation profile - [Post apiv1configuratorselections](https://ancplua.mintlify.app/api-reference/configurator/post-apiv1configuratorselections.md): Save generation selections - [Save selections](https://ancplua.mintlify.app/api-reference/configurator/save-selections.md): Save generation selections - [Create deployment](https://ancplua.mintlify.app/api-reference/deployments/create-deployment.md): Record new deployment - [Dora metrics](https://ancplua.mintlify.app/api-reference/deployments/dora-metrics.md): Get DORA metrics - [Get apiv1deployments](https://ancplua.mintlify.app/api-reference/deployments/get-apiv1deployments.md): List deployments - [Get apiv1deployments 1](https://ancplua.mintlify.app/api-reference/deployments/get-apiv1deployments-1.md): Get deployment by ID - [Get apiv1deploymentsmetricsdora](https://ancplua.mintlify.app/api-reference/deployments/get-apiv1deploymentsmetricsdora.md): Get DORA metrics - [Get deployment](https://ancplua.mintlify.app/api-reference/deployments/get-deployment.md): Get deployment by ID - [List deployments](https://ancplua.mintlify.app/api-reference/deployments/list-deployments.md): List deployments - [Patch apiv1deployments](https://ancplua.mintlify.app/api-reference/deployments/patch-apiv1deployments.md): Update deployment status - [Post apiv1deployments](https://ancplua.mintlify.app/api-reference/deployments/post-apiv1deployments.md): Record new deployment - [Update deployment](https://ancplua.mintlify.app/api-reference/deployments/update-deployment.md): Update deployment status - [Correlations](https://ancplua.mintlify.app/api-reference/errors/correlations.md): Get error correlations - [Get apiv1errors](https://ancplua.mintlify.app/api-reference/errors/get-apiv1errors.md): List error groups - [Get apiv1errors 1](https://ancplua.mintlify.app/api-reference/errors/get-apiv1errors-1.md): Get error by ID - [Get apiv1errors correlations](https://ancplua.mintlify.app/api-reference/errors/get-apiv1errors-correlations.md): Get error correlations - [Get apiv1errorsstats](https://ancplua.mintlify.app/api-reference/errors/get-apiv1errorsstats.md): Get error statistics - [Get error](https://ancplua.mintlify.app/api-reference/errors/get-error.md): Get error by ID - [List errors](https://ancplua.mintlify.app/api-reference/errors/list-errors.md): List error groups - [Patch apiv1errors](https://ancplua.mintlify.app/api-reference/errors/patch-apiv1errors.md): Update error status - [Stats](https://ancplua.mintlify.app/api-reference/errors/stats.md): Get error statistics - [Update error](https://ancplua.mintlify.app/api-reference/errors/update-error.md): Update error status - [Get health](https://ancplua.mintlify.app/api-reference/health/get-health.md): Health check endpoint - [Get healthlive](https://ancplua.mintlify.app/api-reference/health/get-healthlive.md): Liveness probe - [Get healthready](https://ancplua.mintlify.app/api-reference/health/get-healthready.md): Readiness probe - [Health check](https://ancplua.mintlify.app/api-reference/health/health-check.md): Health check endpoint - [Liveness](https://ancplua.mintlify.app/api-reference/health/liveness.md): Liveness probe - [Readiness](https://ancplua.mintlify.app/api-reference/health/readiness.md): Readiness probe - [qyl Observability API](https://ancplua.mintlify.app/api-reference/introduction.md): REST API for querying traces, logs, metrics, sessions, and deployments from the qyl observability platform. - [Breadcrumbs](https://ancplua.mintlify.app/api-reference/issues/breadcrumbs.md): Get issue breadcrumbs - [Events](https://ancplua.mintlify.app/api-reference/issues/events.md): Get issue events - [Get apiv1issues](https://ancplua.mintlify.app/api-reference/issues/get-apiv1issues.md): List error issues - [Get apiv1issues 1](https://ancplua.mintlify.app/api-reference/issues/get-apiv1issues-1.md): Get issue by ID - [Get apiv1issues breadcrumbs](https://ancplua.mintlify.app/api-reference/issues/get-apiv1issues-breadcrumbs.md): Get issue breadcrumbs - [Get apiv1issues events](https://ancplua.mintlify.app/api-reference/issues/get-apiv1issues-events.md): Get issue events - [Get issue](https://ancplua.mintlify.app/api-reference/issues/get-issue.md): Get issue by ID - [List issues](https://ancplua.mintlify.app/api-reference/issues/list-issues.md): List error issues - [Patch apiv1issues](https://ancplua.mintlify.app/api-reference/issues/patch-apiv1issues.md): Update issue status - [Update issue](https://ancplua.mintlify.app/api-reference/issues/update-issue.md): Update issue status - [Aggregate](https://ancplua.mintlify.app/api-reference/logs/aggregate.md): Aggregate logs - [Get apiv1logs](https://ancplua.mintlify.app/api-reference/logs/get-apiv1logs.md): Query logs with filtering and pagination - [Get apiv1logspatterns](https://ancplua.mintlify.app/api-reference/logs/get-apiv1logspatterns.md): Get log patterns - [Get apiv1logsstats](https://ancplua.mintlify.app/api-reference/logs/get-apiv1logsstats.md): Get log statistics - [List logs](https://ancplua.mintlify.app/api-reference/logs/list-logs.md): Query logs with filtering and pagination - [Patterns](https://ancplua.mintlify.app/api-reference/logs/patterns.md): Get log patterns - [Post apiv1logsaggregate](https://ancplua.mintlify.app/api-reference/logs/post-apiv1logsaggregate.md): Aggregate logs - [Post apiv1logssearch](https://ancplua.mintlify.app/api-reference/logs/post-apiv1logssearch.md): Search logs with complex query - [Search logs](https://ancplua.mintlify.app/api-reference/logs/search-logs.md): Search logs with complex query - [Stats](https://ancplua.mintlify.app/api-reference/logs/stats.md): Get log statistics - [Get apiv1metrics](https://ancplua.mintlify.app/api-reference/metrics/get-apiv1metrics.md): List available metrics - [Get apiv1metrics 1](https://ancplua.mintlify.app/api-reference/metrics/get-apiv1metrics-1.md): Get metric metadata - [List metrics](https://ancplua.mintlify.app/api-reference/metrics/list-metrics.md): List available metrics - [Metadata](https://ancplua.mintlify.app/api-reference/metrics/metadata.md): Get metric metadata - [Post apiv1metricsquery](https://ancplua.mintlify.app/api-reference/metrics/post-apiv1metricsquery.md): Query metric data points - [Query](https://ancplua.mintlify.app/api-reference/metrics/query.md): Query metric data points - [Get apiv1onboardinghandshake](https://ancplua.mintlify.app/api-reference/onboarding/get-apiv1onboardinghandshake.md): Get handshake session status - [Get handshake](https://ancplua.mintlify.app/api-reference/onboarding/get-handshake.md): Get handshake session status - [Post apiv1onboardinghandshake](https://ancplua.mintlify.app/api-reference/onboarding/post-apiv1onboardinghandshake.md): Start a new handshake session - [Post apiv1onboardinghandshake verify](https://ancplua.mintlify.app/api-reference/onboarding/post-apiv1onboardinghandshake-verify.md): Complete handshake verification - [Start handshake](https://ancplua.mintlify.app/api-reference/onboarding/start-handshake.md): Start a new handshake session - [Verify handshake](https://ancplua.mintlify.app/api-reference/onboarding/verify-handshake.md): Complete handshake verification - [Get apiv1searchsuggestions](https://ancplua.mintlify.app/api-reference/search/get-apiv1searchsuggestions.md): Get search suggestions - [Post apiv1search](https://ancplua.mintlify.app/api-reference/search/post-apiv1search.md): Unified search across all entity types - [Search](https://ancplua.mintlify.app/api-reference/search/search.md): Unified search across all entity types - [Suggestions](https://ancplua.mintlify.app/api-reference/search/suggestions.md): Get search suggestions - [Dependencies](https://ancplua.mintlify.app/api-reference/services/dependencies.md): Get service dependencies - [Get apiv1services](https://ancplua.mintlify.app/api-reference/services/get-apiv1services.md): List discovered services - [Get apiv1services 1](https://ancplua.mintlify.app/api-reference/services/get-apiv1services-1.md): Get service details - [Get apiv1services dependencies](https://ancplua.mintlify.app/api-reference/services/get-apiv1services-dependencies.md): Get service dependencies - [Get apiv1services operations](https://ancplua.mintlify.app/api-reference/services/get-apiv1services-operations.md): Get service operations - [Get service](https://ancplua.mintlify.app/api-reference/services/get-service.md): Get service details - [List services](https://ancplua.mintlify.app/api-reference/services/list-services.md): List discovered services - [Operations](https://ancplua.mintlify.app/api-reference/services/operations.md): Get service operations - [Get apiv1sessions](https://ancplua.mintlify.app/api-reference/sessions/get-apiv1sessions.md): List sessions - [Get apiv1sessions 1](https://ancplua.mintlify.app/api-reference/sessions/get-apiv1sessions-1.md): Get session by ID - [Get apiv1sessions traces](https://ancplua.mintlify.app/api-reference/sessions/get-apiv1sessions-traces.md): Get session traces - [Get apiv1sessionsstats](https://ancplua.mintlify.app/api-reference/sessions/get-apiv1sessionsstats.md): Get session statistics - [Get session](https://ancplua.mintlify.app/api-reference/sessions/get-session.md): Get session by ID - [List sessions](https://ancplua.mintlify.app/api-reference/sessions/list-sessions.md): List sessions - [Session traces](https://ancplua.mintlify.app/api-reference/sessions/session-traces.md): Get session traces - [Stats](https://ancplua.mintlify.app/api-reference/sessions/stats.md): Get session statistics - [Get apiv1streamdeployments](https://ancplua.mintlify.app/api-reference/streaming/get-apiv1streamdeployments.md): Stream deployment events - [Get apiv1streamevents](https://ancplua.mintlify.app/api-reference/streaming/get-apiv1streamevents.md): Stream all telemetry events (SSE) - [Get apiv1streamlogs](https://ancplua.mintlify.app/api-reference/streaming/get-apiv1streamlogs.md): Stream logs in real-time - [Get apiv1streammetrics](https://ancplua.mintlify.app/api-reference/streaming/get-apiv1streammetrics.md): Stream metrics in real-time - [Get apiv1streamtraces](https://ancplua.mintlify.app/api-reference/streaming/get-apiv1streamtraces.md): Stream traces in real-time - [Get apiv1streamtraces spans](https://ancplua.mintlify.app/api-reference/streaming/get-apiv1streamtraces-spans.md): Stream spans for a specific trace - [Stream deployments](https://ancplua.mintlify.app/api-reference/streaming/stream-deployments.md): Stream deployment events - [Stream events](https://ancplua.mintlify.app/api-reference/streaming/stream-events.md): Stream all telemetry events (SSE) - [Stream logs](https://ancplua.mintlify.app/api-reference/streaming/stream-logs.md): Stream logs in real-time - [Stream metrics](https://ancplua.mintlify.app/api-reference/streaming/stream-metrics.md): Stream metrics in real-time - [Stream trace spans](https://ancplua.mintlify.app/api-reference/streaming/stream-trace-spans.md): Stream spans for a specific trace - [Stream traces](https://ancplua.mintlify.app/api-reference/streaming/stream-traces.md): Stream traces in real-time - [Get apiv1traces](https://ancplua.mintlify.app/api-reference/traces/get-apiv1traces.md): List traces with pagination - [Get apiv1traces 1](https://ancplua.mintlify.app/api-reference/traces/get-apiv1traces-1.md): Get a specific trace by ID - [Get apiv1traces spans](https://ancplua.mintlify.app/api-reference/traces/get-apiv1traces-spans.md): Get spans for a trace - [Get spans](https://ancplua.mintlify.app/api-reference/traces/get-spans.md): Get spans for a trace - [Get trace](https://ancplua.mintlify.app/api-reference/traces/get-trace.md): Get a specific trace by ID - [List traces](https://ancplua.mintlify.app/api-reference/traces/list-traces.md): List traces with pagination - [Post apiv1tracessearch](https://ancplua.mintlify.app/api-reference/traces/post-apiv1tracessearch.md): Search traces - [Search traces](https://ancplua.mintlify.app/api-reference/traces/search-traces.md): Search traces - [Approve step](https://ancplua.mintlify.app/api-reference/workflows/approve-step.md): Approve a pending workflow step - [Get apiv1workflowsruns](https://ancplua.mintlify.app/api-reference/workflows/get-apiv1workflowsruns.md): List workflow runs - [Get apiv1workflowsruns 1](https://ancplua.mintlify.app/api-reference/workflows/get-apiv1workflowsruns-1.md): Get workflow run by ID - [Get apiv1workflowsruns events](https://ancplua.mintlify.app/api-reference/workflows/get-apiv1workflowsruns-events.md): Get workflow events - [Get apiv1workflowsruns nodes](https://ancplua.mintlify.app/api-reference/workflows/get-apiv1workflowsruns-nodes.md): Get workflow run nodes - [Get run](https://ancplua.mintlify.app/api-reference/workflows/get-run.md): Get workflow run by ID - [List runs](https://ancplua.mintlify.app/api-reference/workflows/list-runs.md): List workflow runs - [Post apiv1workflowsruns nodes approve](https://ancplua.mintlify.app/api-reference/workflows/post-apiv1workflowsruns-nodes-approve.md): Approve a pending workflow step - [Post apiv1workflowsruns resume](https://ancplua.mintlify.app/api-reference/workflows/post-apiv1workflowsruns-resume.md): Resume a paused workflow - [Resume run](https://ancplua.mintlify.app/api-reference/workflows/resume-run.md): Resume a paused workflow - [Run events](https://ancplua.mintlify.app/api-reference/workflows/run-events.md): Get workflow events - [Run nodes](https://ancplua.mintlify.app/api-reference/workflows/run-nodes.md): Get workflow run nodes - [Create project](https://ancplua.mintlify.app/api-reference/workspaces/create-project.md): Create a new project - [Get apiv1workspacescurrent](https://ancplua.mintlify.app/api-reference/workspaces/get-apiv1workspacescurrent.md): Get current workspace envelope - [Get apiv1workspacesprojects](https://ancplua.mintlify.app/api-reference/workspaces/get-apiv1workspacesprojects.md): List projects - [Get apiv1workspacesprojects 1](https://ancplua.mintlify.app/api-reference/workspaces/get-apiv1workspacesprojects-1.md): Get project by ID - [Get apiv1workspacesprojects environments](https://ancplua.mintlify.app/api-reference/workspaces/get-apiv1workspacesprojects-environments.md): List environments for a project - [Get current](https://ancplua.mintlify.app/api-reference/workspaces/get-current.md): Get current workspace envelope - [Get project](https://ancplua.mintlify.app/api-reference/workspaces/get-project.md): Get project by ID - [Heartbeat](https://ancplua.mintlify.app/api-reference/workspaces/heartbeat.md): Register workspace heartbeat - [List environments](https://ancplua.mintlify.app/api-reference/workspaces/list-environments.md): List environments for a project - [List projects](https://ancplua.mintlify.app/api-reference/workspaces/list-projects.md): List projects - [Post apiv1workspacescurrentheartbeat](https://ancplua.mintlify.app/api-reference/workspaces/post-apiv1workspacescurrentheartbeat.md): Register workspace heartbeat - [Post apiv1workspacesprojects](https://ancplua.mintlify.app/api-reference/workspaces/post-apiv1workspacesprojects.md): Create a new project - [Auth monitoring](https://ancplua.mintlify.app/datzi/automation/auth-monitoring.md) - [Cron jobs (Gateway scheduler)](https://ancplua.mintlify.app/datzi/automation/cron-jobs.md) - [Cron vs Heartbeat: When to Use Each](https://ancplua.mintlify.app/datzi/automation/cron-vs-heartbeat.md) - [Gmail Pub/Sub -> Datzi](https://ancplua.mintlify.app/datzi/automation/gmail-pubsub.md) - [Hooks](https://ancplua.mintlify.app/datzi/automation/hooks.md) - [Polls](https://ancplua.mintlify.app/datzi/automation/poll.md) - [Automation troubleshooting](https://ancplua.mintlify.app/datzi/automation/troubleshooting.md) - [Webhooks](https://ancplua.mintlify.app/datzi/automation/webhook.md) - [Broadcast Groups](https://ancplua.mintlify.app/datzi/channels/broadcast-groups.md) - [Channels & routing](https://ancplua.mintlify.app/datzi/channels/channel-routing.md) - [Discord (Bot API)](https://ancplua.mintlify.app/datzi/channels/discord.md) - [Groups](https://ancplua.mintlify.app/datzi/channels/groups.md) - [iMessage (legacy: imsg)](https://ancplua.mintlify.app/datzi/channels/imessage.md) - [Chat Channels](https://ancplua.mintlify.app/datzi/channels/index.md) - [Pairing](https://ancplua.mintlify.app/datzi/channels/pairing.md) - [Slack](https://ancplua.mintlify.app/datzi/channels/slack.md) - [Telegram (Bot API)](https://ancplua.mintlify.app/datzi/channels/telegram.md) - [Channel troubleshooting](https://ancplua.mintlify.app/datzi/channels/troubleshooting.md) - [WhatsApp (Web channel)](https://ancplua.mintlify.app/datzi/channels/whatsapp.md) - [Agent Runtime 🤖](https://ancplua.mintlify.app/datzi/concepts/agent.md) - [Agent Loop (Datzi)](https://ancplua.mintlify.app/datzi/concepts/agent-loop.md) - [Agent workspace](https://ancplua.mintlify.app/datzi/concepts/agent-workspace.md) - [Context Window & Compaction](https://ancplua.mintlify.app/datzi/concepts/compaction.md) - [Context](https://ancplua.mintlify.app/datzi/concepts/context.md) - [Memory](https://ancplua.mintlify.app/datzi/concepts/memory.md) - [Model failover](https://ancplua.mintlify.app/datzi/concepts/model-failover.md) - [Model providers](https://ancplua.mintlify.app/datzi/concepts/model-providers.md) - [Models CLI](https://ancplua.mintlify.app/datzi/concepts/models.md) - [Multi-Agent Routing](https://ancplua.mintlify.app/datzi/concepts/multi-agent.md) - [Session Management](https://ancplua.mintlify.app/datzi/concepts/session.md) - [Authentication](https://ancplua.mintlify.app/datzi/gateway/authentication.md) - [Configuration](https://ancplua.mintlify.app/datzi/gateway/configuration.md) - [Configuration Examples](https://ancplua.mintlify.app/datzi/gateway/configuration-examples.md) - [Configuration Reference](https://ancplua.mintlify.app/datzi/gateway/configuration-reference.md) - [Health Checks (CLI)](https://ancplua.mintlify.app/datzi/gateway/health.md) - [Heartbeat (Gateway)](https://ancplua.mintlify.app/datzi/gateway/heartbeat.md) - [Gateway runbook](https://ancplua.mintlify.app/datzi/gateway/index.md) - [Local models](https://ancplua.mintlify.app/datzi/gateway/local-models.md) - [Logging](https://ancplua.mintlify.app/datzi/gateway/logging.md) - [Remote access (SSH, tunnels, and tailnets)](https://ancplua.mintlify.app/datzi/gateway/remote.md) - [Sandboxing](https://ancplua.mintlify.app/datzi/gateway/sandboxing.md) - [Gateway troubleshooting](https://ancplua.mintlify.app/datzi/gateway/troubleshooting.md) - [Debugging](https://ancplua.mintlify.app/datzi/help/debugging.md) - [Environment variables](https://ancplua.mintlify.app/datzi/help/environment.md) - [FAQ](https://ancplua.mintlify.app/datzi/help/faq.md) - [Troubleshooting](https://ancplua.mintlify.app/datzi/help/troubleshooting.md) - [Install](https://ancplua.mintlify.app/datzi/install/index.md) - [Installer internals](https://ancplua.mintlify.app/datzi/install/installer.md) - [Migrating Datzi to a new machine](https://ancplua.mintlify.app/datzi/install/migrating.md) - [Uninstall](https://ancplua.mintlify.app/datzi/install/uninstall.md) - [Updating](https://ancplua.mintlify.app/datzi/install/updating.md) - [Audio / Voice Notes](https://ancplua.mintlify.app/datzi/nodes/audio.md) - [Camera Capture](https://ancplua.mintlify.app/datzi/nodes/camera.md) - [Nodes](https://ancplua.mintlify.app/datzi/nodes/index.md) - [Talk Mode](https://ancplua.mintlify.app/datzi/nodes/talk.md) - [Node Troubleshooting](https://ancplua.mintlify.app/datzi/nodes/troubleshooting.md) - [Voice Wake (Global Wake Words)](https://ancplua.mintlify.app/datzi/nodes/voicewake.md) - [Datzi 🐟](https://ancplua.mintlify.app/datzi/overview.md): Your personal free-spirit goldfish AI — local, open-source, and deeply loyal. - [Android App (Node)](https://ancplua.mintlify.app/datzi/platforms/android.md) - [iOS App (Node)](https://ancplua.mintlify.app/datzi/platforms/ios.md) - [Canvas (macOS app)](https://ancplua.mintlify.app/datzi/platforms/mac/canvas.md) - [Menu Bar Status Logic](https://ancplua.mintlify.app/datzi/platforms/mac/menu-bar.md) - [Peekaboo Bridge (macOS UI automation)](https://ancplua.mintlify.app/datzi/platforms/mac/peekaboo.md) - [macOS permissions (TCC)](https://ancplua.mintlify.app/datzi/platforms/mac/permissions.md) - [Voice Overlay Lifecycle (macOS)](https://ancplua.mintlify.app/datzi/platforms/mac/voice-overlay.md) - [Voice Wake & Push-to-Talk](https://ancplua.mintlify.app/datzi/platforms/mac/voicewake.md) - [Datzi macOS Companion (menu bar + gateway broker)](https://ancplua.mintlify.app/datzi/platforms/macos.md) - [Session Management & Compaction (Deep Dive)](https://ancplua.mintlify.app/datzi/reference/session-management-compaction.md) - [AGENTS.md - Your Workspace](https://ancplua.mintlify.app/datzi/reference/templates/AGENTS.md) - [HEARTBEAT.md](https://ancplua.mintlify.app/datzi/reference/templates/HEARTBEAT.md) - [SOUL.md - Who You Are](https://ancplua.mintlify.app/datzi/reference/templates/SOUL.md) - [TOOLS.md - Local Notes](https://ancplua.mintlify.app/datzi/reference/templates/TOOLS.md) - [USER.md - About Your Human](https://ancplua.mintlify.app/datzi/reference/templates/USER.md) - [Token use & costs](https://ancplua.mintlify.app/datzi/reference/token-use.md) - [Agent Bootstrapping](https://ancplua.mintlify.app/datzi/start/bootstrapping.md) - [Getting Started](https://ancplua.mintlify.app/datzi/start/getting-started.md) - [Onboarding (macOS App)](https://ancplua.mintlify.app/datzi/start/onboarding.md) - [Onboarding Wizard (CLI)](https://ancplua.mintlify.app/datzi/start/wizard.md) - [Browser (datzi-managed)](https://ancplua.mintlify.app/datzi/tools/browser.md) - [Elevated Mode (/elevated directives)](https://ancplua.mintlify.app/datzi/tools/elevated.md) - [Exec tool](https://ancplua.mintlify.app/datzi/tools/exec.md) - [Tools (Datzi)](https://ancplua.mintlify.app/datzi/tools/index.md) - [Reaction tooling](https://ancplua.mintlify.app/datzi/tools/reactions.md) - [Skills (Datzi)](https://ancplua.mintlify.app/datzi/tools/skills.md) - [Slash commands](https://ancplua.mintlify.app/datzi/tools/slash-commands.md) - [Sub-agents](https://ancplua.mintlify.app/datzi/tools/subagents.md) - [Thinking Levels (/think directives)](https://ancplua.mintlify.app/datzi/tools/thinking.md) - [Web Tools](https://ancplua.mintlify.app/datzi/tools/web.md) - [API Versioning](https://ancplua.mintlify.app/erroror/api-versioning.md): Full API versioning support with Asp.Versioning.Http integration - [Diagnostics](https://ancplua.mintlify.app/erroror/diagnostics.md): ErrorOrX analyzer diagnostics reference - [Endpoint Generator](https://ancplua.mintlify.app/erroror/generator.md): Source generator for ASP.NET Core Minimal API integration - [HTTP Status Mapping](https://ancplua.mintlify.app/erroror/http-mapping.md): ErrorType to HTTP status code and TypedResults mapping - [ErrorOrX Overview](https://ancplua.mintlify.app/erroror/overview.md): Discriminated unions for .NET with fluent error handling and ASP.NET Core integration - [ANcpLua.NET.Sdk](https://ancplua.mintlify.app/index.md): MSBuild SDK with Roslyn analyzers, polyfills, and sensible defaults for .NET 10. - [Diagnostics](https://ancplua.mintlify.app/netagents/diagnostics.md): Generator diagnostics for MCP server validation. - [MCP Server Generator](https://ancplua.mintlify.app/netagents/generator.md): Source generator producing MCP dispatch, JSON Schema, OTel instrumentation, and SKILL.md at compile time. - [Hosting](https://ancplua.mintlify.app/netagents/hosting.md): Run MCP servers over stdio or HTTP with built-in discovery endpoints. - [netagents](https://ancplua.mintlify.app/netagents/overview.md): Compile-time MCP server generator and .agents skill package manager for .NET. - [Quickstart](https://ancplua.mintlify.app/quickstart.md): Install ANcpLua.NET.Sdk in your .NET 10 project. - [Configuration](https://ancplua.mintlify.app/qyl/configuration.md): Environment variables and configuration options - [Dashboard](https://ancplua.mintlify.app/qyl/dashboard.md): React 19 dashboard with real-time telemetry visualization - [MCP Server](https://ancplua.mintlify.app/qyl/mcp.md): Model Context Protocol server for AI agent telemetry access - [Overview](https://ancplua.mintlify.app/qyl/overview.md): qyl - Question Your Logs: AI-first observability platform with persistent storage - [Schema Validation](https://ancplua.mintlify.app/qyl/schema-validation.md): Automated OpenAPI schema diff and drift detection in the NUKE build system. - [Banned APIs](https://ancplua.mintlify.app/sdk/banned-apis.md): Legacy APIs banned by default with modern alternatives. - [Configuration Files](https://ancplua.mintlify.app/sdk/configuration-files.md): Pre-configured settings for analyzers and code style - [Extensions](https://ancplua.mintlify.app/sdk/extensions.md): Opt-in extensions injected via MSBuild properties. - [MSBuild Properties Reference](https://ancplua.mintlify.app/sdk/msbuild-properties.md): Complete reference of all MSBuild properties available in ANcpLua.NET.Sdk - [SDK Overview](https://ancplua.mintlify.app/sdk/overview.md): ANcpLua.NET.Sdk features and configuration options. - [Polyfills](https://ancplua.mintlify.app/sdk/polyfills.md): Modern C# features for netstandard2.0 targets. - [Service Defaults (Web SDK)](https://ancplua.mintlify.app/sdk/service-defaults.md): Opinionated service defaults for ASP.NET Core applications - [Shared Utilities](https://ancplua.mintlify.app/sdk/shared-utilities.md): Guard clauses and test helpers injected by default. - [Testing](https://ancplua.mintlify.app/sdk/testing.md): xUnit v3 with Microsoft Testing Platform, integration test base classes, and AOT/Trim testing infrastructure. - [SDK Variants](https://ancplua.mintlify.app/sdk/variants.md): Three SDK variants for different project types. - [Attribute Extensions](https://ancplua.mintlify.app/utilities/attribute-extensions.md): Extract values from Roslyn AttributeData with clean, type-safe APIs - [Code Generation](https://ancplua.mintlify.app/utilities/codegen.md): Utilities for generating C# source code in source generators - [Domain Contexts](https://ancplua.mintlify.app/utilities/contexts.md): Pre-cached symbol lookups for common patterns - [DiagnosticFlow](https://ancplua.mintlify.app/utilities/diagnostic-flow.md): Railway-oriented programming for source generator pipelines - [Documentation Extensions](https://ancplua.mintlify.app/utilities/documentation-extensions.md): Retrieve XML documentation comments with inheritdoc expansion - [Guard](https://ancplua.mintlify.app/utilities/guard.md): Clean argument validation with automatic parameter name capture - [MSBuild Properties Reference](https://ancplua.mintlify.app/utilities/msbuild-properties.md): Complete reference of all MSBuild properties available in ANcpLua.NET.Sdk - [MSBuild Testing](https://ancplua.mintlify.app/utilities/msbuild-testing.md): Integration testing infrastructure for testing with real dotnet build commands - [Nullable Extensions](https://ancplua.mintlify.app/utilities/nullable-extensions.md): Fluent functional-style null handling for reference and value types - [Object Extensions](https://ancplua.mintlify.app/utilities/object-extensions.md): Safe casting, type checking, and reflection helpers - [Operation Extensions](https://ancplua.mintlify.app/utilities/operations.md): Extension methods for IOperation tree traversal and analysis - [Roslyn Utilities](https://ancplua.mintlify.app/utilities/overview.md): Utilities for source generators and analyzers. - [Pattern Matching](https://ancplua.mintlify.app/utilities/patterns.md): Fluent DSL for matching Roslyn symbols and invocations - [Performance Utilities](https://ancplua.mintlify.app/utilities/performance.md): Zero-allocation, netstandard2.0-compatible performance primitives for span operations, ASCII handling, bit manipulation, and tokenization. - [Pipeline Extensions](https://ancplua.mintlify.app/utilities/pipeline.md): Extensions for IncrementalValuesProvider to simplify generator pipelines - [Polyfills](https://ancplua.mintlify.app/utilities/polyfills.md): Modern C# features for netstandard2.0 targets. - [SemanticGuard](https://ancplua.mintlify.app/utilities/semantic-guard.md): Declarative validation for Roslyn symbols - [String Comparison](https://ancplua.mintlify.app/utilities/string-comparison.md): Explicit string comparison semantics for readable, correct code - [String Extensions](https://ancplua.mintlify.app/utilities/string-extensions.md): String manipulation utilities for source generators and code analysis - [Symbol Extensions](https://ancplua.mintlify.app/utilities/symbols.md): Extension methods for Roslyn symbol types - [Testing Infrastructure](https://ancplua.mintlify.app/utilities/testing.md): Testing frameworks for analyzers, code fixes, refactorings, and source generators - [Try Extensions](https://ancplua.mintlify.app/utilities/try-extensions.md): Try-pattern alternatives for dictionaries, parsing, and collection access ## OpenAPI Specs - [openapi](https://ancplua.mintlify.app/api-reference/openapi.yaml) ## Optional - [NuGet](https://www.nuget.org/profiles/ANcpLua) - [GitHub](https://github.com/ANcpLua)