# CommandSet 0.8.0 (initial release)

**URL:** <https://www.ruby-forum.com/t/commandset-0-8-0-initial-release/121694>\
**Category:** Ruby\
**Created:** [November 30, 2007, 12:09am UTC](https://www.ruby-forum.com/t/commandset-0-8-0-initial-release/121694 "2007-11-30T00:09:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Judson\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e56c9b/32.png) [@Judson\_L](https://www.ruby-forum.com/u/Judson_L)\
**Post date:** [November 30, 2007, 12:09am UTC](https://www.ruby-forum.com/t/commandset-0-8-0-initial-release/121694/1 "2007-11-30T00:09:51Z")

</div>

Hello,

I’m very glad to announce the initial release of CommandSet -  
[http://commandset.rubyforge.org](http://commandset.rubyforge.org)

CommandSet is a user interface library for Ruby. It revolves around a  
(reasonably well documented) DSL for defining a set of commands. Once  
commands are defined, you hook them into your application, and pass the  
set  
into one of a number of interpreters. The components of the library are  
all  
designed for clean extension, allowing you to produce specialized  
commands,  
arguments (with their own input validation and completion rules) or  
interpreters.

Features:

- The main interpreter provides context sensitive tab completion (in  
Linux  
and probably OS X), a clean event loop, a easy-to-use undo features. It  
can  
either be used interactively, or it can take arguments from the command  
line, process a single command and return

- Arguments provide completion hinting, as well and performing input  
validation. Several useful argument types are included, including  
number  
ranges and file arguments.

- Clean DSL for command definition, encapsulated and documented.

- A standard command list, including favorites like ‘quit’, ‘set’,  
‘undo’  
and ‘help’

Thanks for your attention,  
Judson
