newfile generates "starting-out" files using a full featured template preprocessor. It can also generate trees of files, for example, a FreeBSD port or a project using automake and autoconf. A user can add their own template files and directories to those supplied with the package. It includes templates for making "empty" files for Ruby, make, shell, C, C++, C & C++ headers, and more.