Ploch CommandLine Applications is an opinionated library for building console applications in .NET Core. It builds on top of the Spectre.Console library, providing a few additional features:
- app construction, including service registrations
- unified command interfaces
- command validation
- command execution
- exception handling
- logging
- configuration
- output formatting
Clone mrploch-development as a sibling directory first — Directory.Packages.props imports the
shared package versions from it, so restore fails without it:
git clone https://github.com/mrploch/ploch-commandline.git
git clone https://github.com/mrploch/mrploch-development.git
cd ploch-commandline
dotnet build Ploch.CommandLine.Spectre.slnx
dotnet test Ploch.CommandLine.Spectre.slnxThe main solution needs no GitHub Packages token. It only ever references stable Ploch.*
versions, and those are on nuget.org, so a build with GH_PACKAGES_TOKEN unset normally restores
successfully — the 401 (Unauthorized) warnings from the unauthenticated GitHub Packages feed are
expected. That "stable versions only" rule is a policy, enforced by a check in CI.
Tokenless restore is best-effort rather than guaranteed: the GitHub Packages source stays eligible
while unauthenticated, and NuGet can surface its failure as NU1301 before nuget.org answers. If
you hit that, retry, or set a token. The
sample application is a separate case — it pins a prerelease build
of this repository's own packages and does need a token in its default mode.
See CONTRIBUTING.md for the reasoning, the escape hatch for working against
unreleased ploch-common code, and the rest of the contributor setup.