From 81a0d523d6f85a952f9e53c6a7de88039dc6863c Mon Sep 17 00:00:00 2001 From: Aleksei Sviridkin Date: Mon, 13 Apr 2026 17:18:34 +0300 Subject: [PATCH] [ci] Fix factual errors in Gemini style guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three corrections from PR review: - Package group list was incomplete. Added library/ (reusable helper charts) and tests/ (tests for library charts, which are not directly testable otherwise). - CRD generation was described incorrectly. Static CRDs are generated by hack/update-codegen.sh from types under api/v1alpha1/, api/backups/, and api/dashboard/. Types under api/apps/v1alpha1/ are not static CRDs — they are registered at runtime from ApplicationDefinition. - Removed the tgz anti-pattern. No *.tgz files exist outside _out/, which is gitignored. The guidance was fabricated. Signed-off-by: Aleksei Sviridkin --- .gemini/styleguide.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.gemini/styleguide.md b/.gemini/styleguide.md index 64f9adb3..00201bfb 100644 --- a/.gemini/styleguide.md +++ b/.gemini/styleguide.md @@ -3,11 +3,11 @@ ## Project Architecture Cozystack is a Kubernetes-based PaaS built on Helm umbrella charts and FluxCD. -Packages live in `packages/{core,system,apps,extra}/`. +Packages live in `packages/{core,system,apps,extra,library,tests}/`. The `library/` group holds reusable helper charts; the `tests/` group exists because library charts are not directly testable. Each package wraps one or more upstream Helm charts. Go code in `cmd/`, `internal/`, `pkg/` implements Kubernetes controllers and API server. -CRDs are in `api/v1alpha1/` and `api/apps/v1alpha1/`. -App Kinds (like `Postgres`, `Kafka`) are registered dynamically at runtime from `ApplicationDefinition` resources — they are not static CRDs. +Static CRDs are generated by `hack/update-codegen.sh` from types under `api/v1alpha1/`, `api/backups/`, and `api/dashboard/`. +App Kinds (like `Postgres`, `Kafka`) live in `api/apps/v1alpha1/` but are registered dynamically at runtime from `ApplicationDefinition` resources — they are not static CRDs. ## Vendored Code — Critical Rules @@ -98,7 +98,6 @@ When reviewing `values.schema.json`: ## Anti-patterns — Do Not Flag These - Large JSON files in `dashboards/` — imported from upstream Grafana sources, not hand-written. -- `*.tgz` files — Helm chart archives, expected in the repo. - Files under any `charts/` directory — vendored upstream, left as-is intentionally. - Whitespace or formatting in `*.patch` / `*.diff` files — machine-applied, not authored. - Missing comments on generated code.