DEV Community

Cover image for πŸ₯³ We built the cli of our dreams to send sms ❣️
adriens for opt-nc

Posted on

1

πŸ₯³ We built the cli of our dreams to send sms ❣️

πŸ€” About the benefits of cli

Since a few years now, we started to design various cli for internal batch usage, on our Java Stack on top of picocli and quarkus, delivered as images, and run on podman.

Our goal was to :

  1. Avoid as much as possible to write unnecessary documentations : each tool should describe himself according to a common pattern
  2. Rely on the best possible practices
  3. And overall : deliver a consistent first-class UX to OPS

Therefore I started to read and follow the following site to follow the best possible guidelines :

GitHub logo cli-guidelines / cli-guidelines

A guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.

Command Line Interface Guidelines

An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.

This is the source code for the guide. To read it, go to clig.dev.

Join us on Discord if you want to discuss the guide, or just chat about CLI design.

Contributing

The content of the guide lives in a single Markdown file, content/_index.md. The website is built using Hugo.

To run Hugo locally to see your changes, run:

$ brew install hugo
$ cd <path>/<to>/cli-guidelines/
$ hugo server

To view the site on an external mobile device, run:

hugo server --bind 0.0.0.0 --baseURL http://$(hostname -f):1313

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.




🎯 Our Go(al)

On my very own side I gave a try during a hackathon to Go and goreleaser :

Then, I wanted to bring my team to the Go experience at the office as sometimes we need to deliver apps to systems on which we don't want or can't install new softwares : so delivering a static binary thanks to Go and goreleaser seemed a good option for effortless cross-compilation... and of course build the best possible UX thanks to Cobra.

So I used this opportunity to sharpen our skill with my team :

And...

Build the best possible cli of our dreams to send sms from a terminal and see what we can deliver and learn from that.

🍿 v1.0.0 brew unboxing

πŸ“œ The story behind the product development

As I always say to my team & student, always "Start with why" :

After having drafted my ideas :

Here are the motivations that kept us on track :

Do things extremely :

  • 🧩 Interoperable
  • 🫴 Easy to integrate for anyone (even on legacy systems)
  • ⚑ Efficient
  • πŸ¦₯ Useful : make people save time, ie. make more with less effort
  • πŸ“¦ Easy to deliver and install
  • 🀩 Beautiful
  • πŸ“‰ Fast to build : for an improved Time to market
  • 🟒 Fast to (learn to) use
  • πŸ’‘ Inspiring for us and others, eg. create new business opportunities ideas
  • 😍 Desirable : people should feel the desire to use the product and feel joy while using it
  • πŸ§‘β€πŸ€β€πŸ§‘ Create new relationships with people and discover new practices

πŸ”­ What's next

Next, we'll focus on showing and sharing the benefits :

  • ♾️ Continuous delivery tools and automation
  • πŸ“Ό New ways of documentation with next-gen tools
  • πŸ›‘οΈ Security (beacause it always matters)
  • 🦸 One liners (because they're both a cool and efficient way to get things done)
  • 🐧 Classical linux tools
  • πŸ“š General IT Culture
  • πŸ§‘β€πŸŽ¨ Creative product design and development

Hopefully you'll like it as much as we do...and will engage yourself on the same kind of way : the #learnbydoing journey πŸ€—

Heroku

Amplify your impact where it matters most β€” building exceptional apps.

Leave the infrastructure headaches to us, while you focus on pushing boundaries, realizing your vision, and making a lasting impression on your users.

Get Started

Top comments (2)

Collapse
 
adriens profile image
adriens β€’

Kudos @supervinh @mbarre @draks898

Collapse
 
jess profile image
Jess Lee β€’

Nice work!

PulumiUP 2025 image

PulumiUP 2025: Cloud Innovation Starts Here

Get inspired by experts at PulumiUP. Discover the latest in platform engineering, IaC, and DevOps. Keynote, demos, panel, and Q&A with Pulumi engineers.

Register Now

πŸ‘‹ Kindness is contagious

Engage with a wealth of insights in this thoughtful article, valued within the supportive DEV Community. Coders of every background are welcome to join in and add to our collective wisdom.

A sincere "thank you" often brightens someone’s day. Share your gratitude in the comments below!

On DEV, the act of sharing knowledge eases our journey and fortifies our community ties. Found value in this? A quick thank you to the author can make a significant impact.

Okay