Compendium.Adapters.GitHub 1.0.5-preview.3

This is a prerelease version of Compendium.Adapters.GitHub.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Compendium.Adapters.GitHub --version 1.0.5-preview.3
                    
NuGet\Install-Package Compendium.Adapters.GitHub -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.Adapters.GitHub" 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.Adapters.GitHub" Version="1.0.5-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Compendium.Adapters.GitHub" />
                    
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.Adapters.GitHub --version 1.0.5-preview.3
                    
#r "nuget: Compendium.Adapters.GitHub, 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.Adapters.GitHub@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.Adapters.GitHub&version=1.0.5-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Compendium.Adapters.GitHub&version=1.0.5-preview.3&prerelease
                    
Install as a Cake Tool

Compendium.Adapters.GitHub

A GitHub adapter for the Compendium Framework: a concrete IGitServer implementing the Compendium.Abstractions.Git ports against github.com and GitHub Enterprise Server.

What it does

  • GitHub App auth — signs RS256 App JWTs and mints short-lived installation access tokens, caching them per installation and refreshing before expiry. Also passes through caller-supplied service-account, personal-access, and OAuth tokens.
  • Repositories — create from a template, read metadata/contents/commits/branches, create tags, publish releases.
  • CI configuration — repository, organization, and deployment-environment Actions secrets (libsodium sealed-box encrypted) and variables.
  • Pipelines — trigger workflows (workflow_dispatch) and read run status.
  • Environments — create/update/list deployment environments.
  • Branch policies — GitHub repository rulesets (not legacy branch protection).
  • Access control — teams, team membership, team/user repository roles.
  • Webhooks — manage outbound subscriptions; verify and parse inbound deliveries (fail-closed HMAC-SHA256) into neutral events.

See CAPABILITIES.md for the full support matrix and its limitations.

Registration

services.AddGitHubGitServer(options =>
{
    options.DefaultApp.AppId = configuration["GitHub:AppId"]!;
    options.DefaultApp.AppSlug = configuration["GitHub:AppSlug"]!;
    options.DefaultApp.PrivateKeyPem = secretStore["GitHub:PrivateKey"];
    options.DefaultApp.WebhookSecret = secretStore["GitHub:WebhookSecret"];
});

Consumers resolve IEnumerable<IGitServer> and dispatch on Provider == "github", or resolve a single concern-scoped port (IGitRepositoryService, IGitCredentialBroker, …). Every operation takes a GitConnection explicitly — the adapter is a stateless singleton and one instance serves any number of tenants.

Connections

Credential Auth
GitCredential.AppInstallation Mints an installation token from the configured App (AppKey selects a registration).
GitCredential.ServiceAccountToken / PersonalAccessToken Passed through as a bearer token.
GitCredential.OAuthAccessToken Passed through (8-hour reported lifetime).

Set GitConnection.ServerUrl to a GitHub Enterprise Server API base (https://ghes.example.com/api/v3) to target GHES; leave it null for github.com.

License

MIT. See LICENSE.

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

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.5-preview.4 2,449 7/24/2026
1.0.5-preview.3 188 7/24/2026
1.0.5-preview.2 66 7/24/2026