CLI Theme Diff Report
Generated: Phase 5 - Validation
Comparison: ox-cli source files vs sageox-design/platforms/cli/theme.toml
Status: Report only - no fixes applied
Summary
Category
ox-cli Source
Generated TOML
Status
Brand colors
Go constants
TOML section
Match
Adaptive colors
AdaptiveColor structs
Key-value pairs
Match
ANSI codes
Integer constants
Integer values
Match
Hex constants
String constants
String values
Match
Token Comparison
Brand Colors
Source
ox-cli
theme.toml
Match
Primary (Sage 500)
#7A8F78
#7a8f78
Yes (case-insensitive)
Secondary (Copper 500)
#C47A4A
#c47a4a
Yes (case-insensitive)
Neutral (Charcoal 900)
#111518
#111518
Yes
Adaptive Colors
Name
ox-cli Light
TOML Light
ox-cli Dark
TOML Dark
Match
primary
#4F6A48
#4F6A48
#7A8F78
#7A8F78
Yes
secondary
#B87D3A
#B87D3A
#E0A56A
#E0A56A
Yes
accent
#3D5437
#3D5437
#8FA888
#8FA888
Yes
success
#4F6A48
#4F6A48
#7A8F78
#7A8F78
Yes
warning
#B87D3A
#B87D3A
#E0A56A
#E0A56A
Yes
error
#A03030
#A03030
#E07070
#E07070
Yes
info
#5580A0
#5580A0
#7FA7C8
#7FA7C8
Yes
dim
#6B7580
#6B7580
#8F99A3
#8F99A3
Yes
ANSI Codes
Name
ox-cli
theme.toml
Match
success
82
82
Yes
preserved
39
39
Yes
error
196
196
Yes
warning
214
214
Yes
info
39
39
Yes
hint
241
241
Yes
code
213
213
Yes
Hex Constants
Name
ox-cli
theme.toml
Match
primary
#7A8F78
#7A8F78
Yes
accent
#7FA7C8
#7FA7C8
Yes
pass
#7A8F78
#7A8F78
Yes
warn
#E0A56A
#E0A56A
Yes
fail
#C44747
#C44747
Yes
muted
#6F767C
#6F767C
Yes
text
#E6E8E6
#E6E8E6
Yes
text_dim
#7E8784
#7E8784
Yes
bg_dark
#1A1A1A
#1A1A1A
Yes
bg_code
#2A2A2A
#2A2A2A
Yes
Not Generated (Intentional)
The following ox-cli elements are not in the TOML:
lipgloss Style definitions - Runtime styling, not tokens
Markdown theme colors - Subset of hex constants
Light theme hex variants - Not in current scope
Icon definitions - Unicode characters, not colors
Box border styles - Runtime styling
These are intentionally omitted as they are:
- Derived from base tokens
- Implementation details, not canonical tokens
- Better handled in code than config
Case Sensitivity
ox-cli uses uppercase hex: #7A8F78
TOML can use either
Generated uses exact case from source
Key Naming
ox-cli
TOML
Transformation
HexPrimary
primary
Removed "Hex" prefix
text-dim
text_dim
Hyphen to underscore (TOML compat)
bg-dark
bg_dark
Hyphen to underscore (TOML compat)
Consumption Pattern
ox-cli currently uses Go constants. To consume theme.toml:
// Hypothetical future usage
import "github.com/pelletier/go-toml/v2"
type Theme struct {
Brand BrandColors `toml:"brand"`
CLI CLIColors `toml:"cli"`
}
func LoadTheme ( path string ) ( * Theme , error ) {
// ...
}
Note: This is future work. ox-cli does not currently consume theme.toml.
Mismatch Summary
Type
Count
Missing tokens
0 (within scope)
Value mismatches
0
Case differences
0 (normalized)
Extra tokens
0
Conclusion: Generated theme.toml accurately captures ox-cli color tokens.
Recommendations
For ox-cli Adoption
Add TOML parsing dependency
Create theme loader
Replace hardcoded constants with loaded values
Keep Go constants as defaults/fallbacks
For Design System
Theme.toml becomes source of truth
ox-cli regenerates after token updates
CI validates theme.toml matches token YAML