A composable CLI argument parser for .NET that parses arguments into declarative POCOs using attributes.
EntryPoint is a composable CLI argument parser for all modern .NET platforms, designed to parse command-line arguments into declarative POCOs using attributes. It simplifies the development of command-line interfaces by reducing boilerplate code and adhering closely to the IEEE Standard for argument syntax.
.NET developers building command-line applications or tools that require robust argument parsing, especially those targeting .NET Core or .NET Framework 4.5+.
Developers choose EntryPoint for its declarative approach, standards compliance, and cross-platform support, which streamline CLI development and improve code maintainability compared to manual parsing or less flexible libraries.
Composable CLI Argument Parser for all modern .Net platforms.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows defining arguments as POCOs with attributes, enabling parsing in one line of code, as shown in the 'As simple as...' section, significantly reducing boilerplate.
Follows the IEEE Standard closely while supporting common extensions like --option style, ensuring compatibility with standard CLI syntax, as mentioned in the README.
Supports .NET Standard 1.6+ and .NET Framework 4.5+, making it usable across all modern .NET platforms, including .NET Core, as highlighted in the documentation.
Provides a structured approach for handling commands with BaseCliCommands and [Command] attributes, demonstrated in the code examples for building complex CLIs.
Arguments must be pre-defined in POCO classes with attributes, making it unsuitable for scenarios requiring runtime or dynamic argument sets without code changes.
Lacks built-in features like automatic help generation or advanced validation, requiring manual implementation compared to more comprehensive libraries.
Requires familiarity with attribute-based programming in C#, which might be less intuitive for developers accustomed to imperative or configuration-file-based parsing.