Skip to content
ConsoleMonster

Three-line welcome

Add a small greeting, workspace hint, and useful tip to your shell profile.

Demos Welcome screens

Use it when your shell profile needs a useful greeting in three lines.

  • Static
  • 88×8
  • PowerShell 7.4+
  • .NET 8.0+
Three-line welcome 88×824-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.

PowerShellwelcome-compact.ps1View on GitHub
# Print a compact offline greeting suitable for a PowerShell profile.
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.
# A three-line $PROFILE greeting with fixed sample values; no startup probes.
# Replace these strings with cached local values if you want personal context.
$greeting = '[bold accent]Welcome, explorer.[/] [muted]Workspace profile[/]'
$workspace = '[muted]Workspace[/] comet-notes   [muted]Branch[/] main   [pass]clean[/]'
$tip = '[muted]Tip[/] Get-Help Write-ConsoleWidget -Examples'

# Layout: compose the screen from the data above.
$screen = New-ConsoleText -Markup "$greeting`n$workspace`n$tip"

# Live updates: this static screen prints once and returns immediately.
$screen | Write-ConsoleWidget
C#Program.csView on GitHub
// Print a compact offline greeting suitable for a PowerShell profile.
// All data is synthetic and inline; no services are contacted or changed.
using ConsoleMonster;
using ConsoleMonster.Widgets;

// Data: fictional inputs kept in memory.
// Fixed sample values; --snapshot and --step 0 need no special handling.
// Replace these strings with cached local values for personal context.
string greeting = "[bold accent]Welcome, explorer.[/] [muted]Workspace profile[/]";
string workspace = "[muted]Workspace[/] comet-notes   [muted]Branch[/] main   [pass]clean[/]";
string tip = "[muted]Tip[/] Get-Help Write-ConsoleWidget -Examples";

// Layout: compose the greeting from the data above.
TextBlock layout = new TextBlock($"{greeting}\n{workspace}\n{tip}");

// 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 welcome-compact.ps1.

  3. Run it

    From the folder you saved it in.

    ./welcome-compact.ps1
  1. Create a project

    A plain console app; .NET 8 or later.

    dotnet new console -n Welcomecompact; cd Welcomecompact
  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 welcome-compact
Get-ConsoleDemo welcome-compact -Path ./welcome-compact.ps1
dotnet new install ConsoleMonster.Templates
dotnet new consolemonster --demo welcome-compact -n Welcomecompact

Make it yours

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

  1. Use the PowerShell body in $PROFILE after the param block, and replace the fixed greeting with your preferred text.

  2. Replace the sample workspace and branch with cached local values; keep startup free of network calls.

  3. Swap the help tip for a command you use often, keeping the greeting within three lines.

More welcome screens

All demos