Hub-Satellite - централизованная система управления задачами:
- Hub (cdek-ui) - центральный репозиторий для планирования и обсуждения
- Satellite (react-ui-kit, vue-ui-kit, react-native-ui-kit, angular-ui-kit) - репозитории для реализации
- Запрещено: создавать задачи напрямую в satellite-репозиториях
- Разрешено: создавать задачи только в Hub с satellite-лейблом
Шаг 1: Создание задачи в Hub
- ⚙️ Общая задача – предлагайте улучшения основного функционала и системы в целом
- 💡 Новый функционал – делитесь идеями о новых компонентах или функциональности
- 🐞 Отчёт об ошибке – помогайте исправлять баги в существующих компонентах
- 💬 Вопросы и идеи – обсуждайте концепции и решения с командой дизайн-системы
Шаг 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/
- Комментарии пользователей
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
- Вся история работы сохраняется в обоих репозиториях
- Лейблы и комментарии остаются синхронизированными