1 Introduction

Clon is a library for managing command-line options in standalone Common-Lisp applications. It provides a unified option syntax with both short and long names, automatic completion of partial names and automatic retrieval/conversion of option arguments from the command-line, associated environment variables, fallback or default values. Clon comes with a set of extensible option types (switches, paths, strings etc.). Clon also provides automatic generation and formatting of help strings, with support for highlighting on tty’s through ISO/IEC 6429 SGR. This formatting is customizable through themes.

Depending on the target audience, Clon stands for either “The Command-Line Options Nuker” or “The Common-Lisp Options Nuker”. Clon also has a recursive acronym: “Clon Likes Options Nuking”, and a reverse one: “Never Omit to Link with Clon”. Other possible expansions of the acronym are still being investigated.

This is the Clon reference manual, and as such, it is not meant to be read. It may help you find sleep in case of insomnia though. Clon comes with two human-readable manuals:



An application using Clon for its command-line option management is said to be clonified. It is also possible to say clonfiscated. However, we advise against using clonistified. The term clonificated is also considered bad style, and the use of clonificationated is strictly prohibited.