A templating engine for Powershell leveraging the dotnet templating engine, inspired by Plaster.
- Don't reinvent the wheel, templating has been done by dotnet and is mature, long term supported, and stable.
- Make interaction with the dotnet templating engine as comfortable for a casual Powershell user who has little to no .NET knowledge as possible.
- Friendly functions to consume templates in .nupkg format from the Powershell Gallery (and potentially nuget.org). Align with
PSGet 3.0as much as possible for methodology.
- Adding extensive advanced templating functionality above and beyond what the dotnet templating engine offers. This is basically a transpiler to
template.json. SeePulumiandBicepfor inspiration.
- Install dotnet templates from a local directry
- Discover and install mechanism for templates on the PowerShell gallery
- Deploy/Apply templates via
New-MortarProject
- Support template.yaml transparently
- Custom template provider at the template .NET level rather than using PS
- DSL maybe? Worth the effort over existing json tooling? Probably not
- Plaster "Shim" so that Mortar can maybe be used with the vscode plaster deployment. Alternatively, just make a new action for mortar templates using same flow as C# extension
- PSD1 to template.json transpiler, probably not worth it, most PS people are comfortable with json these days.
- There is a JSON schema for the templating engine (https://json.schemastore.org/template), use QuickType to generate C# classes to build/validate a config maybe?
- Wrap the quicktype generator with powershell functions that would be familiar to someone who has used new-modulemanifest.
