<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: digitalstudium</title>
    <description>The latest articles on DEV Community by digitalstudium (@digitalstudium).</description>
    <link>https://dev.to/digitalstudium</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1041105%2F184e5373-cedf-4262-886a-d197211c928c.png</url>
      <title>DEV Community: digitalstudium</title>
      <link>https://dev.to/digitalstudium</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/digitalstudium"/>
    <language>en</language>
    <item>
      <title>helmfmt — Finally, a Formatter for Helm Charts</title>
      <dc:creator>digitalstudium</dc:creator>
      <pubDate>Tue, 10 Mar 2026 11:10:22 +0000</pubDate>
      <link>https://dev.to/digitalstudium/helmfmt-finally-a-formatter-for-helm-charts-33gc</link>
      <guid>https://dev.to/digitalstudium/helmfmt-finally-a-formatter-for-helm-charts-33gc</guid>
      <description>&lt;p&gt;If you work with Helm, you know the pain: Go-template directives scattered across YAML files with no consistent indentation. Standard YAML formatters can't help — they don't understand Go templates. And &lt;code&gt;gofmt&lt;/code&gt; doesn't know about YAML.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;helmfmt&lt;/strong&gt; fills this gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;helmfmt&lt;/strong&gt; creates consistent formatting for Helm templates. It auto-aligns Go-template indentation for control blocks (e.g., &lt;code&gt;{{ if ... }}&lt;/code&gt;, &lt;code&gt;{{ range ... }}&lt;/code&gt;), variables, and comments, improving readability.&lt;/p&gt;

&lt;p&gt;Importantly, it does not affect raw YAML structure, keeping your chart valid while making it cleaner.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Gets Formatted
&lt;/h2&gt;

&lt;p&gt;The tool handles indentation for control blocks (&lt;code&gt;range&lt;/code&gt;, &lt;code&gt;with&lt;/code&gt;, &lt;code&gt;define&lt;/code&gt;, &lt;code&gt;block&lt;/code&gt;), branching (&lt;code&gt;if&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt;, &lt;code&gt;else if&lt;/code&gt;, &lt;code&gt;end&lt;/code&gt;), variables (&lt;code&gt;{{ $var := ... }}&lt;/code&gt;), and some functions like &lt;code&gt;fail&lt;/code&gt;, &lt;code&gt;printf&lt;/code&gt;, etc. Comments (&lt;code&gt;{{/* ... */}}&lt;/code&gt;) are also covered. &lt;/p&gt;

&lt;h2&gt;
  
  
  Flexible Configuration
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;helmfmt&lt;/strong&gt; can be configured using a &lt;code&gt;.helmfmt&lt;/code&gt; file in JSON format, where you can tweak indent size, file extensions, and toggle indentation rules per function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fits Your Workflow
&lt;/h2&gt;

&lt;p&gt;It can be configured for Zed IDE, VS Code, VIM, and as a pre-commit hook — so it integrates naturally into whatever setup you already have.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Bother?
&lt;/h2&gt;

&lt;p&gt;Helm templates are notoriously hard to read. As charts grow, unformatted Go-template logic becomes a maintenance nightmare. &lt;strong&gt;helmfmt&lt;/strong&gt; is a small, opinionated tool that solves exactly this problem — think &lt;code&gt;gofmt&lt;/code&gt;, but for Helm charts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/digitalstudium/helmfmt" rel="noopener noreferrer"&gt;github.com/digitalstudium/helmfmt&lt;/a&gt;&lt;/p&gt;




</description>
      <category>kubernetes</category>
      <category>formatter</category>
      <category>helm</category>
    </item>
  </channel>
</rss>
