#!/usr/bin/env perl

use strict;
use warnings;

use FindBin qw($Bin);
use lib "$Bin/../lib";

use Developer::Dashboard::CLI::Paths ();

# main(@ARGV)
# Runs the paths helper for Developer Dashboard.
# Input: command-line arguments from @ARGV.
# Output: prints the active runtime path JSON payload, then exits.
Developer::Dashboard::CLI::Paths::run_paths_command( command => 'paths', args => \@ARGV );

__END__

=pod

=head1 NAME

paths - private runtime path helper for Developer Dashboard

=head1 SYNOPSIS

  dashboard paths

=head1 DESCRIPTION

This private helper is staged under F<~/.developer-dashboard/cli/dd/> so the main
C<dashboard> command can expose the active runtime path set without loading the
full runtime first.

=for comment FULL-POD-DOC START

=head1 PURPOSE

This staged helper exposes C<dashboard paths>, the command that prints the
active runtime path set as JSON. It is the shell-visible entrypoint for the
layered runtime roots, helper directories, config roots, and other path values
that the dashboard discovers for the current working directory.

=head1 WHY IT EXISTS

It exists because path reporting is a built-in dashboard feature, but the
public switchboard should only dispatch to a helper while the path runtime owns
the layered discovery and serialization rules.

=head1 WHEN TO USE

Use this file when changing the C<dashboard paths> CLI contract, the staged
helper handoff, or the exact examples contributors use to inspect active
runtime roots from the shell.

=head1 HOW TO USE

Users run C<dashboard paths>. The staged helper forwards the request to the
lightweight path runtime, which collects layered dashboard roots from
C<~/.developer-dashboard> down to the current project, computes the effective
paths for helpers, config, dashboards, and related runtime assets, and prints
that payload as JSON for human inspection or shell consumption.

=head1 WHAT USES IT

It is used by shell bootstrap code, by users debugging layered runtime state,
and by tests that verify the active runtime path payload and home-vs-project
layer precedence.

=head1 EXAMPLES

Example 1:

  dashboard paths

Run the public built-in command path that stages or re-enters this helper.

Example 2:

  ~/.developer-dashboard/cli/dd/paths --help

Inspect the staged helper directly after C<dashboard init> or helper extraction has populated the home runtime.

Example 3:

  prove -lv t/05-cli-smoke.t t/30-dashboard-loader.t

Rerun the focused staged-helper and thin-loader tests after changing helper dispatch behavior.

Example 4:

  prove -lr t

Verify that the helper still behaves correctly inside the complete repository suite.


=for comment FULL-POD-DOC END

=cut
