Skip to content
This repository has been archived by the owner on Apr 27, 2018. It is now read-only.
Sebastian Staudt edited this page Jan 23, 2011 · 7 revisions

Rubikon is a simple to use, yet powerful Ruby framework for building console-based applications. Rubikon aims to provide an easy to write and easy to read domain-specific language (DSL) to speed up development of command-line applications. With Rubikon it's a breeze to implement applications with only few options as well as more complex programs like RubyGems, Homebrew or even Git.

Get Started

  • See how you can install Rubikon
  • Take a look at Rubikon's DSL

Features

  • A simple to use DSL
  • Automatic checks for option arguments
  • Built-in methods to capture user input
  • Built-in methods to display progress bars and throbbers
  • Built-in support for configuration files
  • Built-in support for colored output
  • Automatic generation of application and command help screens
  • User defined validation of option arguments
  • Application sandboxing

Future plans

  • Improved error handling
  • General optimizations
  • Improved tests

About the name

Rubikon is the German name of the river Rubicone in Italy. It had a historical relevance in ancient Rome when Julius Caesar crossed that river with his army and thereby declared war to the Roman senate. The phrase "to cross the Rubicon" originates from this event.

You may also see Rubikon as a portmanteau word consisting of "Ruby" and "console".

Contribute

Rubikon is a open-source project. Therefore you are free to help improving it. See the Contribute page on how you can help.

License

This code is free software; you can redistribute it and/or modify it under the terms of the new BSD License. A copy of this license can be found here.

Credits

  • Sebastian Staudt – koraktor(at)gmail.com
  • Dotan J. Nahum – jondotan(at)gmail.com

API documentation

If you want to read through the (low-level) Ruby API documentation you will find it at RubyDoc.info. You will also find the documentation of the current development in the master branch there.