Compendium.Abstractions.Git 1.0.5-preview.3

This is a prerelease version of Compendium.Abstractions.Git.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Compendium.Abstractions.Git --version 1.0.5-preview.3
                    
NuGet\Install-Package Compendium.Abstractions.Git -Version 1.0.5-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Compendium.Abstractions.Git" Version="1.0.5-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Compendium.Abstractions.Git" Version="1.0.5-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Compendium.Abstractions.Git" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Compendium.Abstractions.Git --version 1.0.5-preview.3
                    
#r "nuget: Compendium.Abstractions.Git, 1.0.5-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Compendium.Abstractions.Git@1.0.5-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Compendium.Abstractions.Git&version=1.0.5-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Compendium.Abstractions.Git&version=1.0.5-preview.3&prerelease
                    
Install as a Cake Tool

Compendium.Abstractions.Git

Provider-agnostic git-server ports for the Compendium Framework.

A platform that drives a git server (create repositories from templates, configure CI secrets/variables, trigger pipelines, manage deployment environments, branch policies, teams, and webhooks) programs against the IGitServer facade and its concern-scoped sub-ports. Concrete providers (GitHub, GitLab, Gitea/Forgejo, Azure DevOps, …) are supplied by Compendium.Adapters.* packages.

Design

  • IGitServer — facade carrying the Provider discriminator, the declarative GitServerCapabilities, and the sub-ports. Consumers resolve IEnumerable<IGitServer> and dispatch on Provider.
  • GitConnection / GitCredential — every call takes an explicit connection. Credentials are a closed union: platform app installation (GitHub App), durable service-account token (GitLab group token, Gitea bot PAT), one-shot personal access token, or OAuth user token. Token-bearing records redact in ToString().
  • GitServerCapabilities — adapters declare what they support (None/Partial/Full per GitCapability). Unsupported operations fail with Git.CapabilityNotSupported (Result failure, never an exception). Each adapter ships a CAPABILITIES.md matrix.
  • GitWebhookEvent — neutral inbound-event union produced by IGitWebhookIngestor from a raw, signature-verified delivery.
  • All operations return Result/Result<T> from Compendium.Core.Results.

Testing

Compendium.Testing provides InMemoryGitServer (full-fidelity fake) and GitServerContractTests<TFixture> (the behavioral contract every adapter must pass). This package also ships NullGitServer, a fail-fast stub for unconfigured hosts.

Product Compatible and additional computed target framework versions.
.NET 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Compendium.Abstractions.Git:

Package Downloads
Compendium.Testing

Testing utilities for Compendium Framework: TestContainers integration (PostgreSQL/Redis), test data builders (AutoFixture/Bogus), aggregate testing helpers for Event Sourcing, and the git-server contract-test kit (InMemoryGitServer + GitServerContractTests).

Compendium.Adapters.GitHub

GitHub adapter for Compendium Framework: a concrete IGitServer implementing the Compendium.Abstractions.Git ports against github.com and GitHub Enterprise Server. Provides GitHub App installation-token auth (RS256 App JWT plus per-installation token minting and caching), repository/tag/release management, CI secrets (libsodium sealed-box encrypted) and variables, deployment environments, repository-ruleset branch policies, teams and collaborators, outbound webhook subscriptions, and fail-closed HMAC-SHA256 inbound webhook ingestion.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5-preview.4 947 7/24/2026
1.0.5-preview.3 201 7/24/2026
1.0.5-preview.2 70 7/24/2026