Skip to content
Scaffolding for PowerShell scripts and modules
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Initial commit Feb 6, 2017
Test Removed editorconfig since there is a bug that cause it not to be upl… Feb 8, 2017
.editorconfig module script completed Feb 6, 2017
.gitignore Removed editorconfig since there is a bug that cause it not to be upl… Feb 8, 2017
LICENSE Initial commit Feb 1, 2017
PowerRails.psd1 Fixed typo in readme May 2, 2017
PowerRails.psm1 Initial commit Feb 6, 2017


PowerRails - A module to generate your scripts folder structure. PowerRails logo


Most scripts/modules have a similar directory structure. You shouldn't waste your time creating it. Just use this module to get a head start and add to your new structure as needed.

PowerRails in action

PowerRails will also helps you to become a better developer.


We include the following helpers to keep you on track 🚆 (pun intended).

  • Script Analyzer is a set of rules that are based on guidance from the PowerShell team. By default we enforce these rules.
  • Pester is a framework for running unit tests to execute and validate PowerShell commands. You should test your code. Pester helps you with that. Sample tests included.
  • PSake is a build automation tool written in PowerShell. Builds glue everything together. Analyze your script, run your unit testing and deploy!
  • PSDeploy is a quick and dirty module that simplifies deployments. If everything checks out, deploy our script to where ever you'd like.

Using PowerRails

There is only 1 cmdlet to learn. New-PowerRailsItem PowerRails is semi-opinioned in the tabs vs spaces discussion. We prefer spaces but I've included a switch to use tabs if you prefer.

Download & import module

PS> Install-Module -Name PowerRails
PS> Import-Module -Name PowerRails

Create a new script

PS> New-PowerRailsItem -name 'GitHubScrapper' -type 'script' -path '.'

Create a new module (type is module by default)

PS> New-PowerRailsItem -name 'MakeMyLifeEasier' -path 'c:\scripts\'

Learn more

PS> Get-Help New-PowerRailsItem

Build Operations

  • Test the script via Pester and Script Analyzer
PS> .\build.ps1
  • Test the script with Pester only
PS> .\build.ps1 -Task Test
  • Test the script with Script Analyzer only
PS> .\build.ps1 -Task Analyze
  • Deploy the script via PSDeploy (runs all tests)
PS> .\build.ps1 -Task Deploy

This module was inspired by the post by Dev Black Ops Great read. Highly recommended.

Big thanks to FreePik for the logo.

Don't forget to star this project if you like it!

You can’t perform that action at this time.