Skip to main content

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.

Source facts

Repository
moeru-ai/airi
Last source activity
September 27, 2026 at 17:24
Detected SKILL.md language
English
Stars
49,599
Forks
4,937

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
enforce-rules-for-unocss
description
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: ```vue :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"`. - If a component that you change has legacy utility classes, refactor those classes into readable grouped arrays in the same change. ## Reuse Project Styling Infrastructure - Use or extend shortcuts and rules in `uno.config.ts` when styles should be standardized or reused. - Search `apps/stage-web/src/styles` for existing animations before adding one. Reuse or extend an existing animation when it fits. - Consult `apps/stage-web/tsconfig.json` and `uno.config.ts` when 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.md` for the component API and `packages/ui/src/components/Form` for implementation patterns. - When adding or updating a component in `packages/ui`, update `docs/ai/context/ui-components.md` with its description, props, slots, and emits. - Use Iconify icon sets instead of bespoke SVGs. ## Preserve Theme Behavior - When using VueUse `useDark`, set `disableTransition: false` or use an existing composable from `packages/ui`.
View on GitHub