A Roc package for command-line applications

Weave a CLI from a type.

Define options, parameters, and nested subcommands with composable builders. Weaver handles parsing, validation, diagnostics, help, and version output.

Read the latest API docs Explore examples

Built for expressive CLIs

Typed results

Your CLI definition produces the Roc type your application consumes, including validated values and structured subcommands.

Useful diagnostics

Missing options, malformed values, duplicates, and unknown arguments produce focused errors with usage guidance.

Generated help

Descriptions, defaults, aliases, parameters, and versions stay synchronized with the parser that users actually run.

Examples

See each program run in a terminal, then explore the complete highlighted Roc source.

Deploy

A realistic command with validation and repeatable labels.

Run and read →

Reference