Attribute-driven .NET CLI argument parsing and command dispatch. Define commands declaratively, compose them fluently, and get typed arguments, validation, and auto-generated help — out of the box.
Building a .NET CLI tool means writing an argument parser, managing option parsing edge cases, implementing help text generation, handling subcommand dispatch, and validating inputs — before writing a single line of the actual command logic.
Kiwi CLI eliminates all of that. Decorate your command classes with [KiwiCommand] and your argument properties with [KiwiArg]. The framework handles parsing, dispatch, validation, and help generation automatically. You write the logic, not the plumbing.
Kiwi CLI is part of Kiwi Foundation and is the same framework used internally by the Kiwi Platform to implement its own command-line interfaces.
Everything a .NET CLI framework needs to deliver.
Annotate a class with [KiwiCommand("name")] and it becomes a CLI command. No registration, no manual mapping, no startup configuration. The command discovers itself.
Arguments are properties on your command class. Decorate with [KiwiArg], specify the type, whether it's required, and any constraints. Kiwi CLI parses and validates before your command runs.
Build deeply nested command hierarchies with fluent composition. kiwi deploy app --env prod routes to the right handler automatically — no switch statements, no manual string matching.
Every command gets help text automatically from its attribute metadata. --help at any level shows the right command, arguments, descriptions, and examples — without writing any help rendering code.
Required argument enforcement, type coercion validation, enumeration constraints, and custom validators — all applied before your command handler runs. Handle the happy path in your code, not error cases.
Designed to work alongside Kiwi DI, Kiwi Config, and Kiwi Renderer. Build CLI tools that use the same service container, configuration model, and rendering pipeline as your backend services.
Kiwi CLI is open source and available on GitHub now. For integration guidance or to discuss use with the full Kiwi Platform, reach out to our team.
View on GitHub Talk to Our Team