Hint: if you're reading a tutorial that suggests a project layout with a "pkg" folder inside, close the tab and go look for another tutorial.

Show thread

32.1k stars for a GitHub repository that's essentially a collection of falsehoods and personal opinions 😒

If you're starting out with , just be aware that a certain repo claims to represent golang "standards", when it really does quite the opposite.

I won't even post the link here, this one has wasted enough people's time.

Brief and simple project release announcement: CancelReader v0.1.0! 🎉

A cancelable reader for os.File (and thus stdin): github.com/muesli/cancelreader

Recently @caarlos0 and I were talking about 's Cobra package and both realized how awesome it is, but also how unmanageable its dependency chain has become.

One thing led to another and we decided to do something about this, so here it is...

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

Read more about it here:

🎁 Building beautiful terminal programs with ?

termenv v0.11.0 is out and made for you 🤗

Safely use advanced ANSI styling options, detect session settings, communicate with the terminal, and enjoy full RGB support in your Go programs!

More here: github.com/muesli/termenv

🎉 Yummy mango! 🎉

Mango is a man-page generator for the flag, pflag, and cobra packages. It extracts commands, flags, and arguments from your program, and enables your code to self-document.

Get it here: github.com/muesli/mango

After bashing roff (and man pages in general) the other day, I actually sat down and wrote a little roff document generator in .

📣 Get it here: github.com/muesli/roff

You can use this to generate roff documents & man pages programmatically. More on this later, I have a few cool things in the pipeline here. Stay tuned!

When you're getting started with the linters are your best friends: they will spot your mistakes before you do and will generally improve your code and coding style - a lot. Use them!

Quick tutorial:

- install golangci-lint, a "meta" linter that wraps a whole collection of Go linters for you

- download the example .golangci.yml config from gist.github.com/muesli/9b6a5fb

- copy it to your project's root

- enable the linter in your IDE or run it manually: golangci-lint run

Happy hacking!

🚀 Lip Gloss, a CSS-like layout library for your terminal apps 🚀

Featuring the cutest project mascot 🥰


If Bob Ross were a programmer, he would probably be using termenv for his happy little CLI accidents.

In other news, termenv v0.8.0 is out!

More here: github.com/muesli/termenv/

Nothing makes me feel quite as appreciated as seeing one of my projects featured in the fantastic Weekly newsletter!

"A Golden Oldie"... you people make me blush ☺️



Welcome to the Fediverse, @caarlos0!

Fediverse, say hello to Carlos! Author of GoReleaser, dev and opensource contributor. Click that "Follow" button, you probably won't regret it 😉

Sharpen your pencils, gamut v0.2.0 is out!

The package for generating and managing color palettes now contains additional CSS and RAL color palettes!

Get it here: github.com/muesli/gamut

Enjoy live streaming?
Prefer self-hosting?

Check out Owncast, a neat self-hosted live streaming server!

Opensource, written in , easy to install & setup!

It's still fairly young, but looks super promising and already works amazingly well 😍

Homepage: owncast.online/

GitHub: github.com/owncast/owncast

Show older

The original server operated by the Mastodon gGmbH non-profit