Skip to content

History and purpose: how this is project came to be, and what it's for #1

@natemcmaster

Description

@natemcmaster

git mv {Microsoft => McMaster}.Extensions.CommandLineUtils

History

The ASP.NET Core team is in the business of producing a web framework, and not in producing .NET libraries in general. In the early days of what later became ASP.NET Core, Microsoft.Extensions.CommandLineUtils was created as a requirement of producing dnx and ASP.NET vNext. It was never intended to be the Microsoft-official way to write command line apps. After later refactoring of the architecture of dnx into dotnet, and reassignments of resources, the ASP.NET Core team no longer maintains much command-line code, so they decided to stop active development on their CommandLineUtils library. See dotnet/extensions#257.

What this is

Hence, I've forked the project. This project will maintain and improve upon the 1.0 and 1.1 versions of the library.

Fork is the operative word here. Not branch, not update, not replace.

Goals

  • Patches, minor bug fixes to API originally in Microsoft.Extensions.CommandLineUtils (thank you Apache 2.0 license)
  • Improvements. Include more non-breaking changes and new API that make it easier to write command line applications.
  • Maintenance. Keeping up with the continual shift in .NET. PCL => dnxcore50 => dotnet5.1 => netstandard. There has been lots of churn, and I expect there will continue to be. I'll attempt to keep pace.

Non-goal

  • This is unofficial. Don't expect Microsoft-official support.
  • Replacing Microsoft.Extensions.CommandLineUtils. Someone at Microsoft may attempt to restart active dev work on this. If so, bravo. There will be welcome to merge this code, which will also use the Apache license.
  • Competing for an official System.* namespace. Although the .NET team has been drafting System.CommandLine for a long time, it is not yet generally available and has no set roadmap.

Future

This repo is open to community contributions under the Apache 2.0 License. Please read the contributing guidelines, and tag me @natemcmaster in the pull-request.

Cheers,
Nate. 🍻

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions