A design system built from the opposite assumption. What if the terminal is the most honest interface? Monospace type. ANSI colors. Box-drawing borders. Zero rounded corners.

Every design system ships with the same premise: make it clean, make it accessible, make it feel like a SaaS product from 2024. Rounded corners, system fonts, 4px border-radius, blue primary buttons. The result is not bad design. It is no design — a thousand applications wearing the same face.

Doomslayer-UI starts from the opposite assumption. The terminal is the most honest interface ever built. Monospace type aligns perfectly. Borders are characters. Color is functional, not decorative. Nothing is rounded because nothing needs to pretend it is friendly.

Seven terminal color themes, switchable at runtime: default (WeeChat dark), solarized, nord, dracula, monokai, ayu-dark, and ayu-light. Seventeen components covering layout, controls, and data display. One singleton — DSTheme — that holds all colors, typography tokens, spacing values, and metrics.

The components are QML. DSButton renders with [brackets] in primary, danger, and disabled states. DSSectionTitle uses box-drawing characters — ├─ Title ─. DSProgressBar fills with block characters — ████░░░░. DSTable alternates row backgrounds and highlights on hover. DSConsole renders terminal log output.

The API surface is the singleton. DSTheme.bg, DSTheme.fg, DSTheme.red through DSTheme.cyan. Semantic aliases — DSTheme.error, DSTheme.success, DSTheme.primary. Typography defaults to Menlo at five sizes from 10 to 14. Spacing tokens from 2 to 16 pixels. Row height 20, button height 22, input height 22.

Switch themes with one call: DSTheme.setTheme("dracula"). Every component reacts. No rebuild, no restart.

Doomslayer-UI is built for Logos Basecamp — the Logos network’s desktop application — but works as a standalone CMake dependency for any Qt/QML project. Import the module, use the components, reference the singleton for all visual decisions. The design system makes visual consistency automatic instead of aspirational.

Stack: QML · Qt 6 · CMake Status: Complete. 7 themes, 17 components. Live documentation site with interactive component explorer. GitHub · Live Docs