diff --git a/README.md b/README.md index 6aca71f..1e1cc48 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,12 @@ # Hcl -A PowerShell module for working with [HashiCorp Configuration Language (HCL)](https://github.com/hashicorp/hcl), as used in [Terraform](https://www.terraform.io/), [OpenTofu](https://opentofu.org/), and other infrastructure-as-code tools. Supports parsing `.tf` configuration files, `.tfvars` variable files, `locals {}` blocks, and converting PowerShell objects back to HCL format. - -## Prerequisites - -This uses the following external resources: -- The [PSModule framework](https://github.com/PSModule/Process-PSModule) for building, testing and publishing the module. +A PowerShell module for working with [HashiCorp Configuration Language (HCL)](https://github.com/hashicorp/hcl), as used in +[Terraform](https://www.terraform.io/), [OpenTofu](https://opentofu.org/), and other infrastructure-as-code tools. It parses `.tf` +configuration files, `.tfvars` variable files, and `locals {}` blocks into PowerShell objects, and converts PowerShell objects back to HCL. ## Installation -To install the module from the PowerShell Gallery, you can use the following command: +Install the module from the PowerShell Gallery: ```powershell Install-PSResource -Name Hcl @@ -18,9 +15,7 @@ Import-Module -Name Hcl ## Usage -Here is a list of examples that are typical use cases for the module. - -### Example 1: Parse a Terraform locals block +### Example: Parse a Terraform locals block ```powershell $hcl = @' @@ -38,7 +33,7 @@ $result.locals.environment # production $result.locals.tags.project # myapp ``` -### Example 2: Parse a .tfvars file +### Example: Parse a .tfvars file ```powershell $tfvars = Get-Content -Path 'terraform.tfvars' -Raw @@ -46,7 +41,7 @@ $variables = ConvertFrom-Hcl -InputObject $tfvars $variables.region # us-east-1 ``` -### Example 3: Convert a PowerShell object to HCL +### Example: Convert a PowerShell object to HCL ```powershell $config = [ordered]@{ @@ -62,30 +57,14 @@ $config = [ordered]@{ ConvertTo-Hcl -InputObject $config ``` -### Find more examples - -To find more examples of how to use the module, please refer to the [examples](examples) folder. - -Alternatively, you can use `Get-Command -Module 'Hcl'` to find commands available in the module. -To find examples of each command, use `Get-Help -Examples 'CommandName'`. - ## Documentation -For detailed documentation on each function, use the built-in help system: +Documentation is published at [psmodule.io/Hcl](https://psmodule.io/Hcl/). + +To discover the commands and their examples from your session: ```powershell -Get-Help ConvertFrom-Hcl -Full -Get-Help ConvertTo-Hcl -Full +Get-Command -Module Hcl +Get-Help -Name ConvertFrom-Hcl -Examples +Get-Help -Name ConvertTo-Hcl -Examples ``` - -## Contributing - -Coder or not, you can contribute to the project! We welcome all contributions. - -### For users - -If you don't code, you still sit on valuable information that can make this project even better. If you experience that the product does unexpected things, throw errors or is missing functionality, you can help by submitting bugs and feature requests. Please see the issues tab on this project and submit a new issue that matches your needs. - -### For developers - -If you do code, we'd love to have your contributions. Please read the [Contribution guidelines](CONTRIBUTING.md) for more information. You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement.