{"id":13639336,"url":"https://github.com/staticaland/awesome-cue","last_synced_at":"2026-01-22T02:10:18.582Z","repository":{"id":55613571,"uuid":"523145034","full_name":"staticaland/awesome-cue","owner":"staticaland","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-15T11:50:31.000Z","size":54,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T10:05:04.399Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/staticaland.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-10T00:10:00.000Z","updated_at":"2024-08-03T06:14:26.000Z","dependencies_parsed_at":"2022-08-15T04:30:55.055Z","dependency_job_id":null,"html_url":"https://github.com/staticaland/awesome-cue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staticaland%2Fawesome-cue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staticaland%2Fawesome-cue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staticaland%2Fawesome-cue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staticaland%2Fawesome-cue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/staticaland","download_url":"https://codeload.github.com/staticaland/awesome-cue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249822198,"owners_count":21329935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:00:59.725Z","updated_at":"2026-01-22T02:10:18.536Z","avatar_url":"https://github.com/staticaland.png","language":null,"funding_links":[],"categories":["Other","others"],"sub_categories":[],"readme":"#+title: Awesome CUE\n\n* How I learned CUE\n\nI have heard some people say the CUE website is intimidating. I think this is\nbecause too many concepts are introduced at once, and things are not introduced\nin the best order. The menu on the left contains many topics.\n\nFirst you should read [[https://cuelang.org/docs/install/][Getting Started | CUE]] and install CUE. After this I would\ngo straight to the [[https://cuelang.org/docs/tutorials/tour/intro/][Introduction | CUE]] tutorial. Try to grok:\n\n- [[https://cuelang.org/docs/tutorials/tour/intro/constraints/][Constraints | CUE]]\n  - Constraints are for validation and, well, constraining possible values.\n  - Constraints can reduce boilerplate.\n- [[https://cuetorials.com/overview/foundations/#conjunctions][Foundations | Overview | Cuetorials]]\n  - Explains conjunctions.\n- [[https://cuelang.org/docs/tutorials/tour/intro/schema/][Definitions | CUE]]\n  - Introduces the conjunction operator =\u0026= without having introduced it.\n- [[https://docs.dagger.io/1215/what-is-cue/][What is CUE? | Dagger]] is also interesting. They use the word *embedding* to\n  describe how the conjunction operator works. CUE works by [[https://en.wikipedia.org/wiki/Composition_over_inheritance][Composition over\n  inheritance]], which is a very good thing.\n\nYou need to understand what =#= and =_#= means. You also need to understand =\u0026=.\n\nYou can import any YAML or JSON file with =cue import=. Wrap the data in a\nobject and try to add some schema definitions to it. Run =cue export= or =cue\neval= to see what you get.\n\nAny data you add will be exported by CUE as one big blob of data. You can use\nCUE's scripting layer to export different parts of the data. You could also use\n=jq= if you so desire.\n\n* Articles and tutorials\n\n- [[https://cuelang.org/docs/tutorials/][Tutorials | CUE]]\n  - [[https://github.com/cue-lang/cue/blob/v0.4.3/doc/tutorial/kubernetes/README.md][cue/README.md at v0.4.3 · cue-lang/cue · GitHub]]\n- [[https://cuetorials.com/][Cuetorials]]\n- [[https://docs.dagger.io/1215/what-is-cue/][What is CUE? | Dagger]]\n\n* Audio and video\n\n- [[https://www.youtube.com/watch?v=jSRXobu1jHk][Large-Scale Engineering of Configuration with Unification (Marcel van\n  Lohuizen) - YouTube]]\n- [[https://changelog.com/gotime/163][CUE: Configuration superpowers for everyone with Marcel van Lohuizen, Paul\n  Jolly, \u0026 Roger Peppe (Go Time #163) |\u003e Changelog]]\n  - There is a transcript on this page.\n- [[https://www.youtube.com/watch?v=fR_yApIf6jU][Hands-on Introduction to CUE | Rawkode Live - YouTube]]\n- [[https://www.youtube.com/watch?v=e4v1_2bSeGI][FOSDEM 2022 - A practical guide to CUE: patterns for everyday use - YouTube]]\n- [[https://www.youtube.com/watch?v=R9NWBp_OjMo][Pulumi YAML \u0026 CUE language with Paul Jolly | Modern Infrastructure - YouTube]]\n- [[https://www.youtube.com/watch?v=Ey3ca0K2h2U][Using CUE with GitHub Actions - YouTube]]\n  - This video makes a lot more sense if you learn the syntax and concepts of\n    CUE first. [[https://github.com/cue-examples/github-actions-example][cue-examples/github-actions-example]] is the code for this\n    tutorial.\n- [[https://www.youtube.com/watch?v=2B2PZTZlPJg][Cue Project on GerritHub and GitHub actions - YouTube]]\n\n* Projects using CUE\n\nYou can use GitHub Code Search (see [[https://docs.github.com/en/search-github/searching-on-github/searching-code][docs]] and [[https://notes.garden/%F0%9F%8C%B2+Notes/Searching+on+GitHub][Searching on GitHub]]):\n\n#+begin_src sh\npath:*.cue language:cue\npath:.github/ language:cue\n#+end_src\n\n- [[https://cs.github.com/?scopeName=All+repos\u0026scope=\u0026q=path%3A*.cue][CUE files]]\n- [[https://cs.github.com/?scopeName=All+repos\u0026scope=\u0026q=path%3A.github%2F+language%3Acue][CUE files in the .github directory]]\n\n** GitHub Actions workflows\n\n- [[https://github.com/staticaland/go-whaturl/tree/main/.github/cue][go-whaturl/.github/cue at main · staticaland/go-whaturl · GitHub]]\n- [[https://github.com/hofstadter-io/hof/tree/_dev/.github/workflows][hof/.github/workflows at _dev · hofstadter-io/hof · GitHub]]\n- [[https://github.com/cue-unity/unity/tree/main/internal/ci][unity/internal/ci at main · cue-unity/unity · GitHub]]\n- [[https://github.com/augustfengd/augustfeng.app][GitHub - augustfengd/augustfeng.app: Code for my personal cloud infrastructure.]]\n\n** Terraform\n\n- [[https://github.com/augustfengd/augustfeng.app][GitHub - augustfengd/augustfeng.app: Code for my personal cloud infrastructure.]]\n\n* Other languages\n\n- https://yglu.io/\n\n* See also\n\n- [[https://github.com/adieu/awesome-cue][GitHub - adieu/awesome-cue: A curated list of awesome CUE frameworks,\n  libraries and software]]\n- [[https://github.com/zloeber/awesome-declarative-config][GitHub - zloeber/awesome-declarative-config: An awesome list of declaratively\n  configured applications and engines.]]\n  - [[https://zloeber.github.io/awesome-declarative-config/][Awesome Declarative]]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstaticaland%2Fawesome-cue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstaticaland%2Fawesome-cue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstaticaland%2Fawesome-cue/lists"}