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.
PURPOSE
This module keeps build-progress rendering separate from command parsing and build planning so long-running CLI work can report useful progress without tangling presentation logic into the compiler and packaging code.
WHAT USES IT
The public pax build flow uses this module for the DD-style progress rundown shown on stderr.