mitchellh/go-libucl — explained in plain English
Analysis updated 2026-07-03 · repo last pushed 2019-03-08
Add UCL configuration file reading to a Go command-line tool so users can set ports and database connections.
Parse settings or preferences from a UCL file into Go structs for an application.
Use a JSON-like config format that supports comments in a Go service instead of plain JSON.
| mitchellh/go-libucl | deeix-ai/deeix-chat | tj/go-gracefully | |
|---|---|---|---|
| Stars | 56 | 50 | 66 |
| Language | Go | Go | Go |
| Last pushed | 2019-03-08 | — | 2014-12-27 |
| Maintenance | Dormant | — | Dormant |
| Setup difficulty | moderate | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a C toolchain to build the bundled libucl source, with a specific toolchain needed on Windows.
go-libucl lets programs written in the Go programming language read and parse configuration files in a format called UCL. Instead of making developers learn a brand-new config format, UCL is designed to be familiar since it resembles JSON but adds helpful features like comments and more flexible syntax. This library acts as a bridge so that Go applications can understand and work with those files. Under the hood, the library doesn't try to rewrite the original UCL parsing software from scratch. Instead, it connects Go directly to the existing C-based libucl code. This approach means the project relies on the original libucl software as the single source of truth for how the format works. The library bundles the necessary libucl source code right inside, so developers don't have to track down and install separate components before they can start using it. It works across Mac, Linux, and Windows. The primary audience is Go developers building applications that need to load settings or preferences from a file. For example, if you are writing a command-line tool that reads a configuration file to determine which port to run on or which database to connect to, this library helps your program parse that file and extract those values. The README notes that it is already being used for real production purposes, so it is functional today. The project does come with a few caveats. The warning in the documentation states the library is still in active development, meaning its interface might change between updates, and it is not yet entirely feature-complete. Building it on Windows also requires a specific toolchain, which could add friction for some developers on that platform.
A Go library that lets Go programs read and parse UCL configuration files, a JSON-like format with added features like comments. It bundles the original C-based libucl parser internally so no separate installation is needed.
Mainly Go. The stack also includes Go, C, libucl.
Dormant — no commits in 2+ years (last push 2019-03-08).
The license is not mentioned in the repository documentation.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.