Core workflows

Use NovaModuleTools as a repeatable scaffold → build → test → bump → release flow

This guide explains the normal command sequence for day-to-day PowerShell module work.

Create a project scaffold

nova init
nova init -Path ~/Work
nova init -Example

Use the default scaffold when you want a clean starting point. Use -Example when you want a complete working reference project.

Build the module

nova build

The build combines your source files into a real PowerShell module under dist/<ProjectName>.

Use the built output when validating import, test, and publish behavior.

Test the built result

nova test

NovaModuleTools runs Pester against the project test suite and writes test results for the workflow under artifacts/TestResults.xml.

If your project uses nested test folders, discovery follows the BuildRecursiveFolders setting in project.json.

Update the project version

nova bump
nova bump -WhatIf

NovaModuleTools chooses the bump label from your Git commit history:

  • breaking change → Major
  • feat:Minor
  • fix: and other commit types → Patch

If the current folder is not a Git repository, NovaModuleTools falls back to a patch bump. If the repository exists but has no commits yet, create the first commit before running nova bump.

Run the release workflow

nova release -local
nova release -repository PSGallery -apikey $env:PSGALLERY_API

The release flow coordinates build, test, version bump, rebuild, and publish. Use local mode when you want to validate the release path without pushing to a repository.

For local import and reload habits after release validation, continue to Working with Modules.