Skip to content

[Request]: CLI usability audit and refinement. #385

@jglogan

Description

@jglogan

Feature or enhancement request details

As a container user, I can use a CLI that has a consistent set of nouns, verbs, and options, and see output that is clear and consistent across commands, so that I can easily discover and use application features.

Concrete tasks:

  • Review nouns/verbs for all commands and create issues for anything that isn't consistent (but should be).
  • Determine whether we should support singular, plural, or both forms of nouns and create issues where we need to make changes.
  • Review commands for inconsistent cross-cutting options (e.g. do all commands that emit tabular output also allow for writing structured output?) and file specific issues.
  • Review resource names and ensure proper validation is being performed.
  • Review printed output of commands, identify areas needing improvement, and file specific issues.
  • Review command help, ensuring that output is clean, subcommands and options are easy to browse, and complex parameters are clearly documented.

Here's an opinion on core principles, would welcome feedback:

  • The container CLI emphasizes simplicity and orthogonality, embracing the principle of least surprise, and as such uses a simple noun-verb structure wherever possible.
  • Nouns in the CLI are generic resources, and all resources employ a consistent set of verbs for enumeration (list/ls), inspection (inspect) and deletion (delete/rm), except where semantics demand a specialized verb. For example, creation and side effect producing verbs are idiomatic and conform to existing conventions from other applications. Examples include container image build/pull/push, container create/start/run.
  • Users may extend the CLI using plugins to provide additional functionality.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

nextItems in scope for the next few milestones

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions