en-US/Catesta-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-ModuleProject</command:name>
      <command:verb>New</command:verb>
      <command:noun>ModuleProject</command:noun>
      <maml:description>
        <maml:para>Scaffolds a PowerShell module project for use with desired CICD platform for easy cross platform PowerShell development.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Uses the Plaster framework to scaffold a PowerShell module that adheres to community best practices. Based on selections made, generates the files and configuration required to integrate with a variety of CI/CD platforms, including options for easy cross-platform verification on Windows, Linux, and MacOS. InvokeBuild tasks will be created for validation, analysis, testing, and build automation. Basic Pester tests will be generated to get you started with either Pester 4 or Pester 5. Additional selections can generate other helpful files such as Git repository community files and VSCode project files. If no ModuleParameters are passed in, you will be prompted by Plaster for a decision on each template choice. If you pass in a partial ModuleParameters, you will be prompted by Plaster for any missing template decisions. If you pass in a full ModuleParameters set, Plaster will not prompt you for any template decisions.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-ModuleProject</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>DestinationPath</maml:name>
          <maml:Description>
            <maml:para>File path where PowerShell Module project will be created</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ModuleParameters</maml:name>
          <maml:Description>
            <maml:para>Provide all Plaster decisions inside a Hashtable. If any decision choice is not provided, Plaster will still prompt you for a decision. See NOTES for additional limitations.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>NoLogo</maml:name>
          <maml:Description>
            <maml:para>Suppresses the display of the Plaster logo.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:Description>
            <maml:para>Returns an object containing details of Plaster template deployment.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>Skip Confirmation</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:Description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:Description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>DestinationPath</maml:name>
        <maml:Description>
          <maml:para>File path where PowerShell Module project will be created</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ModuleParameters</maml:name>
        <maml:Description>
          <maml:para>Provide all Plaster decisions inside a Hashtable. If any decision choice is not provided, Plaster will still prompt you for a decision. See NOTES for additional limitations.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>NoLogo</maml:name>
        <maml:Description>
          <maml:para>Suppresses the display of the Plaster logo.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:Description>
          <maml:para>Returns an object containing details of Plaster template deployment.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:Description>
          <maml:para>Skip Confirmation</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:Description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:Description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - https://www.techthoughts.info/</maml:para>
        <maml:para>Catesta Plaster templates have dynamic choices. This means that early choices influence subsequent choices. This requires an understanding of the template manifest schema which is provided in the Catesta docs. Due to the nature of the lower level Plaster engagement, this means it is possible to pass hashtable choices in ModuleParameters that are not supported. Read the manifest schemas to understand how to properly craft a ModuleParameters table.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-ModuleProject -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Initiates Plaster template to scaffold a PowerShell module project with customizable CI/CD integration options. Choices made during scaffolding will result in a PowerShell project tailored to the chosen CI/CD platform, or a standard PowerShell module project with no CI/CD integration.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-ModuleProject -DestinationPath $outPutPath -NoLogo</dev:code>
        <dev:remarks>
          <maml:para>Initiates Plaster template to scaffold a PowerShell module project with customizable CI/CD integration options. Choices made during scaffolding will result in a PowerShell project tailored to the chosen CI/CD platform, or a standard PowerShell module project with no CI/CD integration. The Plaster logo will be suppressed and not shown.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-ModuleProject -DestinationPath $outPutPath -PassThru</dev:code>
        <dev:remarks>
          <maml:para>Initiates Plaster template to scaffold a PowerShell module project with customizable CI/CD integration options. Choices made during scaffolding will result in a PowerShell project tailored to the chosen CI/CD platform, or a standard PowerShell module project with no CI/CD integration. An object will be returned containing details of the Plaster template deployment.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'NONE'
    RepoType = 'NONE'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a basic PowerShell module project with no additional extras. You just get a basic PowerShell module construct.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'GITHUB'
    GitHubAOptions = 'windows', 'pwshcore', 'linux', 'macos'
    RepoType = 'GITHUB'
    ReadtheDocs = 'READTHEDOCS'
    RTDTheme = 'READTHEDOCSTHEME'
    License = 'MIT'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    S3Bucket = 'PSGallery'
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell module project for integration with GitHub Actions with the project code stored in GitHub. A full set of GitHub project supporting files is provided. The project is set up for integration with Read the Docs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'CODEBUILD'
    AWSOptions = 'ps', 'pwshcore', 'pwsh'
    RepoType = 'GITHUB'
    ReadtheDocs = 'NONE'
    License = 'MIT'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    S3Bucket = 'PSGallery'
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell module project for integration with AWS CodeBuild with the project code stored in GitHub. A full set of GitHub project supporting files is provided.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'AZURE'
    AzureOptions = 'windows', 'pwshcore', 'linux', 'macos'
    RepoType = 'GITHUB'
    ReadtheDocs = 'NONE'
    License = 'NONE'
    Changelog = 'NONE'
    COC = 'NONE'
    Contribute = 'NONE'
    Security = 'NONE'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell module project for integration with Azure Pipelines with the project code stored in GitHub. No repository supporting files are included.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'APPVEYOR'
    AppveyorOptions = 'windows', 'pwshcore', 'linux', 'macos'
    RepoType = 'GITHUB'
    ReadtheDocs = 'NONE'
    License = 'NONE'
    Changelog = 'NONE'
    COC = 'NONE'
    Contribute = 'NONE'
    Security = 'NONE'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    PassThru = $true
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell module project for integration with Appveyor with the project code stored in GitHub. No repository supporting files are included.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 9 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'BITBUCKET'
    RepoType = 'BITBUCKET'
    ReadtheDocs = 'NONE'
    License = 'NONE'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    PassThru = $true
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell module project for integration with Bitbucket Pipelines with the project code stored on Bitbucket. A full set of repository supporting files are included.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 10 --------------------------</maml:title>
        <dev:code>$moduleParameters = @{
    ModuleName = 'ModuleName'
    Description = 'My awesome module is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'GITLAB'
    RepoType = 'GITLAB'
    ReadtheDocs = 'READTHEDOCS'
    RTDTheme = 'READTHEDOCSTHEME'
    GitLabOptions = 'windows', 'pwshcore', 'linux'
    License = 'MIT'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Help = 'Yes'
    Pester = '5'
    PassThru = $true
    NoLogo = $true
}
New-ModuleProject -ModuleParameters $moduleParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell module project for integration with GitLab CI/CD Pipelines with the project code stored on GitLab. A full set of repository supporting files are included. The project is set up for integration with Read the Docs.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://www.catesta.dev/en/latest/New-ModuleProject/</maml:linkText>
        <maml:uri>https://www.catesta.dev/en/latest/New-ModuleProject/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/powershell/scripting/developer/module/writing-a-windows-powershell-module</maml:linkText>
        <maml:uri>https://docs.microsoft.com/powershell/scripting/developer/module/writing-a-windows-powershell-module</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-VaultProject</command:name>
      <command:verb>New</command:verb>
      <command:noun>VaultProject</command:noun>
      <maml:description>
        <maml:para>Scaffolds a PowerShell SecretManagement vault project for use with desired CICD platform for easy cross platform PowerShell development.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Uses the Plaster framework to scaffold a PowerShell SecretManagement vault project that adheres to community best practices. Based on selections made, generates the files and configuration required to integrate with a variety of CI/CD platforms, including options for easy cross-platform verification on Windows, Linux, and MacOS. InvokeBuild tasks will be created for validation, analysis, testing, and build automation. Additional selections can generate other helpful files such as GitHub community files and VSCode project files. If no VaultParameters are passed in, you will be prompted by Plaster for a decision on each template choice. If you pass in a partial VaultParameters, you will be prompted by Plaster for any missing template decisions. If you pass in a full VaultParameters set, Plaster will not prompt you for any template decisions.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-VaultProject</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>DestinationPath</maml:name>
          <maml:Description>
            <maml:para>File path where PowerShell SecretManagement vault project will be created</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>VaultParameters</maml:name>
          <maml:Description>
            <maml:para>Provide all Plaster decisions inside a Hashtable. If any decision choice is not provided, Plaster will still prompt you for a decision. See NOTES for additional limitations.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>NoLogo</maml:name>
          <maml:Description>
            <maml:para>Suppresses the display of the Plaster logo.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:Description>
            <maml:para>Returns an object containing details of Plaster template deployment.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>Skip Confirmation</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:Description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:Description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>DestinationPath</maml:name>
        <maml:Description>
          <maml:para>File path where PowerShell SecretManagement vault project will be created</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>VaultParameters</maml:name>
        <maml:Description>
          <maml:para>Provide all Plaster decisions inside a Hashtable. If any decision choice is not provided, Plaster will still prompt you for a decision. See NOTES for additional limitations.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>NoLogo</maml:name>
        <maml:Description>
          <maml:para>Suppresses the display of the Plaster logo.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:Description>
          <maml:para>Returns an object containing details of Plaster template deployment.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:Description>
          <maml:para>Skip Confirmation</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:Description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:Description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - https://www.techthoughts.info/</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-VaultProject -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Initiates Plaster template to scaffold a PowerShell SecretManagement vault project with customizable CI/CD integration options. Choices made during scaffolding will result in a PowerShell project tailored to the chosen CI/CD platform, or a standard PowerShell SecretManagement vault project with no CI/CD integration.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-VaultProject -DestinationPath $outPutPath -NoLogo</dev:code>
        <dev:remarks>
          <maml:para>Initiates Plaster template to scaffold a PowerShell SecretManagement vault project with customizable CI/CD integration options. Choices made during scaffolding will result in a PowerShell project tailored to the chosen CI/CD platform, or a standard PowerShell SecretManagement vault project with no CI/CD integration. The Plaster logo will be suppressed and not shown.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-VaultProject -DestinationPath $outPutPath -PassThru</dev:code>
        <dev:remarks>
          <maml:para>Initiates Plaster template to scaffold a PowerShell SecretManagement vault project with customizable CI/CD integration options. Choices made during scaffolding will result in a PowerShell project tailored to the chosen CI/CD platform, or a standard PowerShell SecretManagement vault project with no CI/CD integration. An object will be returned containing details of the Plaster template deployment.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'NONE'
    RepoType = 'NONE'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a basic PowerShell SecretManagement vault project with no additional extras. You just get a basic PowerShell SecretManagement vault construct.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'GITHUB'
    GitHubAOptions = 'windows', 'pwshcore', 'linux', 'macos'
    RepoType = 'GITHUB'
    ReadtheDocs = 'READTHEDOCS'
    RTDTheme = 'READTHEDOCSTHEME'
    License = 'MIT'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    S3Bucket = 'PSGallery'
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell SecretManagement vault project for integration with GitHub Actions with the project code stored in GitHub. A full set of GitHub project supporting files is provided. The project is set up for integration with Read the Docs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'CODEBUILD'
    AWSOptions = 'ps', 'pwshcore', 'pwsh'
    RepoType = 'GITHUB'
    ReadtheDocs = 'NONE'
    License = 'MIT'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    S3Bucket = 'PSGallery'
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell SecretManagement vault project for integration with AWS CodeBuild with the project code stored in GitHub. A full set of GitHub project supporting files is provided.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'AZURE'
    AzureOptions = 'windows', 'pwshcore', 'linux', 'macos'
    RepoType = 'GITHUB'
    ReadtheDocs = 'NONE'
    License = 'NONE'
    Changelog = 'NONE'
    COC = 'NONE'
    Contribute = 'NONE'
    Security = 'NONE'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell SecretManagement vault project for integration with Azure Pipelines with the project code stored in GitHub. No repository supporting files are included.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'APPVEYOR'
    AppveyorOptions = 'windows', 'pwshcore', 'linux', 'macos'
    RepoType = 'GITHUB'
    ReadtheDocs = 'NONE'
    License = 'NONE'
    Changelog = 'NONE'
    COC = 'NONE'
    Contribute = 'NONE'
    Security = 'NONE'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    PassThru = $true
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell SecretManagement vault project for integration with Appveyor with the project code stored in GitHub. No repository supporting files are included.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 9 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'BITBUCKET'
    RepoType = 'BITBUCKET'
    ReadtheDocs = 'NONE'
    License = 'NONE'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    PassThru = $true
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell SecretManagement vault project for integration with Bitbucket pipelines with the project code stored on Bitbucket. A full set of repository supporting files are included.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 10 --------------------------</maml:title>
        <dev:code>$vaultParameters = @{
    ModuleName = 'SecretManagement.VaultName'
    Description = 'My awesome vault is awesome'
    Version = '0.0.1'
    FN = 'user full name'
    CICD = 'GITLAB'
    GitLabOptions = 'windows', 'pwshcore', 'linux'
    RepoType = 'GITLAB'
    ReadtheDocs = 'READTHEDOCS'
    RTDTheme = 'READTHEDOCSTHEME'
    License = 'NONE'
    Changelog = 'CHANGELOG'
    COC = 'CONDUCT'
    Contribute = 'CONTRIBUTING'
    Security = 'SECURITY'
    CodingStyle = 'Stroustrup'
    Pester = '5'
    PassThru = $true
    NoLogo = $true
}
New-VaultProject -VaultParameters $vaultParameters -DestinationPath $outPutPath</dev:code>
        <dev:remarks>
          <maml:para>Scaffolds a PowerShell SecretManagement vault project for integration with GitLab pipelines with the project code stored on GitLab. A full set of repository supporting files are included. The project is set up for integration with Read the Docs.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://www.catesta.dev/en/latest/New-VaultProject/</maml:linkText>
        <maml:uri>https://www.catesta.dev/en/latest/New-VaultProject/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://www.catesta.dev/en/latest/Catesta-Vault-Extension/</maml:linkText>
        <maml:uri>https://www.catesta.dev/en/latest/Catesta-Vault-Extension/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/PowerShell/SecretManagement</maml:linkText>
        <maml:uri>https://github.com/PowerShell/SecretManagement</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>