feat(ui): import comprehensive UX system from beads

Import beads' UX design system into gastown:

- Add internal/ui/ package with Ayu theme colors and semantic styling
  - styles.go: AdaptiveColor definitions for light/dark mode
  - terminal.go: TTY detection, NO_COLOR/CLICOLOR support
  - markdown.go: Glamour rendering with agent mode bypass
  - pager.go: Smart paging with GT_PAGER support

- Add colorized help output (internal/cmd/help.go)
  - Group headers in accent color
  - Command names styled for scannability
  - Flag types and defaults muted

- Add gt thanks command (internal/cmd/thanks.go)
  - Contributor display with same logic as bd thanks
  - Styled with Ayu theme colors

- Update gt doctor to match bd doctor UX
  - Category grouping (Core, Infrastructure, Rig, Patrol, etc.)
  - Semantic icons (✓ ⚠ ✖) with Ayu colors
  - Tree connectors for detail lines
  - Summary line with pass/warn/fail counts
  - Warnings section at end with numbered issues

- Migrate existing styles to use ui package
  - internal/style/style.go uses ui.ColorPass etc.
  - internal/tui/feed/styles.go uses ui package colors

Co-Authored-By: SageOx <ox@sageox.ai>
This commit is contained in:
Ryan Snodgrass
2026-01-09 22:43:48 -08:00
parent 0f633be4b1
commit e1f2bb8b4b
45 changed files with 1400 additions and 75 deletions

View File

@@ -4,17 +4,18 @@ package feed
import (
"github.com/charmbracelet/lipgloss"
"github.com/steveyegge/gastown/internal/constants"
"github.com/steveyegge/gastown/internal/ui"
)
// Color palette
// Color palette using Ayu theme colors from ui package
var (
colorPrimary = lipgloss.Color("12") // Blue
colorSuccess = lipgloss.Color("10") // Green
colorWarning = lipgloss.Color("11") // Yellow
colorError = lipgloss.Color("9") // Red
colorDim = lipgloss.Color("8") // Gray
colorHighlight = lipgloss.Color("14") // Cyan
colorAccent = lipgloss.Color("13") // Magenta
colorPrimary = ui.ColorAccent // Blue
colorSuccess = ui.ColorPass // Green
colorWarning = ui.ColorWarn // Yellow
colorError = ui.ColorFail // Red
colorDim = ui.ColorMuted // Gray
colorHighlight = lipgloss.AdaptiveColor{Light: "#59c2ff", Dark: "#59c2ff"} // Cyan (Ayu)
colorAccent = lipgloss.AdaptiveColor{Light: "#d2a6ff", Dark: "#d2a6ff"} // Purple (Ayu)
)
// Styles for the feed TUI