The Shell Toolkit, or shtk for short, is a little project I introduced back in August of 2008 to support other tools such as sysbuild and sysupgrade. Since that time, the project has seen little activity because it did not have much to offer and because shtk's public interface was not documented (hence making it impossible for developers to get started with shtk).

Well, both are changing today with the brand-new release of shtk 1.6:

The first major change is the addition of manual pages to document the public API of shtk. After installation, type man 3 shtk to open the shtk(3) reference manual and dive straight into a comprehensive set of documentation. Pay special attention to the SEE ALSO sections and follow the links form there. Also note that there is an individual manual page for each public function offered by shtk so it's trivial to access the documentation from your favorite editor when you highlight a symbol name.

And why manual pages? Because shtk is designed to fit the minimalist user environment of a typical BSD system. The reason shtk exists in the first place is because such systems don't have any other high-level language available for scripting, yet scripting languages are ideal for system administration tools.

The second major change is the addition of a shiny-new unit-testing library, known as unittest, which I briefly described in a post to the shtk-discuss mailing list. This library is on-par, functionality-wise, with atf-sh. In fact, unittest is purely written in the shell scripting language thus avoiding the dependency on C++ that atf-sh has. Not to mention that the codebase is more modern and easier to extend.

If you have never used shtk before, I invite you to test-drive it now that we have fully-fledged documentation and some compelling functionality to offer!

Enjoy the ride.