Live data from Hacker News

Coral, a Cobra fork with nearly all its features, but only 4 dependencies

github.com

11–17 of 17 posts

Re: Coral, a Cobra fork with nearly all its features, but only 4 dependencies

#11
post #6

4 ... of its 5 dependencies. It's just missing Viper. We should do a better job with the title here. See: - [0] https://github.com/muesli/coral/blob/master/go.mod - [1] https://github.com/spf13/cobra/blob/master/go.mod

...but that fifth dependency makes all the difference!

  $ go mod init foo && go get github.com/spf13/cobra && wc -l go.sum
  758 go.sum

  $ go mod init foo && go get github.com/muesli/coral && wc -l go.sum
  10 go.sum
(Number of lines in go.sum != number of transitive dependencies, of course, but the scale of the difference still hints at how much extra is being pulled into your project.)

Re: Coral, a Cobra fork with nearly all its features, but only 4 dependencies

#12
post #2

Christian Muehlhaeuser (@muesli) is an outstanding 10x developer and all his projects and contributions are pretty remarkable!

I recognize that handle and avatar from following him on Mastodon. (assuming it's actually him)

He has a different personal branding [0],[1] outside of GitHub

[0]: https://fribbledom.com/

[1]: https://mastodon.social/@fribbledom

Re: Coral, a Cobra fork with nearly all its features, but only 4 dependencies

#13

I like this from the readme: It's easy to use Coral as a drop-in replacement for Cobra in existing projects, just let gofmt do the heavy lifting for you: gofmt -w -r '"github.com/spf13/cobra" -> "github.com/muesli/coral"' . gofmt -w -r '"github.com/spf13/cobra/doc" -> "github.com/muesli/coral/doc"' . gofmt -w -r 'cobra -> coral' . go mod tidy Having implemented something to do a similar one off refactor in java for t…

I've recently used rewrite that comes with YAML recipes [1] for the common refactoring

[1] https://docs.openrewrite.org/reference/yaml-format-reference

Re: Coral, a Cobra fork with nearly all its features, but only 4 dependencies

#15
post #3

This looks amazing. Viper was something I’ve always removed from my projects as they’re simple tools usually where configuration files don’t make sense, so I really appreciate you sharing this. Excited to see where it goes!

I want to like Viper but I always find it’s behavior really strange.

Re: Coral, a Cobra fork with nearly all its features, but only 4 dependencies

#16
post #14

I love the things that the charm gang is working on and the associated projects. The only things that are dragging me out from Rust to Go https://github.com/charmbracelet/

Indeed. I've built a few applications recently, and their Bubbletea and Lipgloss libraries are just wonderful to use.

Re: Coral, a Cobra fork with nearly all its features, but only 4 dependencies

#17

Which features are missing?

From a quick look it still leverages viper integration for 12 Factor Apps, and since most of Coral’s features are well listed and detailed I’m going to make a presumption that Coral does not support reading environment variables (yet? Seems easy, maybe an opinionated decision?) not from external key value stores like Consul and Etcd. Client libraries for those would certainly cause a lot of extra dependencies.
Post reply on HN