Skip to content

pr-cli/pr-nuget-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

PR NuGet CLI

NuGet-aware PR and CI triage for .NET teams.

PR NuGet CLI is planned as a local-first CLI and .NET library that turns NuGet restore, test, analyzer, and build failures into actionable pull request context.

It will focus on evidence already present in a local workspace or CI artifact directory: solutions, project files, NuGet lock and assets files, restore logs, test reports, compiler diagnostics, analyzer output, and build logs.

It should answer the first production question after a .NET PR fails:

Which project failed, which package or build step exposed it, what evidence proves it, and how do I reproduce it locally?

Status

Project seed.

This repository is public so the project direction can be shaped openly, but no CLI package has been published yet and no production release is available.

The first implementation should stay small, deterministic, and usable without GitHub tokens, CI API access, AI providers, telemetry, or external services.

Why This Exists

Generic PR tools can show that CI failed. Generic agents can inspect logs when prompted. Larger observability platforms can collect broad build telemetry.

PR NuGet CLI will focus on a narrower production workflow:

Turn NuGet and .NET CI failures into deterministic PR context.

This is useful for:

  • .NET teams with multi-project solutions.
  • OSS maintainers triaging failing pull requests.
  • Library maintainers validating package compatibility.
  • Engineering platform teams standardizing .NET CI failure summaries.
  • Regulated teams that cannot send logs to external services.
  • Internal agent platforms that need structured local evidence.

NuGet And .NET Ecosystem Focus

The initial direction is NuGet-first and .NET CLI-friendly.

Expected inputs:

  • .sln and .slnx solution files.
  • .csproj, .fsproj, and .vbproj project files.
  • PackageReference items.
  • Directory.Packages.props for Central Package Management.
  • Directory.Build.props and Directory.Build.targets.
  • packages.lock.json.
  • obj/project.assets.json.
  • NuGet restore logs and diagnostics such as NU1101, NU1301, NU1605, and related restore/package errors.
  • test result files such as .trx from dotnet test.
  • optional JUnit XML reports generated by CI adapters.
  • compiler and Roslyn analyzer diagnostics from build logs.
  • MSBuild warnings and errors.
  • coverage reports such as Cobertura or OpenCover when produced by the project.

Expected output:

  • human-readable text for maintainers and contributors;
  • stable JSON for CI systems and coding agents;
  • solution and project mapping;
  • failing package, restore, test, analyzer, or build context;
  • report path or log artifact references;
  • minimal reproduction commands such as dotnet restore, dotnet test <project>, or dotnet build <project> when enough evidence exists.

Planned MVP

The first useful version should prioritize:

  • discovery of solutions and .NET project files;
  • mapping projects to packages and target frameworks;
  • parsing of NuGet restore failures from captured logs;
  • parsing of .trx test result files;
  • parsing of compiler and analyzer diagnostics from build logs;
  • mapping findings back to projects and target frameworks;
  • deterministic text output;
  • deterministic JSON output;
  • demo fixtures for failing and passing .NET projects;
  • end-to-end CLI tests;
  • GitHub Actions examples without requiring GitHub API access at runtime.

Non-Goals For The First MVP

  • Replacing NuGet, dotnet, MSBuild, or test runners.
  • Executing arbitrary project commands as part of analysis.
  • Requiring hosted CI provider APIs.
  • Uploading logs to external services.
  • Providing AI-generated explanations as a required runtime feature.
  • Supporting every .NET test framework or CI adapter on day one.
  • Publishing a native GitHub or GitLab API adapter before the local evidence model is stable.

Planned Usage

The exact commands are still subject to design, but the intended shape is:

prnuget fails --project .
prnuget fails --project . --format json
prnuget why --project . --project-file src/MyLibrary/MyLibrary.csproj

The CLI should inspect existing reports and logs. It should not need network access to answer local failure-context questions.

Relationship To PR Maven CLI

PR NuGet CLI follows the same product family idea as PR Maven CLI:

  • local-first analysis;
  • deterministic evidence;
  • text and JSON output;
  • CI and agent-friendly summaries;
  • no runtime dependency on provider tokens for core analysis.

The implementation and terminology should be native to the .NET/NuGet ecosystem, not a Java/Maven model copied into .NET projects.

Contributing

This project is intentionally early.

Good first contribution areas will likely include:

  • .NET solution and project fixtures;
  • NuGet restore failure fixtures;
  • .trx test report fixtures;
  • MSBuild diagnostic fixtures;
  • Roslyn analyzer diagnostic fixtures;
  • JSON output contracts;
  • CLI ergonomics;
  • documentation for CI examples.

Founder

PR NuGet CLI was founded by Will-thom.

License

License to be added before the first release.

About

Local-first CLI and .NET library that turns NuGet restore, test, analyzer, and build failures into actionable PR/CI context.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors