Перейти к содержимому

styles.yml

Конфигурация UI-стилей: ASCII header, семантическая цветовая палитра и разделитель.

workspace/styles.yml управляет визуальным видом CLI dwe: брендированным header’ом, показываемым на старте, семью семантическими цветовыми токенами, используемыми во всех UI-surface’ах (таблицы, status-секции, браузер команд, help-вывод Fang), и символом-разделителем, используемым в definition-списках.

CLI загружает его и применяет вашу палитру при старте. При полном отсутствии файла используются встроенные дефолты с тем же результатом.

header:
lines:
- "Welcome to"
- "DWE Laravel"
font: doom
tagline: "Local dev, container-orchestrated."
colors:
accent: "#2EC3EB"
success: "#22C55E"
warning: "#F59E0B"
danger: "#EF4444"
muted: "#9AA3BB"
border: "#334155"
text: ""
separator: "·"

Управляет брендированным header’ом, отображаемым dwe (без аргументов) и dwe info. Brand-идентичная строка ({▪} DWE · <project> · <version>) всегда рендерится; опциональный tagline и ASCII-арт накладываются поверх, если заданы.

ПолеТипДефолтОписание
header.lineslist of strings(нет)Текстовые строки, рендерящиеся как ASCII-арт под brand-строкой
header.fontstringstandardИмя FIGlet-шрифта (doom, banner, big, block, slant, …)
header.taglinestring(нет)Одна строка-tagline, рендерящаяся в muted-цвете ниже brand-строки

ASCII-блок раскрашен токеном accent. Отдельного header.color нет — цвет всегда берётся из семантической палитры.

Семь семантических цветовых токенов. Значения — сырые hex-строки (например, "#2EC3EB"). Пустые / отсутствующие записи откатываются на встроенный light- или dark-дефолт для данного токена (см. Разрешение light / dark).

ТокенИспользуется для
accentБрендированные surface’ы — brand-строка, ASCII-header, заголовки секций, focused-бордюры, заголовки таблиц, совпадения фильтра, активная пагинация, внутренний квадрат лого {▪}
successСостояния OK / running / enabled; success-уведомления; индикатор [--yes ON]
warningWarning-диагностики; partial / degraded состояния
dangerError-диагностики; failed-уведомления
mutedВторичный текст — счётчики, разделители, dimmed строки списков, tree-глифы, неактивная пагинация, описания команд/флагов; а также иконка остановленного стека в dwe prompt
borderДефолтные (unfocused) бордюры панелей и таблиц
textДефолтный body-текст. Пустое значение означает «пусть терминал сам выбирает foreground-цвет» — рекомендуется почти во всех случаях

Эти же семь токенов управляют рендером --help у Fang: title / command / flag / program используют accent, description / argument используют muted.

separator: "·"

Символ, используемый между label и value в definition-элементах (например, Project · laravel).

Если workspace/styles.yml не существует, CLI откатывается на встроенные дефолты. Он работает идентично — ошибка не выдаётся.

У каждого токена есть встроенный light- и dark-hex-дефолт. На старте CLI один раз определяет, тёмный ли фон у терминала, и разрешает каждый токен в единственную hex-строку на весь остаток процесса. Одна и та же разрешённая палитра используется на всех поверхностях, которые рендерит CLI: таблицах, status-секциях, браузере команд и --help-выводе Fang.

ТокенLight-дефолтDark-дефолт
accent#0EA5E9#2EC3EB
success#16A34A#22C55E
warning#D97706#F59E0B
danger#DC2626#EF4444
muted#64748B#9AA3BB
border#CBD5E1#334155
text(пусто — дефолт терминала)(пусто — дефолт терминала)

Непустое значение, заданное пользователем, переопределяет оба режима — переопределения не зависят от режима. Отредактировать workspace/styles.yml и перезапустить команду dwe — поддерживаемый способ ретеминга во время сессии.

Переопределите любое подмножество токенов; не заданные токены сохраняют свои light/dark-дефолты.

colors:
accent: "#A78BFA" # фиолетовый бренд
success: "#10B981" # зелёный с уклоном в teal
muted: "#94A3B8"

Для монохромного вида установите accent и success в одно семейство оттенков и пусть muted/border обеспечивают контраст.

  • Использование кодов ANSI 256 вместо hex — схема ожидает hex-строки ("#2EC3EB"). Голые числовые коды невалидны.
  • Забыли кавычки на hex-значениях — YAML обычно терпит #2EC3EB без кавычек (после ключа это не комментарий), но кавычки — более безопасная привычка.
  • Переопределения по режиму — нет sub-ключа light: / dark:. Пользовательское переопределение применяется в обоих режимах; выбирайте hex, который хорошо читается на обоих фонах, или полагайтесь на встроенные дефолты.
  • Старые ключи молча игнорируются в рантайме — загрузчик мягкий. Используйте dwe validate, чтобы поймать устаревшие ключи до того, как они станут невидимыми no-op’ами.
  • dwe (без аргументов) — показывает brand-header + компактную сводку
  • dwe info — показывает полный info-дашборд со стилизованным выводом
  • dwe validate — выводит предупреждения о переименовании для устаревших ключей палитры