lima-vm / lima

Linux virtual machines, with a focus on running containers
https://lima-vm.io/
Apache License 2.0
15k stars 585 forks source link

Split help commands into Basic and Advanced and Instance command groups #2147

Closed dj-documentation closed 2 months ago

dj-documentation commented 8 months ago

Description

Separate instance-specific commands into their own help group to make it easier for new users to see what commands are available.

See #2144

ayushgml commented 7 months ago

Hey @AkihiroSuda! I have interest of working on this issue and wanted to clear that the following output of limactl help is:

Lima: Linux virtual machines

Usage:
  limactl [command]

Examples:
  Start the default instance:
  $ limactl start

  Open a shell:
  $ lima

  Run a container:
  $ lima nerdctl run -d --name nginx -p 8080:80 nginx:alpine

  Stop the default instance:
  $ limactl stop

  See also template YAMLs: /usr/local/share/lima/templates

Available Commands:
  completion    Generate the autocompletion script for the specified shell
  copy          Copy files between host and guest
  create        Create an instance of Lima
  delete        Delete an instance of Lima.
  disk          Lima disk management
  edit          Edit an instance of Lima
  factory-reset Factory reset an instance of Lima
  help          Help about any command
  info          Show diagnostic information
  list          List instances of Lima.
  protect       Protect an instance to prohibit accidental removal
  prune         Prune garbage objects
  shell         Execute shell in Lima
  show-ssh      Show the ssh command line (DEPRECATED; use `ssh -F` instead)
  snapshot      Manage instance snapshots
  start         Start an instance of Lima
  stop          Stop an instance
  sudoers       Generate the content of the /etc/sudoers.d/lima file
  unprotect     Unprotect an instance
  validate      Validate YAML files

Flags:
      --debug              debug mode
  -h, --help               help for limactl
      --log-level string   Set the logging level [trace, debug, info, warn, error]
      --tty                Enable TUI interactions such as opening an editor. Defaults to true when stdout is a terminal. Set to false for automation. (default true)
  -v, --version            version for limactl

Use "limactl [command] --help" for more information about a command.

So from the list of "Available commands", the "Basic commands" will be list, create, delete, edit, shell, start, stop and the rest will be "Advanced commands"? I am running limactl version 0.20.0.

AkihiroSuda commented 7 months ago

So from the list of "Available commands", the "Basic commands" will be list, create, delete, edit, shell, start, stop and the rest will be "Advanced commands"?

Yes

ayushgml commented 7 months ago

Thank you @AkihiroSuda for clearing it. Can you assign me this issue?

ayushgml commented 7 months ago

The output of limactl help is:

Lima: Linux virtual machines

Usage:
  limactl [command]

Examples:
  Start the default instance:
  $ limactl start

  Open a shell:
  $ lima

  Run a container:
  $ lima nerdctl run -d --name nginx -p 8080:80 nginx:alpine

  Stop the default instance:
  $ limactl stop

  See also template YAMLs: /usr/local/share/lima/templates

Basic Commands:
  create          Create an instance of Lima
  delete          Delete an instance of Lima.
  edit            Edit an instance of Lima
  list            List instances of Lima.
  shell           Execute shell in Lima
  start           Start an instance of Lima
  stop            Stop an instance

Advanced Commands:
  copy            Copy files between host and guest
  debug           Debug utilities
  disk            Lima disk management
  factory-reset   Factory reset an instance of Lima
  generate-doc    Generate cli-reference pages
  hostagent       run hostagent
  info            Show diagnostic information
  protect         Protect an instance to prohibit accidental removal
  prune           Prune garbage objects
  show-ssh        Show the ssh command line (DEPRECATED; use `ssh -F` instead)
  snapshot        Manage instance snapshots
  sudoers         Generate the content of the /etc/sudoers.d/lima file
  unprotect       Unprotect an instance
  usernet         run usernet
  validate        Validate YAML files

Flags:
  --debug           debug mode
  --help            help for limactl
  --log-level       Set the logging level [trace, debug, info, warn, error]
  --tty             Enable TUI interactions such as opening an editor. Defaults to true when stdout is a terminal. Set to false for automation.
  --version         version for limactl

Use "limactl [command] --help" for more information about a command.

Is this okay @AkihiroSuda ?

AkihiroSuda commented 7 months ago

Thanks, but the following commands have to continue to be hidden:

dj-documentation commented 7 months ago

It would be helpful to have documentation that separates commands into individual instance commands, cluster management commands, and debugging commands. Splitting commands into basic and advanced groups still leaves a mess of commands and that doesn't help a user much when they're asking what can I do with this instance?

alexandear commented 2 months ago

Completed via #2167