Avm.Authoring.psd1

@{
    RootModule           = 'Avm.Authoring.psm1'
    ModuleVersion        = '0.1.6'
    GUID                 = '356c238f-88dd-48bf-ad0a-b7de6a5bb877'
    Author               = 'Azure Verified Modules'
    CompanyName          = 'Microsoft'
    Copyright            = '(c) Microsoft Corporation. All rights reserved.'
    Description          = 'Cross-platform PowerShell 7 CLI that consolidates the authoring and CI tooling for Azure Verified Modules (https://aka.ms/avm). A single avm command (alias: avm) works across both ecosystems and ships: environment diagnostics (avm version, avm doctor); a checksum-pinned managed-tool resolver (avm tool list/which/install) that downloads and verifies the exact terraform, terraform-docs, tflint, conftest and mapotf binaries a module needs; and a fully wired Terraform authoring chain - avm pre-commit fixes and checks a module locally (convention checks, HCL transforms via mapotf, terraform fmt and terraform-docs) while avm pr-check adds tflint, APRL/AVMSEC policy checks and terraform validate. No Docker, make or porch required. The Bicep facade is in active development. Requires PowerShell 7.4+ (Core). See https://github.com/Azure/azure-verified-modules-tools for status and docs.'
    PowerShellVersion    = '7.4'
    CompatiblePSEditions = @('Core')
    FunctionsToExport    = @(
        'Get-AvmAuthoringPlaceholder',
        'Get-AvmModuleContext',
        'Get-AvmTool',
        'Get-AvmVersion',
        'Install-AvmTool',
        'Invoke-Avm',
        'Invoke-AvmCheckConvention',
        'Invoke-AvmCheckPolicy',
        'Invoke-AvmDoctor',
        'Invoke-AvmDocs',
        'Invoke-AvmFormat',
        'Invoke-AvmLint',
        'Invoke-AvmPrCheck',
        'Invoke-AvmPreCommit',
        'Invoke-AvmSync',
        'Invoke-AvmTest',
        'Invoke-AvmTestE2e',
        'Invoke-AvmTestIntegration',
        'Invoke-AvmTestUnit',
        'Invoke-AvmTransform'
    )
    CmdletsToExport      = @()
    VariablesToExport    = @()
    AliasesToExport      = @('avm')
    PrivateData          = @{
        PSData = @{
            Tags         = @('Azure', 'AVM', 'AzureVerifiedModules', 'Bicep', 'Terraform', 'Authoring', 'CLI', 'PSEdition_Core')
            LicenseUri   = 'https://github.com/Azure/azure-verified-modules-tools/blob/main/LICENSE'
            ProjectUri   = 'https://github.com/Azure/azure-verified-modules-tools'
            ReleaseNotes = @'
### Added

- Every `avm` status result now renders a concise command status, chain step
  status/error/duration, and issue detail on the Information stream. GitHub
  Actions runs append the same diagnostics to `GITHUB_STEP_SUMMARY`. (F20, F21)
- `Invoke-AvmProcess -StreamOutput` emits child stdout and stderr while retaining
  both captured values. Terraform init, integration tests, and e2e lifecycle
  operations and hooks enable it by default. (F21)

### Fixed

- `avm transform` removes every PATH entry containing another platform-specific
  terraform executable before exposing the resolved pinned terraform to mapotf.
  The override is scoped to the mapotf child process. (F19)
- `AvmCommandException` includes the first failing step or issue diagnostic
  instead of reporting only the aggregate status. (F20)
- The Terraform reusable workflow no longer masks the non-secret subscription
  ID before publishing it as a job output, so downstream Azure test jobs receive
  `ARM_SUBSCRIPTION_ID`. (F22)
'@

        }
    }
}