This guide demonstrates the primary workflows supported by the PowerShell Help Generator suite.
The goal: generate clean, structured help artifacts quickly and deterministically.
MyModule.psm1
MyModule.psd1
Functions include properly written comment-based help.
Export-HelpPackage `
-ModulePath ./MyModule.psm1 `
-ManifestPath ./MyModule.psd1 `
-OutputPath ./out `
-GenerateMarkdown `
-GenerateMaml `
-GenerateHelpInfo/out
/help
/en-US
MyModule-Help.xml
/docs
/module
module.md
helpinfo.md
/commands
Get-Thing.md
Set-Thing.md
/updatable-help
HelpInfo.xmlAll outputs follow ADR-004, ADR-007, ADR-010, and ADR-011 contracts.
If functions have no comment-based help:
Initialize-CommentHelp -ModulePath ./MyModule.psm1This inserts deterministic scaffold blocks:
.SYNOPSIS
TODO: Add synopsis.Then run:
Export-HelpPackage -ModulePath ./MyModule.psm1 -OutputPath ./outWarnings will be emitted for placeholder content (ADR-009).
The project must enable XML documentation:
<GenerateDocumentationFile>true</GenerateDocumentationFile>MyModule.dll
MyModule.xml
MyModule.psd1 (optional but recommended)Export-HelpPackage `
-AssemblyPath ./MyModule.dll `
-XmlDocPath ./MyModule.xml `
-OutputPath ./out `
-GenerateMarkdown `
-GenerateMaml `
-GenerateHelpInfoReflection provides structure. XML docs provide prose. Outputs follow the same contracts as script modules (ADR-006).
Convert-HelpArtifactsToMarkdown `
-HelpPath ./help/en-US/MyModule-Help.xml `
-HelpInfoPath ./HelpInfo.xml `
-OutputPath ./docsGenerates:
/docs
/commands
/moduleNo rewriting occurs. Structure is preserved.
Export-HelpPackage `
-ModulePath ./MyModule.psm1 `
-Package `
-OutputPath ./releaseProduces:
/release
HelpInfo.xml
/en-US
MyModule_1.0.0.0_en-US.cabCAB naming and layout follow ADR-010.
Test-HelpPackage -Path ./outValidation includes:
- Structural validation (ADR-009)
- Schema validation
- Semantic checks
- Packaging validation (if applicable)
Errors stop generation.
Warnings do not (unless -TreatWarningsAsErrors is specified).
Export-HelpPackage -ModulePath ./MyModule.psm1 -StrictStrict mode may:
- Require examples
- Treat missing descriptions as errors
- Enforce verb rules
Designed for release pipelines.
Everything flows through:
Input (Script | Assembly | MAML)
↓
NormalizedHelpModel
↓
Generators
↓
MAML | Markdown | HelpInfo.xml | CABNo shortcuts. No hidden logic. Deterministic output.
- Does not publish help.
- Does not host help.
- Does not generate websites.
- Does not rewrite prose.
- Does not extend PlatyPS.
- Does not infer undocumented behavior.
If it’s not about generating or validating PowerShell help artifacts, it’s out of scope.