Project Description
Theta is a shell engine for building command line applications providing an easy to use API, advanced command line parsing, and a rich flexible feature set.

681003

Theta was initially created as a utility shell used to perform common reliably repeatable operations against a .NET project's internal logic during development - operations such as creating development data, creating user accounts, or toggling features. Over the course of its evolution, it has remained true to its initial purpose and has even become a tool that can be used to facilitate production support activities and complex command line solutions.

NuGet Quick Start

The NuGet Package installs the core Theta assembly for creating shell applications - for creating shell applications using Theta, see the documentation. It also installs the Theta.Utility assembly which can be used to create a development test harness to assist in solution development.

693255

To create a test and utility harness for your .NET solution -
  1. Add a new Windows Forms project to your solution
  2. Install the Theta package for the new Windows Forms project
  3. Modify the program.cs file to resemble the following code snippet
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            *Application.Run(new UtilityConsole());*
        }


As you create commands and modules, they can be registered using the following code snippet as an example.

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new UtilityConsole(new Type[]
                {
                     typeof(namespace.MyNewCommand1),
                     typeof(namespace.MyNewCommand2),
                     typeof(namespace.MyModule1),
                     ...
                }));
        }


Last edited Jun 15, 2013 at 10:41 PM by jeffhewitt, version 14