Three-line welcome
Add a small greeting, workspace hint, and useful tip to your shell profile.
- Static
- 88×8
- 21 lines
Show-ConsoleDemo welcome-compactdotnet new consolemonster --demo welcome-compactStart a shell session with a logo, host summary, git snapshot, and one useful tip.
Demos Welcome screens
Use it when a shell session should open with cached host and repository context.
█ █ █▀▀▀▀ █ █ ▄▀▀▀▄ █▄▄▄█ █▄▄▄ █ █ █ █ █ █ █ █ █ █ █ ▀ ▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀ A little context before your next command. ╭─ Host summary ───────────────────────────────────────────────────── local workspace ─╮ │ Host comet-devbox │ │ Platform Cross-platform development │ │ Runtime PowerShell 7.4+ / .NET 8+ │ │ Workspace comet-notes │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Git | comet-notes ──────────────────────────────────────────────────────────────────╮ │ main 2 modified 1 staged 0 ahead / 0 behind │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ Tip Get-Help New-ConsoleTable -Examples Ready when you are.
The whole program in one file, with its sample data at the top. It drew the recording above; both languages draw the same cells.
# Print an offline welcome screen with a logo, host summary, git status and tip.
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.
# All host and git values are fictional; this runs offline without local probes.
# For $PROFILE, replace fixed strings with cached local data, not slow commands.
$hostSummary = [ordered]@{
Host = 'comet-devbox'
Platform = 'Cross-platform development'
Runtime = 'PowerShell 7.4+ / .NET 8+'
Workspace = 'comet-notes'
}
$git = '[accent]main[/] [warn]2 modified[/] [pass]1 staged[/] [muted]0 ahead / 0 behind[/]'
# Layout: compose the screen from the data above.
$screen = New-ConsoleRows -Gap 1 {
New-ConsoleLogo 'HELLO' -Tagline '[muted]A little context before your next command.[/]'
New-ConsolePanel -Title 'Host summary' -Caption 'local workspace' {
New-ConsoleKeyValue -Data $hostSummary
}
New-ConsolePanel -Title 'Git | comet-notes' {
New-ConsoleText -Markup $git
}
New-ConsoleText -Markup '[bold]Tip[/] Get-Help New-ConsoleTable -Examples'
New-ConsoleText -Markup '[muted]Ready when you are.[/]'
}
# Live updates: this static screen prints once and returns immediately.
$screen | Write-ConsoleWidget
// Print an offline welcome screen with a logo, host summary, git status and tip.
// All data is synthetic and inline; no services are contacted or changed.
using ConsoleMonster;
using ConsoleMonster.Layout;
using ConsoleMonster.Widgets;
// Data: fictional inputs kept in memory.
// Fictional host and git values; --snapshot and --step 0 need no special handling.
// Replace fixed strings with cached local data to keep profile startup fast.
var hostData = new[] {
(Label: "Host", Value: "comet-devbox"),
(Label: "Platform", Value: "Cross-platform development"),
(Label: "Runtime", Value: "PowerShell 7.4+ / .NET 8+"),
(Label: "Workspace", Value: "comet-notes")
};
string git = "[accent]main[/] [warn]2 modified[/] [pass]1 staged[/] [muted]0 ahead / 0 behind[/]";
// Layout: compose the screen from the data above.
KeyValueList hostSummary = new KeyValueList();
foreach (var item in hostData) hostSummary.Add(item.Label, item.Value);
Rows layout = new Rows(
new Logo("HELLO", "[muted]A little context before your next command.[/]"),
new Panel(hostSummary, "Host summary") { Caption = "local workspace" },
new Panel(new TextBlock(git), "Git | comet-notes"),
new TextBlock("[bold]Tip[/] Get-Help New-ConsoleTable -Examples"),
new TextBlock("[muted]Ready when you are.[/]")) { Gap = 1 };
// Live updates: this static screen prints once and returns immediately.
Terminal.Write(layout);
Three steps in PowerShell, four in C#. Every command copies with one click.
Once. Windows PowerShell 5.1 or PowerShell 7 on Windows, macOS or Linux.
Install-Module ConsoleMonster -Scope CurrentUserDownload it, or copy it from above into welcome-rich.ps1.
From the folder you saved it in.
./welcome-rich.ps1A plain console app; .NET 8 or later.
dotnet new console -n Welcomerich; cd WelcomerichThe only package the program needs.
dotnet add package ConsoleMonsterDownload it, or copy the program from above.
dotnet runOr skip the copying. Every demo ships with the module and the project template.
Show-ConsoleDemo welcome-richGet-ConsoleDemo welcome-rich -Path ./welcome-rich.ps1dotnet new install ConsoleMonster.Templatesdotnet new consolemonster --demo welcome-rich -n WelcomerichStart with these, then read the rest of the file.
Use the PowerShell body in $PROFILE after the param block and replace HELLO with a short banner of your own.
Replace the fixed fictional host summary with cached local values, keeping profile startup fast and offline.
Replace the sample git counts with a cached local repository summary and choose a help tip for your workflow.
Add a small greeting, workspace hint, and useful tip to your shell profile.
Show-ConsoleDemo welcome-compactdotnet new consolemonster --demo welcome-compactFollow 332 checks across twelve targets, six workers, throughput, duration buckets and actionable findings.
Show-ConsoleDemo assessmentdotnet new consolemonster --demo assessmentPlan a fleet check, review the command and follow every category through findings and results.
Show-ConsoleDemo fleetdotnet new consolemonster --demo fleet