name: ui-foundations description: Use when defining or reviewing massCode UI foundation rules such as typography, renderer styling consistency, TailwindCSS v4 usage, and when raw markup starts competing with established UI text patterns.
UI Foundations
Overview
UI в massCode должен оставаться визуально консистентным. Этот skill отвечает за базовые styling decisions: как относиться к typography, когда использовать established text patterns и как не скатываться в разрозненный renderer styling.
Core Rules
- Базовая styling system в renderer строится на TailwindCSS v4.
- Новые UI-экраны и состояния должны продолжать существующий visual language, а не вводить локальные правила “для одного места”.
- Для стандартного app UI предпочитай семантические токены вроде
bg-background,text-muted-foreground,border-border,border-destructive/*вместо raw palette-классов вродеbg-white,text-black,text-green-500,bg-slate-900. - Typography по умолчанию строится через
UiText. - Не заменяй
UiTextна произвольный наборtext-*,font-*,text-muted-foreground, если подходящий variant уже существует. - Если
UiTextпочти подходит, лучше добавить точечные классы поверх него, чем уходить в raw typography markup.
Typography
UiText— базовый источник правды для текстовых размеров и muted-state.captionиxs— подписи, helper text, secondary labels.smиbase— основной интерфейсный текст.lgиxl— усиленные title/value cases, когда это действительно нужно по hierarchy.font-mono— только для code-like content, IDs, counts with alignment needs, readonly generated output и подобных случаев.- Для uppercase labels используй существующий pattern через
UiTextили согласованный tracking/uppercase стиль, а не случайную смесь utility classes в каждом месте.
Spacing And Layout Rhythm
- Корневые screen/container wrappers обычно живут в ритме
space-y-4илиspace-y-6. - Внутри компактных секций чаще всего
space-y-2илиspace-y-3. - Grid gaps по умолчанию:
gap-2,gap-3,gap-4в зависимости от плотности. - Не придумывай локальный spacing-scale для одного экрана, если существующие интервалы уже покрывают задачу.
- Повторяющиеся content blocks должны иметь одинаковый padding и vertical rhythm.
Radius And Shadows
rounded-md— controls, inline boxes, compact containers.rounded-lg— card-like blocks, dialogs, overlays, dashboard sections.rounded-xl— preview-heavy surfaces и крупные visual blocks.rounded-full— pills, badges, circular handles.shadow-xs— inputs, buttons, small controls.shadow-mdиshadow-lg— overlays, popovers, previews, где elevation реально нужна.- Не вводи произвольные
rounded-[...]иshadow-[...], если стандартные токены уже подходят.
Exceptions
- Raw colors допустимы, если цвет является частью самих данных или preview: color pickers, contrast previews, code/image export backgrounds, diagram or visualizer nodes.
- Если цвет вычисляется из контента или нужен для корректного контраста на пользовательском фоне, raw class или inline style допустимы.
- Исключения не должны становиться поводом тащить raw palette в обычный application chrome.
When To Prefer This Skill
- Нужно понять, как оформлять текст и подписи в новом UI.
- Есть соблазн писать raw Tailwind typography вместо существующего text pattern.
- В экране начинают появляться локальные styling rules, которые расходятся с остальным renderer UI.
- Нужно принять решение на уровне визуальной базы, а не конкретного button/input/dialog.
Common Mistakes
- Размазывать локальные визуальные исключения по фичам.
- Тащить raw palette в обычный app UI без реальной причины.
- Писать текст напрямую через произвольные utility classes там, где подходит
UiText. - Делать новый экран со своим spacing rhythm вместо существующего scale.
- Случайно смешивать small-control radii и preview-surface radii в одном и том же UI слое.
- Считать Tailwind поводом делать каждый экран визуально “с нуля”.