Об этом проекте
coss.com/ui (ранее Origin UI) описывается как официальная дизайн-система Cal.com. Репозиторий представляет собой монорепозиторий, содержащий несколько продуктов и приложений, написанных на TypeScript и управляемых с помощью Turborepo.
Структура репозитория
В монорепозитории представлены следующие приложения и пакеты:
- apps/www/ — основной веб-сайт coss.com
- apps/ui/ — библиотека компонентов coss ui и документация
- apps/origin/ — устаревшие компоненты Origin UI, сохраненные как снимок до поглощения
- packages/ui/ — пакет общих UI-компонентов
- packages/typescript-config/ — конфигурации TypeScript
- biome.json — общая конфигурация Biome для линтинга и форматирования
Переменные окружения
Поскольку несколько приложений Next.js ссылаются друг на друга, каждому приложению требуется собственный файл .env.local для корректной локальной навигации. В README описаны переменные для приложения www (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_COSS_UI_URL), приложения ui (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_COSS_URL, NEXT_PUBLIC_ORIGIN_URL) и приложения origin (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_COSS_URL, NEXT_PUBLIC_COSS_UI_URL) с примерами портов localhost 3000, 4000 и 4001. Turborepo отслеживает файлы .env*, поэтому кэш сбрасывается при изменении этих переменных.
Рабочий процесс разработки
Инструментарий включает TypeScript для статической проверки типов и Biome для линтинга и форматирования. Команды запускаются с помощью bun: `bun run build` и `bun run dev` собирают или запускают всё, в то время как `--filter=www`, `--filter=ui` или `--filter=origin` нацелены на конкретное приложение.
Что предоставляет coss ui
coss ui представлен как коллекция доступных, компонуемых React-компонентов, построенных на базе Base UI и стилизованных с помощью Tailwind CSS, чтобы разработчики могли копировать, вставлять и владеть кодом. В README указано, что нестилизованным примитивам Base UI придана готовая дизайн-система, и что именно эту библиотеку компонентов Cal.com планирует постепенно внедрять. Разработка продолжается в открытом режиме.
Поглощение Origin UI
Репозиторий включает компоненты Origin UI в виде устаревшего снимка: коллекцию на базе Radix в стиле shadcn, которая остается пригодной для использования, но имеет ограниченную поддержку и обслуживание. Сообщается, что активная работа сосредоточена на новых компонентах Particles, построенных на примитивах coss ui. Вклад приветствуется в соответствии с рекомендациями в apps/ui/CONTRIBUTING.md, которые охватывают отчеты об ошибках, новые функции и документацию.
Лицензирование
Лицензирование смешанное. По умолчанию для проекта используется AGPLv3.0, в то время как apps/origin/ и apps/ui/ остаются под своей первоначальной лицензией MIT; все остальные директории подпадают под AGPLv3. Подробности содержатся в LICENSING.md.
Благодарности
В README выражается благодарность Tailwind CSS за utility-first CSS фреймворк, Base UI за доступные примитивы, лежащие в основе компонентов, shadcn/ui за вдохновение философией копирования-вставки компонентов и Fumadocs за фреймворк документации, используемый для описания компонентов.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.