# kuu (Elixir binding)

**Early placeholder** for the Elixir binding of [kuu](https://github.com/kawaz/kuu) — a language-agnostic CLI argument definition specification.

kuu defines CLI argument parsing as a *specification* (wire-format JSON definitions + conformance fixtures), with a reference implementation in MoonBit ([kuu.mbt](https://github.com/kawaz/kuu.mbt)) and a CLI frontend ([kuu-cli](https://github.com/kawaz/kuu-cli)).

## Current state (v0.0.x)

This package currently provides:

- `kuu::version()` — the package version
- `kuu::cli::run(args)` / `kuu::cli::parse(definition_json, args)` — thin wrappers that delegate to a `kuu-cli` binary found on `PATH`

A native Rust implementation of the kuu spec is planned; this package name hosts the binding so that the API can grow in place. If `kuu-cli` is not installed, calls return a descriptive error explaining how to get it.

## Spec

See the specification repository for the definition format, design records and conformance fixtures: https://github.com/kawaz/kuu
