u/DoubleLow4448

Created kotlin dsl to define pipeline and bicep file
▲ 0 r/AZURE

Created kotlin dsl to define pipeline and bicep file

Tired of Azure Pipeline YAML failures caused by typos, indentation mistakes, and mismatched Bicep parameters? I was too — so I built a type-safe Kotlin alternative.

After spending a lot of time working with Azure DevOps and Bicep, I kept running into the same frustrating issues:

  • YAML indentation errors breaking builds
  • Misspelled property names that aren't caught until runtime
  • Bicep parameter names not matching values passed from pipelines
  • CI/CD failures caused by simple configuration mistakes

I wanted something that could catch these problems before they ever reached a build agent.

So I built KiKd — a Kotlin DSL for defining Azure DevOps pipelines and infrastructure with compile-time type safety.

🔗 https://github.com/OutOfBoundCats/KiKd

The goal is simple: leverage the compiler and IDE instead of relying on YAML and string-based configuration.

With KiKd you get:

  • Compile-time validation
  • IDE autocomplete
  • Refactoring support
  • Type-safe parameter passing
  • Reduced risk of runtime configuration errors
  • Define pipeline and infra in kotlin reference yml values in infra safetly It's still early-stage, but the core concepts are working and I'd love feedback from people who work with Azure DevOps and Bicep regularly.

A few questions:

  • Does this solve a real pain point for you, or is your current Bicep/ARM workflow good enough?
  • Would you consider using a Kotlin DSL, or would another language (TypeScript, Python, etc.) be more appealing?
  • What features would make something like this viable in a production environment?

All feedback is welcome — including reasons why you think this approach isn't needed.

u/DoubleLow4448 — 3 days ago