Scaffolding PowerShell Modules with Plaster
Plaster is a very novel idea, but in practice I can see why it's gone mostly untouched for a while. There is a rather steep leaning curve for what it does.
These are the goals Plaster is trying to achieve:
- Scaffold a base PowerShell Module project based on prompted parameters
- Allow for flexibility in the above process by incorporating custom scaffolding processes
The former is indeed desperately needed. It's a good, solid, repeatable and consistent way for module to be created.
The latter thou, makes the process needlessly complex, because: Who Generates the Generators? There are lot of good docs on the process, but even their own examples are either outdated or just wrong.
In the end, I wound up creating a template based on the mega example that asks for options such as: Pester test, Psake building, PlatyPS doc gen, and Git with editor VS Code.
First time running the project from the template, Psake puked a bit - trying to find the name of the module, so I updated the Plaster Template to inject the name of the given module into Psake's settings file, vs how Psake attempts to get the Module Name.
I'm pretty happy with the work accomplished. I seriously don't see a real need to go beyond the template I created. I know a lot of hard work went into Plaster, but I can't see myself using multiple templates, when I can just make an uber template and customize during "plaster up" time.