I published an update to Oakton last week that pushed it to 2.0. As a reminder, Oakton is yet another command line parsing tool for .Net, but differs a bit from other alternatives by separating the mechanics of command line parsing away from processing commands.
- I wrote an introduction to Oakton a couple years ago for the 1.0 release.
- The documentation website
- The code on GitHub
At a high level, the feature set is:
- Support for one or more distinct commands in a distinct command line tool ala the dotnet CLI (“run”, “new”, “test”, etc) or the git command line (“add”, “checkout”, “push”, “pull”, etc).
- *nix style optional flags, including the single dash shorthand (think “git clean -xfd”)
- Synchronous or asynchronous commands inside the same tool
- Integrated command syntax help
And new for 2.0:
- A new model to auto-discover and load commands from external assemblies meant for development time administrative kind of utilities
- A new add on called Oakton.AspNetCore I’ll blog about more later that adds improved CLI options to your ASP.Net Core application.
The “one model in” basic approach and most of the core code of Oakton was rescued and updated from the left over command line support originally written for FubuMVC back in about 2011 as I recall, so I think I can claim that Oakton is pretty battle tested.