francescobianco / shell-output-guidelines

Discussion about shell output
MIT License
10 stars 3 forks source link

Welcome Magisters! #1

Open francescobianco opened 3 years ago

francescobianco commented 3 years ago

🧙 I warmly welcome You to this repository

Mission

The purpose of this repository is to humbly try with your help to define the guidelines for writing standard output messages, both in terms of punctuation and in terms of symbols that will convey a clear message to the user. Also promote good-practices.

Rational

Tools like ... at the end of message are clear meaning for the user, but there are many others without a clear definition, for examples the use of . at the end of line or refer to a directory in the output with a trailing / in the name. Identifying and ordering all these facts will be the task of the shell-output-guidelines project. At least if there is not already a stronger and better organized project, in any case we are ready to give our contribution.

You are welcome

I feel like inviting You to this house to thank you for your work in the world and in the evolution of Shell programming

@jwerle @Potherca @ko1nksm

Potherca commented 3 years ago

@francescobianco I like the idea of this a lot but I have some feedback:

  1. We might want to expand the scope to something broader, like Java Specification Requests (JSR), PHP Standards Recommendations (PSR) or Python Enhancement Proposals (PEP) and go beyond only thinking about shell-output.

  2. We might want to involve people from other popular BASH/Shell projects... I'm thinking specifically of @mbland, @sstephenson, and @jasonkarns (from BATS-Core), @nwinkler and @NoahGorny (from bash-it) and @juanibiapina (from basher) Or anyway they would recommend in their stead.

  3. Since shell scripts are created in other languages (like Python, Go, and NodeJS) we might also want to look for input from people of those communities.

But, again, great idea, I'd love to see where this adventure ends up taking us!

francescobianco commented 3 years ago

@Potherca Thanks always for your valuable proposals, I reply with:

  1. Yes, looking at the widest scope is possible but keep focus on Shell (Terminal or Console) User Experience. Rules will dictated from the user perspective and NOT from implementation (specific language or framework implementation or solution) point-of-view.
  2. Yes certainly and with great pleasure, I would be honored to have contributions from these players
  3. Yes, the purpose is precisely that, to write agnostic rules from languages, and thus create user experiences that are comparable regardless of whether it is made with NodeJs or with Symfony or with GO.

This is small seed of what I see for the future of this project https://github.com/francescobianco/shell-output-guidelines/blob/main/EXAMINE.md

juanibiapina commented 3 years ago

Interesting project. I'd like to ask also:

That's in addition to being easily readable, which is number 1 of course.

Potherca commented 3 years ago

As far as output goes, I'd also like to address (no) color, meaning of specific characters, emoji usage

Regarding things that are related to "Shell (Terminal or Console) User Experience" that are not limited to a program's main output:

@francescobianco Do you have an idea/preference for how to go about creating guidleines? Open an issue? Or create an MR?

NoahGorny commented 3 years ago

I will ping @davidpfarrell here, as he has many interesting ideas and opinions at Bash-it :smile:

francescobianco commented 3 years ago

Hi @NoahGorny , I create a Welcome Tread for Bash-it here https://github.com/francescobianco/shell-output-guidelines/issues/8

francescobianco commented 3 years ago

Hi @juanibiapina in reply to your topics follow this

The "Aspects" and "Topics" is what you looking for

  • can the output be easily parseable? (read more)
  • can the output be easily colorized? (color topic)
  • That's in addition to being easily readable (read more)
francescobianco commented 3 years ago

Hi @Potherca as usual you are a gold mine for me:

  • I'd also like to address (no) color, meaning of specific characters, emoji usage emoji

This require a wide table on which all of this possibilities will be explored

I start to create a board (Discussion) for each topic

  • exit-codes exit
  • manual/help and versioning output help
  • parameter / flag conventions args
  • pipe handling pipe

Abount "creating guidleines? Open an issue? Or create an MR?" I just update this with https://github.com/francescobianco/shell-output-guidelines/blob/main/GUIDELINES.md

Introducing the concepts of

I hope everything is not chaotic, as always I ask everyone for a hand in order to do the best possible