Add TUI for managing sandbox profile, relicense to GPLv3
- Add Go/Bubble Tea TUI app under tui/ with dashboard (status checks, launch, validate) and profile editor (commands, filesystem, network, environment sub-tabs) - Add Makefile targets: tui, tui-build, tui-install - Add CI step to build TUI - Relicense MIT -> GPL-3.0 - Rewrite wrapper to resolve real opencode binary from PATH (supports brew, npm, volta) - Add PATH ordering detection to install script - Expand README with how-it-works diagram, TUI docs, keybinding table
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package main
|
||||
|
||||
import "github.com/charmbracelet/lipgloss"
|
||||
|
||||
var (
|
||||
green = lipgloss.Color("#04B575")
|
||||
red = lipgloss.Color("#FF4646")
|
||||
yellow = lipgloss.Color("#FFA500")
|
||||
blue = lipgloss.Color("#7D56F4")
|
||||
gray = lipgloss.Color("#666666")
|
||||
|
||||
titleStyle = lipgloss.NewStyle().
|
||||
Bold(true).
|
||||
Foreground(lipgloss.Color("#FAFAFA")).
|
||||
Background(blue).
|
||||
Padding(0, 2)
|
||||
|
||||
tabStyle = lipgloss.NewStyle().
|
||||
Foreground(gray).
|
||||
Padding(0, 2)
|
||||
|
||||
activeTabStyle = lipgloss.NewStyle().
|
||||
Bold(true).
|
||||
Foreground(lipgloss.Color("#FAFAFA")).
|
||||
Background(blue).
|
||||
Padding(0, 2)
|
||||
|
||||
checkOKStyle = lipgloss.NewStyle().
|
||||
Foreground(green).
|
||||
Bold(true)
|
||||
|
||||
checkFailStyle = lipgloss.NewStyle().
|
||||
Foreground(red).
|
||||
Bold(true)
|
||||
|
||||
labelStyle = lipgloss.NewStyle().
|
||||
Width(26).
|
||||
Foreground(lipgloss.Color("#AAAAAA"))
|
||||
|
||||
detailStyle = lipgloss.NewStyle().
|
||||
Foreground(gray)
|
||||
|
||||
boxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(gray).
|
||||
Padding(0, 1)
|
||||
|
||||
activeBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(blue).
|
||||
Padding(0, 1)
|
||||
|
||||
cursorStyle = lipgloss.NewStyle().
|
||||
Foreground(yellow).
|
||||
Bold(true)
|
||||
|
||||
dirtyStyle = lipgloss.NewStyle().
|
||||
Foreground(yellow).
|
||||
Bold(true)
|
||||
|
||||
helpStyle = lipgloss.NewStyle().
|
||||
Foreground(gray).
|
||||
Italic(true)
|
||||
|
||||
statusBarStyle = lipgloss.NewStyle().
|
||||
Background(lipgloss.Color("#333333")).
|
||||
Foreground(lipgloss.Color("#FFFFFF")).
|
||||
Padding(0, 1)
|
||||
|
||||
errorStyle = lipgloss.NewStyle().
|
||||
Foreground(red).
|
||||
Bold(true)
|
||||
|
||||
successStyle = lipgloss.NewStyle().
|
||||
Foreground(green).
|
||||
Bold(true)
|
||||
)
|
||||
Reference in New Issue
Block a user