Skip to content
 
 

Repository files navigation

PSLath Lath

Github

GitHub Actions Status GitHub Actions Status GitHub Actions Status GitHub Open Issues Status GitHub Closed Issues Status License

PSGallery

PowerShell Gallery PSGallery Version PSGallery Playform PSGallery Playform

Important

This is a rebuild of the PSStucco Module with some various tweaks and bugfixes for personal use. Feel free to use also. You can view the differences and details by looking at the commit changes and the issues from jimbrig/PSStucco.

Contents


Overview

Tip

PSLath is an opinionated Plaster template for building high-quality PowerShell modules. This template produces PowerShell projects according to a structure that I and many others in the PowerShell community use. Apart from the PowerShell module itself, this template creates project scaffolding that enables effective collaboration with the community.

Features

Installation

Install from the PowerShell Gallery:

Install-PSResource PSLath

or

Install-Module -Name PSLath

Usage

$templateParameters = @{
    ModuleName   = 'MyModule'
    Description  = 'My PowerShell module'
    Version      = '0.1.0'
    FullName     = 'Your Name'
    License      = 'MIT'
    CoC          = 'No'
    MkDocs       = 'No'
    Classes      = 'Yes'
    PlatyPS      = 'Yes'
    devcontainer = 'Yes'
    CICD         = 'GitHubActions'
}

New-LathModule `
    -DestinationPath ./MyModule `
    -TemplateParameters $templateParameters `
    -Force `
    -NoLogo

The generated module source lives at src/MyModule, keeping the project root reserved for build, test, documentation, and CI configuration.

Projects generated with GitHub Actions include a weekly dependency canary. It temporarily tests the newest dependency versions on clean Windows runners under Windows PowerShell 5.1 and PowerShell 7, then opens a versioned pull request only when the validated pins change. When all pins are already current, the canary finishes successfully without running validation or opening a pull request. Enable Allow GitHub Actions to create and approve pull requests in the repository's Actions settings before running the canary promotion job.

The publishing workflow also finishes successfully without publishing when the PSGALLERY_API_KEY secret is not configured.

Contribution

The goal of this project is help create common patterns for PowerShell module development. Additional features or capabilities that benefit the community are welcome.

About

An opinionated Plaster template for high-quality PowerShell modules

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages