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.