Thank you for considering contributing to the AuthZed Cloud API Terraform Provider! This document provides guidelines and instructions for contributing.
Please read and follow our Code of Conduct.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/terraform-provider-cloudapi.git
- Create a branch for your work:
git checkout -b your-feature-branch
- Go 1.23 or higher
- Terraform 1.0 or higher
- Access to an AuthZed Cloud account for testing
-
Build the provider:
go build
-
Run tests:
go test ./...
-
Install locally for testing:
mkdir -p ~/.terraform.d/plugins/registry.terraform.io/authzed/cloudapi/0.1.0/$(go env GOOS)_$(go env GOARCH) cp terraform-provider-cloudapi ~/.terraform.d/plugins/registry.terraform.io/authzed/cloudapi/0.1.0/$(go env GOOS)_$(go env GOARCH)/
- Follow standard Go code style and conventions
- Use
go fmt
to format your code - Ensure your code passes
go vet
andgolint
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Update the README.md with details of changes if appropriate
- Update the CHANGELOG.md with details of changes
- The PR should work against the main branch
- Include appropriate tests
- Update documentation to reflect any changes in functionality
- Provide examples for new features
- Keep the README and other documentation up to date
(For maintainers only)
- Update CHANGELOG.md
- Create a new GitHub release with a semantic version tag
- The release will automatically be published to the Terraform Registry
By contributing, you agree that your contributions will be licensed under the project's Apache 2.0 License.