Fix typo.
Add initial index recipe.

* pull out recipe to process build-time templates
* update task builder with optional extension config.

We've got a little more variance in the task declaration to encapsulate
but it is becoming more obvious.