Skip to content

Organize commands in stellar --help into logical groups #2323

@leighmcculloch

Description

@leighmcculloch

What problem does your feature solve?

The stellar --help output currently lists 17 commands in no particular order:

Commands:
  contract    Tools for smart contract developers
  doctor      Diagnose and troubleshoot CLI and network issues
  events      Watch the network for contract events
  env         Prints the environment variables
  keys        Create and manage identities including keys and addresses
  network     Configure connection to networks
  container   Start local networks in containers
  config      Manage cli configuration
  snapshot    Download a snapshot of a ledger from an archive
  tx          Sign, Simulate, and Send transactions
  xdr         Decode and encode XDR
  completion  Print shell completion code for the specified shell
  cache       Cache for transactions and contract specs
  version     Print version information
  plugin      The subcommand for CLI plugins
  ledger      Fetch ledger information
  fee-stats   Fetch network feestats

As the CLI grows, discoverability becomes harder. Users need to scan all commands to find what they're looking for, with no logical organization to guide them.

What would you like to see?

Group related commands together with section headers. For example:

Smart Contracts

  • contract - Tools for smart contract developers

Transactions, Events & Data

  • tx - Sign, Simulate, and Send transactions
  • events - Watch the network for contract events
  • ledger - Fetch ledger information
  • snapshot - Download a snapshot of a ledger from an archive

Identity & Keys

  • keys - Create and manage identities including keys and addresses

Local Development

  • container - Start local networks in containers

Network

  • network - Configure connection to networks
  • fee-stats - Fetch network feestats

Encoding & Formats

  • xdr - Decode and encode XDR

Configuration & Setup

  • config - Manage cli configuration
  • network - Configure connection to networks
  • env - Prints the environment variables
  • cache - Cache for transactions and contract specs

Troubleshooting & Info

  • doctor - Diagnose and troubleshoot CLI and network issues
  • completion - Print shell completion code for the specified shell
  • plugin - The subcommand for CLI plugins
  • version - Print version information

What alternatives are there?

  1. Reorder without headers - Place related commands adjacent to each other without explicit grouping
  2. Alphabetical ordering - Order commands alphabetically for predictable lookup
  3. Status quo - Keep current ordering, rely on users to find commands

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog (Not Ready)

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions