Email: Phone: +1 603-654-6474

CLI Power Tools

Updated 07/10/2003

CLI Power Tools is a command-line interface (CLI) development tool for embedded software developers that dramatically decreases the resources needed to develop a high-quality CLI. Unlike some other packages, it is designed for team development and can produce a truly Cisco-compliant CLI.

If you need to develop a CLI for a network-based hardware or software product, CLI Power Tools could cut 3 to 6 months off the development time. Here's how it works:

You describe individual commands in a simple Command Description Language (CDL). The CDL file describes the syntax of the command, including keywords, parameters, optional parameters, repeating parameters, parameter ranges, context-sensitive help messages, modes, and privileges. Each command also has a piece of code attached to actually execute its action. (Currently the code can be C or C++, although other languages are being implemented.) A CDL compiler and linker check for errors and generate run-time data structures which are used by a run-time parser to recognize commands, provide context-sensitive help, provide command completion, and perform range and error checks.

Because so much of the work is performed by the CLI infrastructure, each command can be implemented simply; the developer does not need to worry about being called in the wrong mode or with invalid parameters. Because command descriptions can be distributed among as many separate CDL source files as desired, the infrastructure is revision-control friendly and allows multiple developers to work on the CLI at once without stepping on one-another's toes.

The generated program has the look and feel you'd expect from a mature CLI, including all of the features found in the CLI for Cisco routers:

Features of the CLI Power Tools tool kit:

See also:

Command Description Language (CDL) Overview (PDF format)
Competitive Analysis: CLI Power Tools vs. RapidControl for CLI

For more information:

Visit the CLI Power Tools home page at or
Call Pablo Halpern at (603) 654-6474 or

Copyright 2002, 2003 Halpern-Wight Software Inc. All rights reserved.