mantil-io / mantil

Build your AWS Lambda-based Go backends quicker than ever
https://www.mantil.com
MIT License
110 stars 3 forks source link

Improve CLI messaging - aws install output (happy path) #34

Closed patko closed 2 years ago

patko commented 2 years ago

Related to: Mantil CLI

Ovdje je prijedlog kako da učinimo da poruke u Mantil CLI budu kratke, jasne i actionable. Dobar dio ideja sam bezobrazno posudio iz Homebrew čiji način komunikacije je svjetli primjer.

Poruke iz CLI-a dijelimo u (najmanje) dvije razine:

  1. Prva razina poruka je informativne naravi. Jasno opisuje što se događa (ili se dogodilo) i koji je ishod, ali bez da ulazi u detalje poput nabrojavanja svakog koraka u procesu. Informacije trebaju biti čim općenitije i kraće, ali da je iz njih ipak moguće nešto zaključiti i poduzeti (actionable).
  2. Drugs razina poruka je detaljne naravi. Aktivira se opcijom -v. Informacije na ovoj razini detaljno opisuju korake koje Mantil poduzima (ili će poduzeti). Pobrojani su svi koraci i njihovi ishodi. Ova se razina koristi za debugging i slične analize.

Primjer: mantil aws install

mantil aws install ... će kod uspješne instalacije ispisati:

Installing setup lambda function… Done.

==> Setting up AWS infrastructure…
Creating Cloudwatch log groups… Done.
Adding IAM Roles… Done.
Adding DynamoDB database… Done.
Installing Mantil Lambda functions… Done.
Setting up SQS forwarder… Done.
Setting up API Gateway… Done.

==> Installation successful!
63 items added, 0 changed, 0 destroyed

==> Next steps:
- Run mantil help to get started
- Run mantil new to start a new project
- Further documentation: 
  https://docs.mantil.io

Ovo je dovoljno kratko, jasno i actionable. Kad bismo još izbacili informacije koje slijede iza ==> Setting up AWS infrastructure…, onda bismo izgubili informacije koje pomažu da pregledamo kakve je posljedice napravila instalacija. S informacijom da su napravljene log groups ili IAM Roles već mogu nešto potražiti u AWS-ovu sučelju.

Na žalost, ovdje ne mogu predočiti boje pa prilažem PDF.

CLI output example.pdf

Opcija -v radi isto što i gore samo s umetnutim podacima kao do sad.

ksokolic commented 2 years ago

Za sve akcije koje traju duže od ?ms dodati spinner koji signalizira da se nešto događa u pozadini. Npr nešto kao primjer 11 iz ovog librarya.

ianic commented 2 years ago

ovo Ksenija hendla kroz druge taskove