All Products Developer Tools

Kiwi CLI

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.

Open Source Developer Framework
View on GitHub Talk to Our Team
Kiwi CLI — Attribute-Driven .NET CLI Framework
No More Argument Parsing Code

Define Commands. Not Parsing Logic.

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.

What Kiwi CLI Provides

  • Attribute-Driven Definition — Commands and arguments declared as decorated classes
  • Typed Argument Parsing — Arguments mapped to strongly-typed properties automatically
  • Command Dispatch — Subcommand routing resolved from the command tree declaratively
  • Validation — Required arguments, type constraints, and custom validators built in
  • Auto Help Generation — Contextual help text generated from command and argument metadata
  • Fluent Composition — Compose complex command trees without imperative registration code
  • DI Integration — Plays well with Kiwi DI and standard .NET IServiceCollection
  • Open Source — MIT licensed. Live on GitHub. Production-tested.

Professional CLI Tools Without the Boilerplate

Everything a .NET CLI framework needs to deliver.

Declarative Commands

Annotate a class with [KiwiCommand("name")] and it becomes a CLI command. No registration, no manual mapping, no startup configuration. The command discovers itself.

Typed Arguments

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.

Subcommand Trees

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.

Auto Help Generation

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.

Built-In Validation

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.

Foundation Integration

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.

Open Source

Start Building CLI Tools Today

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