2.0 KiB
2.0 KiB
name, description
| name | description |
|---|---|
| enforce-rules-for-unocss | Enforce AIRI's UnoCSS, Vue styling, shared UI component, animation, icon, and color-mode practices. Use when creating, editing, refactoring, or reviewing Vue templates, component styles, utility classes, UnoCSS configuration, animations, icons, UI primitives, packages/ui components, or VueUse dark-mode behavior in the AIRI monorepo. |
Enforce AIRI UnoCSS Rules
Apply these rules to every affected UI file in AIRI.
Compose Utility Classes Readably
-
Prefer UnoCSS over Tailwind CSS.
-
In Vue templates, bind grouped class arrays for readability:
:class="[ 'px-2 py-1', 'flex items-center', 'bg-white/50 dark:bg-black/50', ]" -
Do not use long inline class strings such as
class="px-2 py-1 flex items-center bg-white/50 dark:bg-black/50". -
Do not use attributify-style groups such as
px="2" py="1" flex="~ items-center" bg="white/50 dark:black/50". -
When touching legacy utility classes, progressively refactor them into readable grouped arrays.
Reuse Project Styling Infrastructure
- Use or extend shortcuts and rules in
uno.config.tswhen styles should be standardized or reused. - Search
apps/stage-web/src/stylesfor existing animations before adding one. Reuse or extend an existing animation when it fits. - Consult
apps/stage-web/tsconfig.jsonanduno.config.tswhen configuration context is needed. - Keep animations intuitive, lively, and readable.
Build on Shared UI Primitives
- Build primitives on
@proj-airi/ui, which is based on reka-ui, instead of raw DOM controls. - Read
docs/ai/context/ui-components.mdfor the component API andpackages/ui/src/components/Formfor implementation patterns. - When adding or updating a component in
packages/ui, updatedocs/ai/context/ui-components.mdwith its description, props, slots, and emits. - Use Iconify icon sets instead of bespoke SVGs.
Preserve Theme Behavior
- When using VueUse
useDark, setdisableTransition: falseor use an existing composable frompackages/ui.