https://github.com/cdek-it/cdek-ui
Координационный центр всех контрибуций
https://github.com/cdek-it/cdek-ui
Last synced: 4 months ago
JSON representation
Координационный центр всех контрибуций
- Host: GitHub
- URL: https://github.com/cdek-it/cdek-ui
- Owner: cdek-it
- License: mit
- Created: 2025-10-09T05:38:53.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-12-15T14:54:17.000Z (6 months ago)
- Last Synced: 2025-12-18T03:13:18.460Z (6 months ago)
- Homepage:
- Size: 302 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Hub-Satellite
## Концепция
Hub-Satellite - централизованная система управления задачами:
- **Hub** (cdek-ui) - центральный репозиторий для планирования и обсуждения
- **Satellite** ([react-ui-kit](https://github.com/cdek-it/react-ui-kit), [vue-ui-kit](https://github.com/cdek-it/vue-ui-kit), [react-native-ui-kit](https://github.com/cdek-it/react-native-ui-kit), [angular-ui-kit](https://github.com/cdek-it/angular-ui-kit)) - репозитории для реализации
## Создание задачи
- Запрещено: создавать задачи напрямую в satellite-репозиториях
- Разрешено: создавать задачи только в Hub с satellite-лейблом
**Шаг 1: Создание задачи в Hub**
- ⚙️ [Общая задача](https://github.com/cdek-it/cdek-ui/issues/new?template=issue-general.yaml) – предлагайте улучшения основного функционала и системы в целом
- 💡 [Новый функционал](https://github.com/cdek-it/cdek-ui/issues/new?template=issue-creation.yaml) – делитесь идеями о новых компонентах или функциональности
- 🐞 [Отчёт об ошибке](https://github.com/cdek-it/cdek-ui/issues/new?template=issue-bug.yaml) – помогайте исправлять баги в существующих компонентах
- 💬 [Вопросы и идеи](https://github.com/cdek-it/cdek-ui/discussions) – обсуждайте концепции и решения с командой дизайн-системы
**Шаг 2: Маршрутизация в Satellite**
Добавить лейбл `satellite/имя-репозитория`
Система автоматически:
- Создаст задачу в satellite-репозитории
- Добавит ссылку на satellite-задачу в Hub
- Установит лейбл `state/routed`
**Синхронизация лейблов**
- Синхронизируются: status/, priority/, area/, type/
- Не синхронизируются: satellite/, state/routed, state/from-hub
**Комментарии**
- Пропускаются: системные комментарии, сообщения ботов
- Синхронизируются: комментарии пользователей
## Система лейблов
Для организации и категоризации задач используется структурированная система лейблов, которая помогает отслеживать статус, приоритет и область работы.
Показать все лейблы
**Satellite (назначение репозитория)**
```
satellite/angular-ui-kit
satellite/vue-ui-kit
satellite/react-ui-kit
satellite/react-native-ui-kit
```
**Status (статус задачи)**
```
status/needs-triage - Требует review
status/ready-for-dev - Готово к разработке
status/in-progress - В разработке
status/needs-review - Ожидает code review
status/blocked - Заблокировано
```
**Priority (приоритет)**
```
priority/critical
priority/high
priority/medium
priority/low
```
**Area (область)**
```
area/design-system - Core дизайн-система
area/components - UI компоненты
area/accessibility - A11y
area/performance - Производительность
area/tooling - Developer experience
```
**Type (тип задачи)**
```
type/bug - Исправление багов
type/feature - Новая функциональность
type/enhancement - Улучшение существующего
type/refactor - Рефакторинг
type/documentation - Документация
type/testing - Тесты
type/ci-cd - CI/CD
```
**Системные (автоматические)**
```
state/from-hub - Задача из Hub
state/routed - Направлена в satellite
```
## Автоматическая синхронизация
**Hub → Satellite**
- Создание задачи при добавлении `satellite/` лейбла
- Все лейблы (кроме `satellite/` и `status/need-triage`)
- Служебные лейблы (`state/from-hub`)
**Satellite → Hub**
- Статус задачи (открыта/закрыта)
- Лейблы: status/, priority/, area/, type/
- Комментарии пользователей
**Hub → Satellite (двусторонняя)**
- Статус задачи
- Лейблы: status/, priority/, area/, type/
- Комментарии пользователей
## Пример workflow
**1. Создание в Hub**
Пример задачи: [ФУНКЦИОНАЛ] Компонент:DatePicker для выбора дат
```
Title: "[ФУНКЦИОНАЛ] Компонент:DatePicker для выбора дат"
Labels: type/feature, status/needs-triage
Что предлагается добавить:
Компонент DatePicker для выбора одиночных дат и диапазонов с поддержкой локализации,
минимальных/максимальных значений и кастомизации формата отображения.
Ожидаемый результат:
Разработчики смогут единообразно реализовывать функционал выбора дат во всех формах
и интерфейсах приложения, что обеспечит консистентный UX и ускорит разработку.
Причина необходимости:
В текущих проектах часто требуется выбор дат (бронирование, фильтры, формы заказов),
но существующие решения не покрывают все потребности и требуют дублирования кода.
Ссылка на дизайн-файл или документацию:
https://figma.com/file/xyz123/DatePicker-Component
Основной сценарий использования:
- Выбор даты доставки в форме оформления заказа
- Фильтрация данных по диапазону дат в отчетах
- Установка даты рождения в профиле пользователя
- Выбор периода для бронирования услуг
Дополнительные сценарии фичи:
- Быстрый выбор предустановленных периодов (сегодня, неделя, месяц)
- Блокировка недоступных дат (выходные, праздники)
- Интеграция с формами и валидацией
```
**2. Автоматические действия**
- Создается задача в react-ui-kit
- В Hub добавляется ссылка на satellite-задачу
- Устанавливается лейбл state/routed
**3. Работа в Satellite**
- Разработчик работает в react-ui-kit
- Обновляет статусы (status/in-progress, status/needs-review)
- Добавляет комментарии о прогрессе
- Все изменения автоматически синхронизируются с Hub
**4. Завершение**
- При закрытии задачи в Satellite автоматически закрывается задача в Hub
- Вся история работы сохраняется в обоих репозиториях
- Лейблы и комментарии остаются синхронизированными