[terminal-stylist] Terminal Stylist: Console Output Analysis Report #40765
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-06-23T10:39:14.927Z.
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Terminal Stylist — Console Output Analysis
Analyzed 939 Go source files (excluding tests) in
pkg/for console output patterns, Lipgloss, and Huh usage.Key Metrics
console.Format*console.Render*/Show*stylespackagelipglossdirectlyhuhpackage✅ What's Working Well
Lipgloss: All color constants in
styles/theme.gousecompat.AdaptiveColor{Light, Dark}— no hardcoded hex values leak outside the package. TTY detection is consistently applied:console.gousesapplyStyle(),compile_schedule_calendar.gopassesisTerminalto itsintensityStyle()helper, andgateway_logs_timeline_render.gouses astreamColor()closure. Only 6 files import lipgloss directly (all in infrastructure layers).Huh: All 20 form instances consistently use
WithTheme(styles.HuhTheme).WithAccessible(console.IsAccessibleMode()). Non-TTY fallbacks exist inconfirm.goandlist.go.IsAccessibleMode()checksACCESSIBLE,TERM=dumb, andNO_COLOR.Console package: Rich formatter set (Success ✓, Error ✗, Warning ⚠, Info i, Command ⚡, Progress 🔨, Prompt ❓, Verbose 🔍), plus
RenderTable,RenderStruct,RenderTree,RenderTitleBox,LogVerbose, Bubble Tea spinner, and WASM fallbacks.1. Raw separator in `actionlint.go` bypasses console infrastructure
pkg/cli/actionlint.golines 118–123, 168 — hardcodedstrings.Repeat("━", 60)output unconditionally to stderr.console.RenderTitleBox()already handles this with proper TTY branching:Bullet-list of
ErrorsByKindon line 146 also emits" • %s: %d\n"directly;console.FormatListItem()covers this.2. Verbose debug output bypasses `console.LogVerbose`
pkg/cli/add_interactive_workflow.golines 50, 56, 60, 64, 181–209 use rawif c.Verbose { fmt.Fprintf(os.Stderr, ...) }. The project already hasconsole.LogVerbose(verbose, msg)(used intoken_usage.go,run_workflow_tracking.go):3. Inconsistent severity icons in `observability_insights.go`
pkg/cli/observability_insights.golines 340–351 —"high"gets 🔴 but"medium"falls back to"[medium]"plain text. Should use semantic console formatters:4. Unstyled plain text mixed with styled output in `add_interactive_orchestrator.go`
Lines 247, 334 — direct
fmt.Fprintffor list items and completion messages:5. WASM/non-WASM console asymmetry (minor)
Three functions in
console_wasm.gohave no styled counterpart inconsole.go:FormatLocationMessage(📁),FormatCountMessage(📊),FormatListHeader. Not called externally today, but if shared code ever calls them they'll fail to compile for non-WASM targets. Should add styled implementations or remove from the WASM stub.Summary Priority
console.LogVerboseadd_interactive_workflow.goconsole.RenderTitleBoxactionlint.goobservability_insights.goadd_interactive_orchestrator.goconsole.go/console_wasm.goReferences: §27946278659
Beta Was this translation helpful? Give feedback.
All reactions