NAME

Developer::Dashboard::Platform - platform and shell helpers for Developer Dashboard

SYNOPSIS

use Developer::Dashboard::Platform qw(
  native_shell_name
  shell_command_argv
  command_argv_for_path
);

my $shell = native_shell_name();
my @cmd = shell_command_argv('git status');

DESCRIPTION

This module centralizes the small amount of operating-system and shell awareness needed by Developer Dashboard so prompt integration, command execution, and extension loading can work across Unix-style systems and Windows Strawberry Perl installs.

FUNCTIONS

is_windows, native_shell_name, normalize_shell_name, shell_command_argv, command_in_path, is_runnable_file, resolve_runnable_file, command_argv_for_path, shell_quote_for

Platform and shell helpers used by the CLI and runtime.

PURPOSE

Perl module in the Developer Dashboard codebase. This file contains platform-aware execution helpers for runnable files and command argv construction. Open this file when you need the implementation, regression coverage, or runtime entrypoint for that responsibility rather than guessing which part of the tree owns it.

WHY IT EXISTS

It exists to keep this responsibility in reusable Perl code instead of hiding it in the thin dashboard switchboard, bookmark text, or duplicated helper scripts. That separation makes the runtime easier to test, safer to change, and easier for contributors to navigate.

WHEN TO USE

Use this file when you are changing the underlying runtime behaviour it owns, when you need to call its routines from another part of the project, or when a failing test points at this module as the real owner of the bug.

HOW TO USE

Load Developer::Dashboard::Platform from Perl code under lib/ or from a focused test, then use the public routines documented in the inline function comments and existing SYNOPSIS/METHODS sections. This file is not a standalone executable.

WHAT USES IT

This file is used by whichever runtime path owns this responsibility: the public dashboard entrypoint, staged private helper scripts under share/private-cli/, the web runtime, update flows, and the focused regression tests under t/.

EXAMPLES

perl -Ilib -MDeveloper::Dashboard::Platform -e 'print qq{loaded\n}'

That example is only a quick load check. For real usage, follow the public routines already described in the inline code comments and any existing SYNOPSIS section.