A minimal template repository for building PowerShell modules in F#.
This repository supports two use cases:
- As a GitHub template repository.
- (Planned) Packaged and published as a NuGet template package.
Once available, users can run
dotnet new ...to scaffold a new F# PowerShell module project.
- A sample cmdlet implemented in F#:
Get-Greeting - Command-line predictor
- Feedback Provider
- Shared state across Cmdlet, Command-line predictor and Feedback Provider
- Linter and formatter with Fantomas + FSharp.Analyzers.SDK
- Unit tests with Expecto + FsCheck
- Code coverage
- End-to-end tests for cmdlets with Pester
- Documentation generation with Microsoft.PowerShell.PlatyPS
- Task runner for tests, linter, formatter, documentation and PowerShell Gallery publishing workflow
- General
- .NET SDK as specified in
global.json(this repository pins .NET SDK 10)
- .NET SDK as specified in
- Command-line predictor
- PowerShell 7.2+
- PSReadLine 2.2.2+
- .NET 8 SDK 6.0.0+ (for PowerShell 7.2)
- Feedback Provider
- PowerShell 7.4+
- Enable the
PSFeedbackProviderexperimental feature - .NET 8 SDK 8.0.0+ (for PowerShell 7.4)
MIT. See LICENSE.