en-US/about_PSScriptBuilder.help.txt

TOPIC
    about_PSScriptBuilder

SHORT DESCRIPTION
    A dependency-aware PowerShell script builder that combines multi-file
    projects into a single, deployable script.

LONG DESCRIPTION
    PSScriptBuilder analyzes your source files using PowerShell's AST,
    resolves all class, enum, and function dependencies automatically, and
    combines everything into a single, correctly ordered, deployable script.

    As a PowerShell project grows, managing the order of classes, enums,
    and functions across dozens of files becomes error-prone. Class and
    enum definitions must appear before the code that references them —
    base classes before derived classes, enums before the classes that use
    them, classes before the functions that depend on them.
    PSScriptBuilder handles this automatically — no manual sorting required.

    Key capabilities:
      - Automatic dependency ordering for classes, enums, and functions
      - Cycle detection for fatal circular dependencies
      - Cross-dependency support (Ordered and Hybrid Mode)
      - Flexible template system with token placeholders
      - Five collector types: Using, Enum, Class, Function, File
      - Project scaffolding via New-PSScriptBuilderProject
      - Script compression via Compress-PSScriptBuilderScript
      - Built-in SemVer release management

GETTING STARTED
    Install the module:

        Install-Module -Name PSScriptBuilder -Scope CurrentUser

    Import (always use 'using module', not Import-Module):

        using module PSScriptBuilder

    Scaffold a new project:

        New-PSScriptBuilderProject -Name "MyProject" -Path "C:\Projects"

    Or build an existing project:

        $contentCollector = New-PSScriptBuilderContentCollector |
            Add-PSScriptBuilderCollector -Type Class -IncludePath "src/Classes" |
            Add-PSScriptBuilderCollector -Type Function -IncludePath "src/Public"

        Invoke-PSScriptBuilderBuild `
            -ContentCollector $contentCollector `
            -TemplatePath "build/MyModule.psm1.template" `
            -OutputPath "build/Output/MyModule.psm1"

SEE ALSO
    Online documentation: https://docs.psscriptbuilder.com
    Get-Help Invoke-PSScriptBuilderBuild
    Get-Help New-PSScriptBuilderProject
    Get-Help Add-PSScriptBuilderCollector