01
Preview and select themes without leaving the terminal.
Run /theme to open the selector. You can also set the theme in tui.json for a repeatable user or project preference.
tui.json
{
"$schema": "https://brokengpt.com/tui.json",
"theme": "system"
}02
Custom themes follow the project when you want them to.
A theme file uses semantic tokens so interface states remain legible. Project and current-directory definitions override a theme with the same name from a broader scope.
- User themes: ~/.config/brokencode/themes/*.json
- Project themes: <project>/.brokencode/themes/*.json
- Current-directory themes: ./.brokencode/themes/*.json
.brokencode/themes/my-theme.json
{
"$schema": "https://brokengpt.com/theme.json",
"defs": { "accent": "#ff5a2f" },
"theme": { "primary": "accent" }
}03
Design for contrast before decoration.
- Check selected, warning, error, diff, and muted text states.
- Test on the terminal backgrounds your team actually uses.
- Keep syntax and status colors distinguishable without relying on color alone.