AdrPlus.Abstractions
1.0.0-rc1
dotnet add package AdrPlus.Abstractions --version 1.0.0-rc1
NuGet\Install-Package AdrPlus.Abstractions -Version 1.0.0-rc1
<PackageReference Include="AdrPlus.Abstractions" Version="1.0.0-rc1" />
<PackageVersion Include="AdrPlus.Abstractions" Version="1.0.0-rc1" />
<PackageReference Include="AdrPlus.Abstractions" />
paket add AdrPlus.Abstractions --version 1.0.0-rc1
#r "nuget: AdrPlus.Abstractions, 1.0.0-rc1"
#:package AdrPlus.Abstractions@1.0.0-rc1
#addin nuget:?package=AdrPlus.Abstractions&version=1.0.0-rc1&prerelease
#tool nuget:?package=AdrPlus.Abstractions&version=1.0.0-rc1&prerelease
<div align="center"> <img src="icon.png" alt="AdrPlus" width="120" height="120" />
AdrPlus.Abstractions
</div>
The plugin contract for AdrPlus, a .NET CLI tool for managing Architecture Decision Records (ADRs). Reference this package to write a plugin that reacts to ADR lifecycle events (created, approved, rejected, superseded, etc.) without depending on the AdrPlus source tree.
Minimal example
using AdrPlus.Abstractions;
public sealed class MyPlugin : IAdrPlugin
{
public string Name => "MyPlugin";
public string Version => "1.0.0";
public Task InitializeAsync(IPluginContext context, IPluginConfiguration config, CancellationToken ct) =>
Task.CompletedTask;
public bool ShouldHandle(AdrEventContext context) => true;
public Task<PluginResult> OnAdrEventAsync(AdrEventContext context, CancellationToken ct)
{
// React to context.EventType / context.Adr / context.GetAdrRenderedContent() here.
return Task.FromResult(new PluginResult { Status = PluginResultStatus.Success });
}
public ValueTask DisposeAsync()
{
GC.SuppressFinalize(this);
return ValueTask.CompletedTask;
}
}
AdrPluginBase (also in this package) can help if you'd rather not repeat the exception-shielding
boilerplate OnAdrEventAsync needs across several plugins — it's entirely optional, see the full
guide below for that variant.
Drop the compiled plugin, its plugin.json manifest, and dependencies into a subfolder under
%UserProfile%/AdrPlus.Plugins/<name>/ — installed once per machine, AdrPlus discovers and loads it
automatically. Each repository then controls activation independently via activeplugins/disableplugins
in its own adr-config.adrplus.
Full guide
For which events to subscribe to, retry/timeout semantics, the ExternalKey/adrKey identity
rules, and the manifest schema, see
PluginDevelopmentGuide.md
in the main AdrPlus repository.
For the full generated API reference (every type and member in this package), see doc/api-abstractions.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 is compatible. 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. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.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.0.0-rc1 | 72 | 8/7/2026 |