I’ve been working with Kubernetes for a while now, and one thing that has always been a friction point for me is dealing with Custom Resource Definitions (CRDs).
We use them for everything—monitoring, cert-manager, custom controllers—but the tooling around them always felt a bit raw. Dealing with them usually meant running `kubectl get crds`, piping output to grep, or staring at 5,000-line YAML files just to figure out what fields were available in the schema.
It got frustratingly worse when I started managing multiple clusters. I found myself constantly context-switching just to check if a CRD was installed or to diff versions between environments. It felt like I was spending more time memorizing `kubectl` flags than actually working.
So, I started building *CRD Wizard* to scratch my own itch.
It started as a simple TUI to view resources, but I realized I needed more visual context. Now it’s a full desktop app (Go backend + Next.js frontend) that auto-discovers your local kubeconfigs and gives you a unified interface to explore CRDs across all your clusters.
Over the last few weekends, I’ve added a few features that I really wanted:
1. *Multi-Cluster Support:* It loads all your contexts automatically. You can switch between clusters instantly without touching your terminal. 2. *Documentation Generator:* I realized I often needed to share CRD specs with devs who don't have cluster access. I added a generator that turns any CRD (from your cluster or a Git URL) into a clean, searchable static HTML or Markdown page. 3. *AI Integration:* I hooked it up to local LLMs (Ollama) and Google Gemini. You can click a button to have the AI explain a complex schema or generate a sample manifest for you.
I wrote it in Go because I wanted it to be snappy and easy to distribute as a single binary.
It’s open source, and I’d love to hear what you think or what other pain points you run into with CRDs.