Chilli
[](https://github.com/CogitatorTech/chilli/actions/workflows/tests.yml)
[](https://ziglang.org/download/)
[](https://CogitatorTech.github.io/chilli)
[](https://github.com/CogitatorTech/chilli/tree/main/examples)
[](https://github.com/CogitatorTech/chilli/releases/latest)
[](https://github.com/CogitatorTech/chilli/blob/main/LICENSE)
A microframework for creating command-line applications in Zig
---
Chilli is a command-line interface (CLI) framework for Zig.
It turns a declarative description of commands, flags, and positional arguments into a parser, help generator, and
dispatcher, with zero external dependencies and minimal boilerplate.
### Features
- Provides a declarative API for building CLI applications
- Supports nested commands, subcommands, and aliases
- Provides type-safe parsing for flags, positional arguments, and environment variables
- Supports generating automatic `--help` and `--version` output with custom sections
- Uses a shared context to pass application state
- Written in pure Zig with no external dependencies
See the [ROADMAP.md](ROADMAP.md) for the list of implemented and planned features.
> [!IMPORTANT]
> Chilli is in early development, so bugs and breaking changes are expected.
> Please use the [issues page](https://github.com/CogitatorTech/chilli/issues) to report bugs or request features.
---
### Getting Started
You can add Chilli to your project and start using it by following the steps below.
#### Installation
Run the following command in the root directory of your project to download Chilli:
```sh
zig fetch --save=chilli "https://github.com/CogitatorTech/chilli/archive/