Score a Helm chart's overall complexity from templates, values and dependencies.
This weighted score approximates how hard a Helm chart is to understand, test, and safely upgrade by combining five structural signals: template count (rendering surface area), dependencies (external coupling), CRDs (schema and cluster-wide risk, weighted heaviest), hooks (lifecycle ordering complexity), and values keys (configuration surface area, weighted lightest since keys are individually low-risk). Charts scoring 'high' or 'very high' typically benefit from splitting into smaller charts, reducing CRD ownership, or consolidating hooks.
score = templates×2 + deps×3 + crds×5 + hooks×2 + valuesKeys×0.1
CRDs are cluster-scoped and affect every namespace, are hard to safely version or roll back once other resources depend on them, and mistakes can be far more disruptive than a bad Deployment template — so they carry the highest per-unit weight (5×).
An individual values key is low-risk in isolation (it's just a configuration knob), so the score treats a large values surface as a mild complexity signal (0.1× per key) rather than a major structural risk, unlike dependencies or CRDs.
Look for the largest contributor in the breakdown — commonly CRDs or dependency count — and consider splitting the chart into an umbrella chart with smaller subcharts, moving CRD ownership to a dedicated operator chart, or consolidating redundant hooks.