Skip to main content

The OpenCLI ecosystem

A shared language for command-line tools

clidoc builds on OpenCLI: an open specification for describing a CLI independently of its implementation language or framework.

Go code generation

OpenCLI’s ocli tool generates Go CLI scaffolding for Cobra and urfave/cli from an OpenCLI document. Define the interface in the spec, generate the framework code, then implement your command handlers.

Explore Go support →

One specification, more possibilities

Whether you start with an OpenCLI document or extract one from an existing CLI, the specification gives tools a common way to describe commands, arguments, and flags.

OpenCLI is evolving. Check the specification version supported by each tool when sharing documents across the ecosystem.

Explore the OpenCLI repository →