diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000..347f773 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,90 @@ +# Docs: https://docs.coderabbit.ai/configure-coderabbit +# Schema: https://coderabbit.ai/integrations/schema.v2.json +# Support: https://discord.gg/GsXnASn26c + +language: en + +tone_instructions: | + Provide feedback in a professional, friendly, constructive, and concise tone. + Offer clear, specific suggestions and best practices to help enhance the code quality and promote learning. + +early_access: true + +knowledge_base: + # The scope of learnings to use for the knowledge base. + # `local` uses the repository's learnings, + # `global` uses the organization's learnings, + # `auto` uses repository's learnings for public repositories and organization's learnings for private repositories. + # Default value: `auto` + learnings: + scope: global + issues: + scope: global + pull_requests: + scope: global + +reviews: + profile: chill + auto_review: + # Ignore reviewing if the title of the pull request contains any of these keywords (case-insensitive) + ignore_title_keywords: + - wip + - draft + - test + # Set the commit status to 'pending' when the review is in progress and 'success' when it is complete. + commit_status: false + # Post review details on each review. Additionally, post a review status when a review is skipped in certain cases. + review_status: false + path_instructions: + - path: "**/*.tf" + instructions: | + You're a Terraform expert who has thoroughly studied all the documentation from Hashicorp https://developer.hashicorp.com/terraform/docs and OpenTofu https://opentofu.org/docs/. + You have a strong grasp of Terraform syntax and prioritize providing accurate and insightful code suggestions. + As a fan of the Cloud Posse / SweetOps ecosystem, you incorporate many of their best practices https://docs.cloudposse.com/best-practices/terraform/ while balancing them with general Terraform guidelines. + tools: + # By default, all tools are enabled. + # Masterpoint uses Trunk (https://trunk.io) so we do not need a lot of this feedback due to overlap. + shellcheck: + enabled: false + ruff: + enabled: false + markdownlint: + enabled: false + github-checks: + enabled: false + languagetool: + enabled: false + biome: + enabled: false + hadolint: + enabled: false + swiftlint: + enabled: false + phpstan: + enabled: false + golangci-lint: + enabled: false + yamllint: + enabled: false + gitleaks: + enabled: false + checkov: + enabled: false + detekt: + enabled: false + eslint: + enabled: false + rubocop: + enabled: false + buf: + enabled: false + regal: + enabled: false + actionlint: + enabled: false + pmd: + enabled: false + cppcheck: + enabled: false + circleci: + enabled: false diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..4a035e9 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,7 @@ +# Use this file to define individuals or teams that are responsible for code in a repository. +# Read more: +# +# Order is important: the last matching pattern takes the most precedence + +# These owners will be the default owners for everything +* @masterpointio/masterpoint-internal \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..c713685 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ +## what + +- Describe high-level what changed as a result of these commits (i.e. in plain-english, what do these changes mean?) +- Use bullet points to be concise and to the point. + +## why + +- Provide the justifications for the changes (e.g. business case). +- Describe why these changes were made (e.g. why do these commits fix the problem?) +- Use bullet points to be concise and to the point. + +## references + +- Link to any supporting GitHub issues or helpful documentation to add some context (e.g. Stackoverflow). +- Use `closes #123`, if this PR closes a GitHub issue `#123` diff --git a/.trunk/configs/.markdownlint.yaml b/.trunk/configs/.markdownlint.yaml index fb94039..c97ae62 100644 --- a/.trunk/configs/.markdownlint.yaml +++ b/.trunk/configs/.markdownlint.yaml @@ -8,3 +8,7 @@ line_length: false spaces: false url: false whitespace: false + +# Ignore MD041/first-line-heading/first-line-h1 +# Error: First line in a file should be a top-level heading +MD041: false diff --git a/examples/complete/README.md b/examples/complete/README.md index e709e98..acbb835 100644 --- a/examples/complete/README.md +++ b/examples/complete/README.md @@ -16,21 +16,21 @@ By doing this, we provide an example of how to set up Spacelift to automate the > **Important:** These files may contain sensitive information. Ensure you: > > - Remove any hardcoded credentials or sensitive values - > - Have appropriate Spacelift and AWS permissions + > - Have appropriate Spacelift ([`SPACELIFT_API_KEY_*`](https://docs.spacelift.io/concepts/spacectl#spacelift-api-keys) environment variables) and AWS permissions > - Follow your organization's security practices -1. Navigate to the spacelift-automation component directory: +2. Navigate to the spacelift-automation component directory: ```sh cd ./components/spacelift-automation/ ``` -1. Initialize Terraform: +3. Initialize Terraform: ```sh tofu init ``` -1. Select the worspace: +4. Select the worspace: ```sh tofu workspace select example ``` -1. Review the Terraform plan: +5. Review the Terraform plan: ```sh tofu plan -var-file tfvars/example.tfvars ```