I’ve finished the biggest update to Planter thus far, and bumped it to version 2.0. I don’t know how popular this project is or ever will be, but I still find it useful enough to keep in good shape.

Since it’s been a while, I’ll recap. Planter is a tool that allows you to “plant” directory hierarchies on the fly or from templates with variables accepted on the command line that replace placeholders in the template. It takes tab-indented lists and turns them into a directory structure. You can include files and bundles in a template to have them copied into folders in the hierarchy at the time of creation.

This release adds the ability to assign Mavericks tags, either statically as part of a template or as variables that can be assigned at the time of planting. It uses standard Unix tools to do this, no extra utilities are required.

It also adds the ability to run “post-processing” scripts embedded in the templates. You can use this to incorporate remote files, handle creating git repositories, etc. For example, you could “plant” a website structure, include a boilerplate stylesheet and index.html, then use curl to download the latest version of jQuery into the script folder.

It now lets you repeat variables, and you can assign different defaults to different instances of the same variable placeholder. You can also make a variable completely optional, and skip it/use the default value by passing “.” or “-“ in its position in the command. See the project page for more details on all of this.

I’ve renamed the command “plant.” You can, of course, call it whatever you like, but plant website seemed more intuitive to me than planter website. I’m not updating the LaunchBar version as I’m not using it anymore, but it’s still available on the project page with the older version of Planter, if you want it.

By the way, I’ve also silently updated the following for Mavericks compatibility: