cleodora-forecasting / cleodora-forecasting/cleodora

[Idea] Design a great cleoc CLI tool

Open
#574 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
24
Forks
1
PR merge metrics
No merged PRs in 30d

Description

`cleoc` of course already exists and works. Here is just a place to collect some resources to make it even better.

### Design Command-Line Tools People Love

Title: GopherCon 2019: Carolyn Van Slyck - Design Command-Line Tools People Love

Video: https://www.youtube.com/watch?v=eMz0vni6PAw

Code: https://github.com/carolynvs/emote

Slides: https://carolynvanslyck.com/talk/go/cli/

* Use verb-noun
* Avoid positional arguments unless they are all the same type (e.g. delete a b c -> fine)
* Add a `--json` flag to every command
* Default to human output
* Dates -> go humanize
* Use aliases to compromise between brevity and discoverability (have 'aliases' section in help)
* combine multiple commands to achieve tasks. avoid piping except for scripts.

https://github.com/getporter/porter is a professional tool that applies many of
these ideas and can serve as inspiration.

cmd/porter/main.go

pkg/porter/porter.go

### Command Line Interface Guidelines

https://clig.dev/

Contributor guide

Open the contributing guide

Research direction

The issue provides design resources but does not identify cleoc files, commands, tests, or a bounded change. Read the linked Command-Line Interface Guidelines and the cited Porter entry points, cmd/porter/main.go and pkg/porter/porter.go, then define a specific CLI improvement and its completion criteria before starting.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.