From 87d2a22a12e19e90428fd0c2b80bf8cbdc658653 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 14 Aug 2025 01:22:18 +0000 Subject: [PATCH] Address review feedback: improve description, add Kustomize dependency, add design guideline Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com> --- .github/copilot-instructions.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 8ba024a7..479c97ff 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -2,7 +2,9 @@ ## Repository Overview -Helmfile is a declarative spec for deploying Helm charts that manages Kubernetes deployments as code. It provides templating, environment management, and GitOps workflows for Helm chart deployments. +Helmfile is a tool for deploying Helm charts that manages Kubernetes deployments as code. It provides templating, environment management, and GitOps workflows for Helm chart deployments. + +Helmfile is a declarative tool. In Helmfile, all elements of the desired state for deployments must be included in the `helmfile.yaml` config file and any associated files. Only operational matters can be provided dynamically, via command-line flags and environment variables. **Key Details:** - **Language:** Go 1.24.2+ @@ -14,7 +16,7 @@ Helmfile is a declarative spec for deploying Helm charts that manages Kubernetes ## Build and Validation Commands ### Essential Setup -Helmfile requires Helm 3.x as a runtime dependency: +Helmfile requires Helm 3.x and Kustomize 5.x as runtime dependencies: ```bash # Check for Helm dependency (REQUIRED) helm version # Must show version 3.x @@ -209,6 +211,7 @@ make build # Verify build works ## Working with the Codebase ### Making Changes +- **Follow Helmfile design**: Helmfile is a declarative deployment tool. Anything that is part of the desired state of the deployments needs to be managed by Helmfile configs. Only operational knowledge that affects "how" to apply the desired state needs to be runtime options, like command-like flags and environment variables. - **Small, focused changes:** Each PR should address single concern - **Test coverage:** Add unit tests for new pkg/ functionality - **Integration tests:** Update test-cases/ for new CLI features