CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions
0.1.0-preview.6
dotnet add package CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions --version 0.1.0-preview.6
NuGet\Install-Package CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions -Version 0.1.0-preview.6
<PackageReference Include="CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions" Version="0.1.0-preview.6" />
<PackageVersion Include="CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions" Version="0.1.0-preview.6" />
<PackageReference Include="CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions" />
paket add CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions --version 0.1.0-preview.6
#r "nuget: CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions, 0.1.0-preview.6"
#:package CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions@0.1.0-preview.6
#addin nuget:?package=CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions&version=0.1.0-preview.6&prerelease
#tool nuget:?package=CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions&version=0.1.0-preview.6&prerelease
Mc3Po.SourceControl.Abstractions
Interfaces and models for source control operations.
Core Interfaces
ISourceControlService
public interface ISourceControlService
{
// Repositories
Task<IGenericResult<RepositoryInfo>> GetRepository(string repositoryId, CancellationToken ct = default);
Task<IGenericResult<IReadOnlyList<RepositoryInfo>>> ListRepositories(ListRepositoriesRequest request, CancellationToken ct = default);
// Branches
Task<IGenericResult<BranchInfo>> CreateBranch(string repositoryId, string branchName, string fromRef, CancellationToken ct = default);
Task<IGenericResult<IReadOnlyList<BranchInfo>>> ListBranches(string repositoryId, CancellationToken ct = default);
// Pull Requests / Merge Requests
Task<IGenericResult<PullRequestInfo>> CreatePullRequest(CreatePullRequestRequest request, CancellationToken ct = default);
Task<IGenericResult<PullRequestInfo>> GetPullRequest(string repositoryId, string pullRequestId, CancellationToken ct = default);
Task<IGenericResult<IReadOnlyList<PullRequestInfo>>> ListPullRequests(string repositoryId, PullRequestState? state = null, CancellationToken ct = default);
Task<IGenericResult<PullRequestInfo>> MergePullRequest(string repositoryId, string pullRequestId, MergeOptions? options = null, CancellationToken ct = default);
// Pipelines / Builds
Task<IGenericResult<PipelineInfo>> GetPipeline(string repositoryId, string pipelineId, CancellationToken ct = default);
Task<IGenericResult<IReadOnlyList<PipelineInfo>>> ListPipelines(string repositoryId, CancellationToken ct = default);
// Commits
Task<IGenericResult<IReadOnlyList<CommitInfo>>> ListCommits(string repositoryId, string? branch = null, int? limit = null, CancellationToken ct = default);
}
Models
RepositoryInfo
public class RepositoryInfo
{
public string Id { get; set; }
public string Name { get; set; }
public string? FullPath { get; set; }
public string? Description { get; set; }
public string? DefaultBranch { get; set; }
public string? CloneUrlHttps { get; set; }
public string? CloneUrlSsh { get; set; }
public string? WebUrl { get; set; }
}
BranchInfo
public class BranchInfo
{
public string Name { get; set; }
public string? CommitSha { get; set; }
public bool IsDefault { get; set; }
public bool IsProtected { get; set; }
}
PullRequestInfo
public class PullRequestInfo
{
public string Id { get; set; }
public int Number { get; set; }
public string Title { get; set; }
public string? Description { get; set; }
public string SourceBranch { get; set; }
public string TargetBranch { get; set; }
public PullRequestState State { get; set; }
public string? AuthorUsername { get; set; }
public bool IsDraft { get; set; }
public bool IsMergeable { get; set; }
public string? WebUrl { get; set; }
public DateTimeOffset? CreatedAt { get; set; }
public DateTimeOffset? UpdatedAt { get; set; }
public DateTimeOffset? MergedAt { get; set; }
}
PipelineInfo
public class PipelineInfo
{
public string Id { get; set; }
public int? Number { get; set; }
public string? CommitSha { get; set; }
public string? Ref { get; set; }
public PipelineStatus Status { get; set; }
public string? WebUrl { get; set; }
public DateTimeOffset? CreatedAt { get; set; }
public DateTimeOffset? StartedAt { get; set; }
public DateTimeOffset? FinishedAt { get; set; }
}
CommitInfo
public class CommitInfo
{
public string Sha { get; set; }
public string ShortSha { get; set; }
public string Message { get; set; }
public string? AuthorName { get; set; }
public string? AuthorEmail { get; set; }
public DateTimeOffset? CommittedAt { get; set; }
public string? WebUrl { get; set; }
}
Enums
PullRequestState
public enum PullRequestState
{
Open,
Closed,
Merged
}
PipelineStatus
public enum PipelineStatus
{
Pending,
Running,
Success,
Failed,
Cancelled
}
MergeMethod
public enum MergeMethod
{
Merge,
Squash,
Rebase
}
Request Models
CreatePullRequestRequest
public class CreatePullRequestRequest
{
public string RepositoryId { get; set; }
public string SourceBranch { get; set; }
public string TargetBranch { get; set; }
public string Title { get; set; }
public string? Description { get; set; }
public bool IsDraft { get; set; }
}
MergeOptions
public class MergeOptions
{
public MergeMethod Method { get; set; }
public bool Squash { get; set; }
public bool DeleteSourceBranch { get; set; }
public string? CommitMessage { get; set; }
}
Dependencies
FractalDataWorks.ResultsMicrosoft.Extensions.Logging.Abstractions
Usage
This package is referenced by:
- Protocol implementations (GitLab, GitHub, Azure DevOps)
- Tools that need SC capabilities
| 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
- FractalDataWorks.Collections (>= 0.1.0-preview.1)
- FractalDataWorks.Results (>= 0.1.0-preview.1)
- FractalDataWorks.Services.SecretManagers.Abstractions (>= 0.1.0-preview.1)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.1)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- System.Collections.Immutable (>= 10.0.1)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on CyberdyneDevelopment.Mc3Po.SourceControl.Abstractions:
| Package | Downloads |
|---|---|
|
CyberdyneDevelopment.Mc3Po.Protocols.Abstractions
Protocol abstractions for mc3-po - interfaces for project management and source control protocols |
|
|
CyberdyneDevelopment.Mc3Po.Protocols.GitHub
Development tools and utilities for the FractalDataWorks ecosystem. Build: |
|
|
CyberdyneDevelopment.Mc3Po.Protocols.GitLab
GitLab protocol implementation for mc3-po - source control and project management integration |
|
|
CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps
Development tools and utilities for the FractalDataWorks ecosystem. Build: |
|
|
CyberdyneDevelopment.DeveloperTools.SourceControl
Source control tool wrappers for FractalDataWorks. Provides thin command wrappers that delegate to external MCP servers (GitLab). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.6 | 64 | 1/9/2026 |
| 0.1.0-preview.4 | 78 | 1/7/2026 |