I'm building https://github.com/hofstadter-io/hof on top of it. I also use it a lot in CI / cloud related things. Tamed the monorepo with CUE too
I'm building https://github.com/hofstadter-io/hof on top of it. I also use it a lot in CI / cloud related things. Tamed the monorepo with CUE too
hof reminds me of those. Granted, I'm likely too young to have ever used them.
Are they back with a vengeance, but with type-safety? :)
Having built extensively on top of CUE, may I ask your thoughts on Dhall?
I wanted to use it as a YAML conformance tool, detecting drift across multiple git hashes of the same file. The aim would be to evolve a superset (if possible) data model that includes all fields (or reconciles them).
That would become the database tables.
Dhall is written in Haskell, CUE in Go. I write Go extensively and can make use of CUE's Go API, something I couldn't do with Dhall. Since then, it seems like Dhall's development has fallen off a cliff. The CUE creator has built a team and they have raised funds. There is a sizable team behind CUE now. Lot's of exciting things to come.
There's a CUE community call next Tuesday, if you want to watch live: https://github.com/cue-lang/cue/discussions/2219 and the old ones are here: https://www.youtube.com/@cuelang
CUE can detect backwards compatibility of config, I use this for your exact use case. https://docs.hofstadter.io/first-example/data-layer/checkpoi... (sorry, I need to work on the docs more) The goal is to be able to generate SQL to create and migrate database tables automatically.
The hof docs are helpful. I didn't encounter any big issues.
I hope to use some kind of type-safety checkers for YAML files in the future. It's too easy to make mistakes and too difficult to simply discover valid values.