Установка
@central-design-system/components — модульная библиотека UI-компонентов дизайн-системы Central Design System.
Быстрый старт
Самый быстрый способ начать — создать новый проект инициализатором:
npm create luma@latestpnpm create luma@latestyarn create luma@latestbun create luma@latestИнтерактивный визард спросит имя проекта и соберёт его под ваши ответы:
- платформа — Vue (Vite) или Nuxt;
- Tailwind CSS с пресетом CDS (включён по умолчанию);
- тема — CDS (по умолчанию), B2B, Promo или заготовка своей;
- Vue Router (для Vite-платформы) и Pinia;
- ESLint + Prettier.
На выходе — готовый проект с уже подключённой CDS: пакет компонентов, createCds, точка входа стилей, а для Vite-платформы ещё и @central-design-system/vite-plugin — авто-импорт компонентов и переопределение SASS-переменных через settings.scss. После генерации визард подскажет следующие шаги: перейти в папку проекта, установить зависимости и запустить dev-сервер.
Каждый вопрос визарда закрывается флагом — удобно для CI и скриптов, а --yes пропускает все вопросы с дефолтами:
npm create luma@latest my-app -- --yes --platform=vue --tailwind --theme=b2bpnpm create luma@latest my-app --yes --platform=vue --tailwind --theme=b2byarn create luma@latest my-app --yes --platform=vue --tailwind --theme=b2bbun create luma@latest my-app --yes --platform=vue --tailwind --theme=b2bУстановка в существующий проект
До стабильного релиза 4.0.0 пакеты CDS публикуются под npm-тегом next — устанавливайте с явным тегом:
npm install @central-design-system/components@nextpnpm add @central-design-system/components@nextyarn add @central-design-system/components@nextbun add @central-design-system/components@nextВ файле, где создаётся Vue-приложение, подключите CDS:
import { createApp } from 'vue';
// CDS
import '@central-design-system/components/styles';
import { createCds, components, directives } from '@central-design-system/components';
// Components
import App from './App.vue';
const cds = createCds({
components,
directives
// ...options
});
createApp(App).use(cds).mount('#app');Такой вызов регистрирует всю библиотеку — это удобно для старта. Для продуктовых приложений регистрируйте только нужные компоненты и подключайте стили точечно — см. Tree-shaking.
После этого компоненты дизайн-системы доступны в шаблонах без импорта:
<template>
<CdsButton>Нажми меня</CdsButton>
</template>Vite-плагин (опционально)
Для проектов на Vite есть @central-design-system/vite-plugin: авто-импорт компонентов из шаблонов (регистрация в createCds({ components }) становится необязательной) и перекомпиляция стилей с вашими SASS-переменными:
npm install -D @central-design-system/vite-plugin@next sass-embeddedpnpm add -D @central-design-system/vite-plugin@next sass-embeddedyarn add -D @central-design-system/vite-plugin@next sass-embeddedbun add -d @central-design-system/vite-plugin@next sass-embedded// vite.config.ts
import vue from '@vitejs/plugin-vue';
import cds from '@central-design-system/vite-plugin';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [vue(), cds({ styles: { configFile: 'src/styles/settings.scss' } })],
css: { preprocessorOptions: { scss: { api: 'modern-compiler' } } }
});Плагин поддерживает только Vite (в Nuxt используйте классическую регистрацию через createCds({ components, directives })).
Что дальше
- Тематизация — подключение тем и своих токенов
- Иконки — наборы иконок и их подключение, галерея
- Tree-shaking — точечная регистрация компонентов
- Tailwind CSS v4 — интеграция с Tailwind
- AI для агентов — Agent Skills, llms.txt и MCP-сервер
- Компоненты — каталог с живыми примерами и API