
- Добавлены колонки Объём и Грузовые места между Цена товаров и Статус - Реализованы инпуты для ввода volume и packagesCount в статусе PENDING для роли WHOLESALE - Добавлена мутация UPDATE_SUPPLY_PARAMETERS с проверками безопасности - Скрыта строка Поставщик для роли WHOLESALE (поставщик знает свои данные) - Исправлено выравнивание таблицы при скрытии уровня поставщика - Реорганизованы документы: legacy-rules/, docs/, docs-and-reports/ ВНИМАНИЕ: Компонент multilevel-supplies-table.tsx (1697 строк) нарушает правило модульной архитектуры (>800 строк требует рефакторинга) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
16 KiB
СИСТЕМНЫЕ ПРАВИЛА ДЛЯ CLAUDE CODE
📚 СТРУКТУРА ПРАВИЛ СИСТЕМЫ
🏗️ НОВАЯ АРХИТЕКТУРА ПРАВИЛ (АКТИВНАЯ):
docs/
- новая модульная архитектура правил, соответствующая структуре кодаMODULAR_ARCHITECTURE_PATTERN.md
- ОБЯЗАТЕЛЬНАЯ архитектура для новых компонентов >500 строк
📁 LEGACY ПРАВИЛА (АРХИВ):
legacy-rules/rules-complete1.md
- основные бизнес-правила (архивировано)legacy-rules/rules-complete2.md
- система партнерства (архивировано)legacy-rules/workflow-catalog.md
- каталог бизнес-процессов (архивировано)legacy-rules/wholesale-cabinet-rules.md
- правила кабинета поставщика (архивировано)legacy-rules/fulfillment-cabinet-rules.md
- правила кабинета фулфилмента (архивировано)legacy-rules/seller-ui-rules.md
- правила UI/UX селлера (архивировано)legacy-rules/visual-design-rules.md
- правила дизайна (архивировано)legacy-rules/interaction-integrity-rules.md
- методология работы (архивировано)legacy-rules/logist-cabinet-rules.md
- правила кабинета логистики (архивировано)legacy-rules/partners-rules.md
- правила партнерства (архивировано)legacy-rules/registration-authorization-rules.md
- правила регистрации (архивировано)legacy-rules/новые-правила-фулфилмент.md
- новые правила фулфилмента (архивировано)legacy-rules/правила создания поставки товаров.md
- правила поставок (архивировано)legacy-rules/backups/
- бэкапы и вспомогательные файлы (архивировано)
Автоматическая активация правил:
- Упоминание "поставщик", "wholesale", "/warehouse", "/supplier-orders" → legacy-rules/wholesale-cabinet-rules.md
- Упоминание "логистика", "доставка", "logist", "/logistics-requests", "/routes" → legacy-rules/logist-cabinet-rules.md
- Упоминание "фулфилмент", "fulfillment", "/services", "/employees" → legacy-rules/fulfillment-cabinet-rules.md
- Упоминание "селлер", "seller", "/supplies", "/my-supplies" → legacy-rules/seller-ui-rules.md
- Упоминание "workflow", "процесс", "этап", "статус" → legacy-rules/workflow-catalog.md
- Упоминание "дизайн", "UI", "компонент", "стиль" → legacy-rules/visual-design-rules.md
- Упоминание "компонент", "создание", "dashboard", ">500 строк", "архитектура" → MODULAR_ARCHITECTURE_PATTERN.md
🛑 ЗАПРЕТ ПРЕДПОЛОЖЕНИЙ
КРИТИЧЕСКИ ВАЖНО: При любой неоднозначности в запросе - ОСТАНОВИТЬСЯ немедленно и уточнить.
ОБЯЗАТЕЛЬНЫЙ АЛГОРИТМ ПРИ НЕОДНОЗНАЧНОСТИ:
- СТОП-СИГНАЛ: Если можно понять запрос двумя или более способами
- НЕМЕДЛЕННАЯ ОСТАНОВКА: Прекратить любые действия
- ОБЯЗАТЕЛЬНЫЙ ВОПРОС: "Не уверен. Уточните, пожалуйста:"
- ПЕРЕЧИСЛИТЬ ВАРИАНТЫ: Показать все возможные понимания
- ДОЖДАТЬСЯ ОТВЕТА: Не предпринимать действий до получения четкого указания
ПРИМЕРЫ СТОП-СИГНАЛОВ:
- Упоминание "таблица поставщика" - КАКАЯ именно таблица? В каком файле?
- "Удали колонку" - ИЗ КАКОЙ таблицы? Какой компонент?
- "Исправь ошибку" - КАКУЮ ошибку? В каком файле?
- "Добавь функцию" - В КАКОЙ файл? Какая именно функция?
ЗАПРЕЩЕННЫЕ ФРАЗЫ:
❌ "Возможно, вы имеете в виду..."
❌ "Скорее всего, нужно..."
❌ "Попробую в этом файле..."
❌ "Наверное, это..."
ОБЯЗАТЕЛЬНЫЕ ФРАЗЫ:
✅ "Не уверен. Уточните, пожалуйста:" ✅ "Какой именно файл/компонент?" ✅ "Вы имеете в виду X или Y?" ✅ "Правильно ли я понимаю, что..."
НАКАЗАНИЕ ЗА НАРУШЕНИЕ:
- Откат ВСЕХ изменений через комментарии
- Полная остановка работы до получения уточнений
- Начало заново с правильных вопросов
🚨 ПЕРЕХОД К НОВОЙ АРХИТЕКТУРЕ ПРАВИЛ
ВАЖНО: Система правил реорганизована для соответствия архитектуре кода:
- СТАРЫЕ ПРАВИЛА перемещены в
legacy-rules/
для сохранения истории - НОВАЯ СТРУКТУРА в папке
docs/
соответствует слоям архитектуры кода - Постепенный переход от legacy к новой модульной структуре
❌ НЕ СУЩЕСТВУЕТ:
- development-checklist.md (удален)
- rules.md (удален)
- rules1.md (удален)
- rules2.md (удален)
- CLAUDE.md устаревших версий
🎯 WORKFLOW РАЗРАБОТКИ
⚠️ СТОП-СИГНАЛЫ (когда ОБЯЗАТЕЛЬНО спрашивать):
- Запрос содержит слова: "удали", "убери", "забудь", "не делай", "откати" (уточнить на сколько действий)
- Можно понять задачу несколькими способами
- Изменения затрагивают критические части системы
- Есть сомнения в интерпретации требований
Обязательный порядок действий:
- При необходимости прочитать
legacy-rules/rules-complete1.md
- для справки по бизнес-правилам - Читать
legacy-rules/rules-complete2.md
- при работе с партнерством/контрагентами - Следовать правилам взаимодействия - см. legacy-rules/interaction-integrity-rules.md
- Проверить специфичные правила кабинета - если работа с конкретным типом организации
- Проверить архитектурные требования - для компонентов >500 строк читать MODULAR_ARCHITECTURE_PATTERN.md
- Использовать TodoWrite - для отслеживания текущих задач (НЕ для планирования будущих сессий)
- Следовать техническим правилам - GraphQL, TypeScript, система партнерства
- Проверять реализацию - соответствие правилам и архитектуре
📋 КЛЮЧЕВЫЕ ПРИНЦИПЫ
⚠️ ВАЖНО: Все детальные правила взаимодействия и поведенческие принципы перенесены в interaction-integrity-rules.md
Основные принципы разработки:
- 🚨 НЕ ПРЕДПОЛАГАТЬ - ВСЕГДА СПРАШИВАТЬ
- При любой неоднозначности в запросе - ОСТАНОВИТЬСЯ и уточнить
- Если можно понять запрос двумя способами - СПРОСИТЬ
- Примеры вопросов: "Вы имеете в виду X или Y?", "Уточните, пожалуйста..."
- ЛУЧШЕ ЛИШНИЙ РАЗ СПРОСИТЬ, ЧЕМ СДЕЛАТЬ НЕ ТО
- ПРОВЕРЯТЬ СХЕМЫ - GraphQL и Prisma должны соответствовать коду
- СЛЕДОВАТЬ WORKFLOW - не нарушать последовательность статусов
- ДОКУМЕНТИРОВАТЬ - обновлять legacy-rules/rules-complete1.md/rules-complete2.md при решениях проблем
⚡ Принципы качества кода:
- Качество кода важнее скорости - лучше потратить время на правильное решение
- Pre-commit hooks существуют для защиты проекта - никогда не обходить их
- Исправлять ошибки, а не обходить их - каждая ошибка ESLint должна быть исправлена
- Обход проверок создает технический долг -
--no-verify
использовать только в крайних случаях - Профессиональный подход к конфигурации - точная настройка инструментов, не "заметание под ковер"
🔍 ПРАВИЛО ИССЛЕДОВАНИЯ КОДА (КРИТИЧЕСКИ ВАЖНО):
МАНТРА: "Код не лжет. Читай код, а не догадывайся."
ОБЯЗАТЕЛЬНЫЙ АЛГОРИТМ:
- ИССЛЕДОВАНИЕ ПЕРЕД ДЕЙСТВИЕМ - ВСЕГДА читать существующий код
- НЕ ПРЕДПОЛАГАТЬ - только факты из кода, никаких догадок
- ИСПОЛЬЗОВАТЬ ИНСТРУМЕНТЫ:
Read
,Grep
,Glob
для изучения кода - ПОСЛЕДОВАТЕЛЬНОСТЬ: Найти → Прочитать → Понять → Решить → Проверить
СТОП-СИГНАЛЫ:
- ❌ Если предлагаю решение без чтения кода - ОСТАНОВИТЬСЯ!
- ❌ Фразы типа "попробуй это", "возможно", "наверное" - ЗАПРЕЩЕНЫ!
- ✅ Каждое предложение должно начинаться: "Я нашел в коде..."
ЗАПРЕЩЕНО:
- Придумывать варианты без изучения кода
- Предполагать структуру CSS/JS без чтения файлов
- Советовать изменения без обоснования из реального кода
📏 ПРАВИЛО РАСЧЕТА РАЗМЕРОВ И ОТСТУПОВ:
ФОРМУЛА РАСЧЕТА КОНТЕЙНЕРОВ:
Высота контейнера = Высота контента + отступ сверху + отступ снизу
ОБЯЗАТЕЛЬНЫЙ ПРОЦЕСС:
- ВСЕГДА рассчитывать точную высоту вместо произвольных значений
- Учитывать ВСЕ отступы (padding, margin) в общей формуле
- Проверять визуальный результат vs теоретический расчет
- НЕ полагаться только на анализ кода - важно видеть реальный результат
ПРИМЕР ИЗ ПРАКТИКИ:
- Карточка 164px + отступы по 16px = контейнер 196px
- НЕ ставить высоту "на глазок" или произвольно
ЗАПРЕЩЕНО В РАЗМЕРАХ:
- Устанавливать размеры без математического обоснования
- Игнорировать отступы в расчетах
- Предполагать результат без проверки
📋 Подробные правила: см. разделы 1.2-1.3 в interaction-integrity-rules.md
Правила взаимодействия (кратко):
- Двухэтапный процесс: Планирование → Одобрение → Выполнение
- Неизменность планов: согласованные планы нельзя менять без разрешения
- Честность и прозрачность: открыто сообщать о неопределенностях
- Протоколы по сложности: для каждого типа задач свой подход
🔧 КОМАНДЫ ПРОВЕРКИ КОДА
Обязательные команды после изменений:
# TypeScript проверка типов
npm run typecheck
# Проверка линтером
npm run lint
# Запуск тестов
npm test
# Dev сервер для проверки работы
npm run dev
⚠️ ВАЖНО: Всегда выполнять эти команды перед завершением задачи!
🔄 КОМАНДЫ ОТКАТА
Откат через комментарии:
Основная команда:
"откати [описание] через комментарии"
Примеры:
"откати центрирование поиска через комментарии"
"откати изменения кнопки через комментарии"
"откати новую логику через комментарии"
Дополнительные команды:
"очисти комментарии"
- удалить закомментированные варианты"переключи на вариант 2"
- активировать закомментированный код"покажи варианты"
- показать доступные варианты
📖 Подробнее: см. раздел 6.4 в
legacy-rules/interaction-integrity-rules.md
💾 РАБОТА С КОНТЕКСТОМ
Файлы для сохранения контекста:
current-session.md
- текущая сессия работы (активные задачи, решения, контекст)CLAUDE.md
- системные правила и команды (этот файл)- TodoWrite инструмент - для отслеживания текущих задач в рамках сессии
При потере контекста:
- Первым делом прочитать:
current-session.md
- Проверить статус задач: через TodoWrite
- Восстановить контекст: из истории изменений в current-session.md
Рекомендации для длинных сессий:
- Обновлять
current-session.md
после каждой важной задачи - Фиксировать принятые решения и обоснования
- Документировать обнаруженные проблемы и их решения
- Использовать
--resume
флаг для продолжения сессий
🚨 НАПОМИНАНИЕ
Этот файл служит для корректной работы system-reminder'ов. Все детальные правила находятся в legacy-rules/rules-complete1.md
и legacy-rules/rules-complete2.md
! Новая архитектура правил в папке docs/
находится в разработке.