# Repository Guidelines ## Project Structure & Module Organization - `src/components/common`: Reusable UI components, re‑exported via `src/components/common/index.ts` (components prefixed `Q...`). - `src/components/icons`: Icon components, re‑exported via `src/components/icons/index.ts` (prefixed `QIcon...`). - `src/styles`: SCSS sources; global entry `src/style.scss` builds to `quail-ui.css`. - `src/app`: Demo routes used for local/dev previews. - `public/`: Static assets for the dev server; `dist/`: build output (git‑ignored). - Config: `vite.config.ts`, `tsconfig.json`, `eslintrc.cjs`. ## Build, Test, and Development Commands - `pnpm install` — install dependencies (Node 18+, pnpm 8 recommended). - `pnpm dev` — run Vite dev server with demo app. - `pnpm build` — type‑check (`vue-tsc`) and build the library to `dist/`. - `pnpm build:demo` — build the demo site (used by GitHub Pages). - `pnpm preview` — preview a production build locally. - `./build.sh` — build and print SRI tags for CDN usage (uses latest git tag). ## Coding Style & Naming Conventions - Language: TypeScript + Vue 3 SFCs; prefer `