NuSpec.AI.Attributes
1.0.4
This package has been subsumed by the same functionality in Nuspec.AI 3.x
dotnet add package NuSpec.AI.Attributes --version 1.0.4
NuGet\Install-Package NuSpec.AI.Attributes -Version 1.0.4
<PackageReference Include="NuSpec.AI.Attributes" Version="1.0.4" />
<PackageVersion Include="NuSpec.AI.Attributes" Version="1.0.4" />
<PackageReference Include="NuSpec.AI.Attributes" />
paket add NuSpec.AI.Attributes --version 1.0.4
#r "nuget: NuSpec.AI.Attributes, 1.0.4"
#:package NuSpec.AI.Attributes@1.0.4
#addin nuget:?package=NuSpec.AI.Attributes&version=1.0.4
#tool nuget:?package=NuSpec.AI.Attributes&version=1.0.4
NuSpec.AI.Attributes
Attribute classes for controlling NuSpec.AI Pro output.
This package provides three attributes — [AiRole], [AiIgnore], and [AiDescription] — that let you fine-tune what NuSpec.AI Pro includes in generated package maps and how it describes your types and members.
Requires NuSpec.AI.Pro to have any effect at pack time. The attributes compile into your assembly harmlessly if only the free NuSpec.AI is installed — they're just ignored.
Installation
<PackageReference Include="NuSpec.AI.Attributes" Version="1.0.2" />
<PackageReference Include="NuSpec.AI.Pro" Version="1.0.2" PrivateAssets="all" />
Attributes
[AiRole]
Overrides automatically inferred semantic roles for a type.
using NuSpec.AI;
[AiRole("aggregate-root", "audited")]
public class Order
{
public int Id { get; set; }
public string CustomerId { get; set; }
}
Without this attribute, NuSpec.AI Pro infers roles automatically (e.g., entity, repository, service). Use [AiRole] when the inferred roles are wrong or when you want to apply domain-specific vocabulary.
Applies to: classes, structs, interfaces, enums.
[AiIgnore]
Excludes a type or member from all generated output formats entirely.
public class OrderService
{
public Task<Order> PlaceOrderAsync(OrderRequest request) { ... }
[AiIgnore]
public string _internalCorrelationToken { get; set; }
[AiIgnore]
internal class DebugContext { ... }
}
Use this to hide implementation details, internal helpers, or members that are public for technical reasons but irrelevant to AI consumers.
Applies to: classes, structs, interfaces, enums, methods, properties, constructors, fields.
[AiDescription]
Provides an AI-facing description that overrides or supplements XML doc comments.
[AiDescription("Use this to initiate a refund. Do not call for subscription orders — use CancelSubscriptionAsync instead.")]
public Task<RefundResult> RefundAsync(int orderId, string reason) { ... }
If both [AiDescription] and an XML <summary> are present, the attribute wins. Use this when your IntelliSense documentation is accurate but you want a different (often more directive) description in the AI context.
Applies to: classes, structs, interfaces, enums, methods, properties, constructors, fields.
Namespace
All attributes live in the NuSpec.AI namespace:
using NuSpec.AI;
Requirements
- .NET Standard 2.0 or later (compatible with all modern .NET and .NET Framework 4.6.1+)
- NuSpec.AI.Pro to honor the attributes at pack time
Links
- NuSpec.AI.Pro — paid tier that reads these attributes
- NuSpec.AI — free tier (attributes ignored)
- Source code and issues
- License (MIT)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.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.