This document provides guidance for AI agents (such as Claude Code, GitHub Copilot, or similar tools) when working with this repository.
This is a PowerShell module project following standard conventions for:
- Module structure (Public/Private function separation)
- Build automation (psake + PowerShellBuild)
- Testing (Pester 5.x)
- CI/CD (GitHub Actions)
| File | Purpose |
|---|---|
build.ps1 |
Entry point for all build operations |
build.psake.ps1 |
Psake task definitions |
{{ModuleName}}/{{ModuleName}}.psd1 |
Module manifest |
{{ModuleName}}/{{ModuleName}}.psm1 |
Module root file |
tests/ |
Pester test suite |
./build.ps1 -Task Build -Bootstrap./build.ps1 -Task Test- Create function file in
{{ModuleName}}/Public/or{{ModuleName}}/Private/ - Add function name to
FunctionsToExportin.psd1(public functions only) - Create corresponding test file in
tests/Unit/Public/ortests/Unit/Private/
- Use
{{Prefix}}prefix for all function nouns (e.g.,Get-{{Prefix}}Example) - Include full comment-based help with .SYNOPSIS, .DESCRIPTION, .PARAMETER, .EXAMPLE
- Use
[CmdletBinding()]on all functions - Follow PSScriptAnalyzer rules
- All public functions must have corresponding test files
- Use Pester 5.x syntax (BeforeAll, BeforeDiscovery, etc.)
- Mock external dependencies in unit tests
See the instructions/ folder for detailed guidance on specific topics.