Skip to content
ConsoleMonster

Readiness report

Show what passed, what needs attention, and where to start in one static dashboard.

Demos Dashboards

Use it when a readiness review needs clear pass, warning and failure results.

  • Static
  • 88×30
  • PowerShell 7.4+
  • .NET 8.0+
Readiness report 88×3024-bitFull

How it's built

The whole program in one file, with its sample data at the top. It drew the recording above; both languages draw the same cells.

PowerShellreadiness-report.ps1View on GitHub
# Show a readiness report with status checks and score bars.
param(
    [switch]$StaticSnapshot,
    [ValidateRange(0, 0)][int]$Step = 0
)

Import-Module ConsoleMonster
# All data is synthetic and inline; no services are contacted or changed.

# Data: fictional inputs kept in memory.
# Fixed sample results: no checks run against your machine or any service.
# Replace these items with results you already have in memory.
$checks = @(
    @{ Name = 'Configuration'; Status = 'Pass'; Detail = 'All required settings present' }
    @{ Name = 'Dependencies'; Status = 'Pass'; Detail = 'No conflicting versions' }
    @{ Name = 'Test coverage'; Status = 'Warn'; Detail = 'Two scenarios need attention' }
    @{ Name = 'Documentation'; Status = 'Pass'; Detail = 'Examples match the current API' }
    @{ Name = 'Recovery plan'; Status = 'Fail'; Detail = 'Restore rehearsal still needed' }
)
$scores = [ordered]@{ Configuration = 100; Coverage = 72; Recovery = 35 }

# Layout: compose the screen from the data above.
$screen = New-ConsoleRows -Gap 1 {
    New-ConsoleRule '[bold]Readiness assessment[/] [muted]| workspace[/]'
    New-ConsoleText -Markup '[pass]3 passed[/]   [warn]1 warning[/]   [fail]1 failed[/]   [muted]5 checks total[/]'
    New-ConsolePanel -Title 'Checks' {
        New-ConsoleStatusList {
            foreach ($check in $checks) {
                New-ConsoleStatusItem $check.Name -Status $check.Status -Detail $check.Detail
            }
        }
    }
    New-ConsolePanel -Title 'Readiness by area' -Caption 'score / 100' {
        New-ConsoleBarChart -Data $scores -Maximum 100 -Unit '%' -Warning 80 -Critical 50
    }
    New-ConsoleText -Markup '[bold]Next:[/] rehearse a restore, then add the two missing test scenarios.'
    New-ConsoleText -Markup '[muted]Review owner: Platform team · next review: Friday[/]'
}

# Live updates: this static screen prints once and returns immediately.
$screen | Write-ConsoleWidget
C#Program.csView on GitHub
// Show a readiness report with status checks and score bars.
// All data is synthetic and inline; no services are contacted or changed.
using ConsoleMonster;
using ConsoleMonster.Layout;
using ConsoleMonster.Styling;
using ConsoleMonster.Widgets;

// Data: fictional inputs kept in memory.
// Fixed sample results; --snapshot and --step 0 need no special handling.
// Replace these items with results you already have in memory.
var checks = new[] {
    (Name: "Configuration", Status: StatusKind.Pass, Detail: "All required settings present"),
    (Name: "Dependencies", Status: StatusKind.Pass, Detail: "No conflicting versions"),
    (Name: "Test coverage", Status: StatusKind.Warn, Detail: "Two scenarios need attention"),
    (Name: "Documentation", Status: StatusKind.Pass, Detail: "Examples match the current API"),
    (Name: "Recovery plan", Status: StatusKind.Fail, Detail: "Restore rehearsal still needed")
};
var areaScores = new[] {
    (Name: "Configuration", Score: 100), (Name: "Coverage", Score: 72), (Name: "Recovery", Score: 35)
};

// Layout: compose the screen from the data above.
StatusList statuses = new StatusList();
foreach (var check in checks) {
    statuses.Add(check.Name, check.Status, check.Detail);
}
BarChart scores = new BarChart { Max = 100, Unit = "%", Warning = 80, Critical = 50 };
foreach (var area in areaScores) scores.Add(area.Name, area.Score);

Rows layout = new Rows(
    new Rule("[bold]Readiness assessment[/] [muted]| workspace[/]"),
    new TextBlock("[pass]3 passed[/]   [warn]1 warning[/]   [fail]1 failed[/]   [muted]5 checks total[/]"),
    new Panel(statuses, "Checks"),
    new Panel(scores, "Readiness by area") { Caption = "score / 100" },
    new TextBlock("[bold]Next:[/] rehearse a restore, then add the two missing test scenarios."),
    new TextBlock("[muted]Review owner: Platform team · next review: Friday[/]")) { Gap = 1 };

// Live updates: this static screen prints once and returns immediately.
Terminal.Write(layout);

Run it yourself

Three steps in PowerShell, four in C#. Every command copies with one click.

  1. Install the module

    Once. Windows PowerShell 5.1 or PowerShell 7 on Windows, macOS or Linux.

    Install-Module ConsoleMonster -Scope CurrentUser
  2. Save the program

    Download it, or copy it from above into readiness-report.ps1.

  3. Run it

    From the folder you saved it in.

    ./readiness-report.ps1
  1. Create a project

    A plain console app; .NET 8 or later.

    dotnet new console -n Readinessreport; cd Readinessreport
  2. Add ConsoleMonster

    The only package the program needs.

    dotnet add package ConsoleMonster
  3. Replace Program.cs

    Download it, or copy the program from above.

  4. Run it

    dotnet run

Or skip the copying. Every demo ships with the module and the project template.

Show-ConsoleDemo readiness-report
Get-ConsoleDemo readiness-report -Path ./readiness-report.ps1
dotnet new install ConsoleMonster.Templates
dotnet new consolemonster --demo readiness-report -n Readinessreport

Make it yours

Start with these, then read the rest of the file.

  1. Replace the fixed check results with your own in-memory assessment results and update the summary counts.

  2. Change the area scores and warning thresholds to match your readiness criteria.

  3. Replace the next-action sentence with a concrete response to your highest-priority finding.

More dashboards

All demos