dotnet-system-commandline

Installation
SKILL.md

dotnet-system-commandline

System.CommandLine 2.0 stable API for building .NET CLI applications. Covers RootCommand, Command, Option<T>, Argument<T>, SetAction for handler binding, ParseResult-based value access, custom type parsing, validation, tab completion, and testing with TextWriter capture.

Version assumptions: .NET 8.0+ baseline. System.CommandLine 2.0.0+ (stable NuGet package, GA since November 2025). All examples target the 2.0.0 GA API surface.

Breaking change note: System.CommandLine 2.0.0 GA differs significantly from the pre-release beta4 API. Key changes: SetHandler replaced by SetAction, ICommandHandler removed in favor of SynchronousCommandLineAction/AsynchronousCommandLineAction, InvocationContext removed (ParseResult passed directly), CommandLineBuilder and AddMiddleware removed, IConsole removed in favor of TextWriter properties, and the System.CommandLine.Hosting/System.CommandLine.NamingConventionBinder packages discontinued. Do not use beta-era patterns.

Scope

  • RootCommand, Command, Option, Argument hierarchy
  • SetAction handler binding (sync and async)
  • ParseResult-based value access
  • Custom type parsing and validation
  • Tab completion and directives
  • Testing with InvocationConfiguration and TextWriter capture
  • Migration from beta4 to 2.0.0 GA
  • Dependency injection integration without System.CommandLine.Hosting
Related skills

More from novotnyllc/dotnet-artisan

Installs
3
GitHub Stars
208
First Seen
Feb 24, 2026