function cmd::group::show() {
  local name=""

  while [[ $# -gt 0 ]]; do
    case "$1" in
      --name) util::require_flag "--name" "${2:-}" || return 1; name="$2"; shift 2 ;;
      --help) cmd::group::help; return ;;
      *) log::error "Unknown flag: $1"; return 1 ;;
    esac
  done

  [[ -z "$name" ]] && log::error "Missing required flag: --name" && return 1
  group::require_exists "$name" || return 1

  local group_file
  group_file="$(group::path "$name")"

  log::section "Group: ${name}"
  printf "\n"

  local desc
  desc=$(json::get "$group_file" "desc")
  ui::row "Description" "${desc:-—}"

  # Load and filter peers
  local peers_list=()
  mapfile -t peers_list < <(json::get "$group_file" "peers") || true
  local filtered=()
  for p in "${peers_list[@]:-}"; do
    [[ -n "$p" ]] && filtered+=("$p")
  done
  peers_list=("${filtered[@]:-}")
  local peer_count=${#peers_list[@]}
  [[ -z "${peers_list[0]:-}" ]] && peer_count=0

  # Count valid peers (data logic stays in command)
  local valid_count=0
  for p in "${peers_list[@]}"; do
    [[ -z "$p" ]] && continue
    peers::require_exists "$p" > /dev/null 2>&1 && (( valid_count++ )) || true
  done
  local peer_word="peers"
  [[ "$valid_count" -eq 1 ]] && peer_word="peer"
  ui::row "Peers" "${valid_count} ${peer_word}"
  printf "\n"

  if [[ "$peer_count" -gt 0 ]]; then
    # Measure widths (data logic stays in command)
    local w_name=16 w_ip=13
    for peer_name in "${peers_list[@]}"; do
      [[ -z "$peer_name" ]] && continue
      (( ${#peer_name} > w_name )) && w_name=${#peer_name}
    done
    (( w_name += 2 ))

    # Delegate rendering to ui::
    ui::group::show_peers peers_list "$w_name" "$w_ip"
  else
    printf "  \033[2m—\033[0m\n"
  fi

  printf "\n"
}