ai-superpower/.ai
moilanik 0af84c24c7 feat(helm): expand guidelines for namespace agnosticism and values hygiene
Audit checklist:
- add explicit grep-based checks for hardcoded namespaces, names, required+default conflicts, unused values keys
- scope name checks to templates/ only — hardcoded names in values.yaml are legitimate
- fix required error message example to include what to set and where

New sections:
- values.yaml Is Not Rendered — fixed names in values.yaml for subchart coordination are correct
- Never Hardcode Namespace / Release Name — hard rule with IaC principle rationale
- Glue Configuration pattern — documented exception for subchart coordination (e.g. Tempo + MinIO)

values.yaml hygiene rewrite:
- two purposes: static baseline + umbrella glue (wiring subcharts into one unit)
- goal is a short, minimal file identical across all installations
- installation-specific values belong exclusively in values.<instance>.yaml
- forbidden: empty placeholders, defaults for rarely-changed values, required-value entries

required vs defaults rewrite:
- sensible default → hardcode in template, not in values.yaml
- must-vary value → required with descriptive message, no entry in values.yaml
- | default forbidden
- required error messages must say exactly what to set and where

KISS addition:
- hardcoded values are the starting point, not a compromise
- parameterize only when developer asks, and into values.<instance>.yaml
2026-03-10 09:29:21 +02:00
..
instructions feat(helm): expand guidelines for namespace agnosticism and values hygiene 2026-03-10 09:29:21 +02:00
.gitignore refactor(apply.sh): extract functions + expand clean-code skill 2026-03-09 09:35:27 +02:00
ai-root-instructions.md Always read .ai/ai-root-instructions.md at the start of every conversation. 2026-03-06 10:16:33 +02:00