NAME

PAX::CLI::Progress - DD-style terminal task board for long-running PAX CLI work

SYNOPSIS

my $progress = PAX::CLI::Progress->new(
    title => 'pax build progress',
    tasks => [
        { id => 'compile_code_units', label => 'Compile Perl code units' },
        { id => 'compile_launcher',   label => 'Compile standalone launcher' },
    ],
    stream  => \*STDERR,
    dynamic => 1,
    color   => 1,
);

my $callback = $progress->callback;
$callback->({ task_id => 'compile_code_units', status => 'running' });
$callback->({ task_id => 'compile_code_units', status => 'done' });
$progress->finish;

DESCRIPTION

This module renders the same style of ordered task rundown used by Developer Dashboard lifecycle and skill-install commands. PAX uses it for long-running CLI work such as pax build so operators can see phase-level progress on stderr while structured results stay on stdout.

METHODS

new, callback, update, finish, render, render_text

Construct and drive one task board.

USE

Use this module when a public PAX CLI command takes long enough that operators need visible phase progress without losing machine-readable command output.