Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
56 lines (36 sloc) 1.74 KB
UI.Command is a Haskell library for building commandline programs which have subcommands.
This is common with revision control systems (cvs, svn, darcs, git etc.)
UI.Command includes the following features:
Automatic generation of help text
Generation of manual pages
Checking of example syntax
When you use a GUI program, you expect consistent behaviour:
* Title
* Menus listing available options
* Help
Many GUI toolkits exist to make this task easier.
UI.Command is a toolkit for developing commandline programs with consistent behaviour.
It is useful for modern commandline programs to have consistent behavior:
* Print their name and usage information
* Explain options
* Provide clear, consistent documentation in various formats
* Provide contact details for submitting bug reports and feature requests
There are many good reasons for developing a commandline version of your program:
* Accessibility: Many blind users prefer to use a commandline version of software if available
* Automation: Commandline tools can be easily used in scripts. You may not think it is useful
to automate your software, but your power users might!
If you have developed a library, UI.Command provides a useful framework for demonstrating the
library features.
ui-command is maintained in git at
A list of outstanding tasks is maintained in the TODO file of this source
distribution. When implementing anything listed in this file, please update
it by deleting that entry, and include that as part of the patch or commit
that implements the fix.
For technical and other queries, please contact the author:
Conrad Parker <>
(kfish on #haskell on Freenode).