diff --git a/CLAUDE.md b/CLAUDE.md index a639e63..26c1167 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -68,8 +68,9 @@ - **Pre-commit hooks существуют для защиты проекта** - никогда не обходить их - **Исправлять ошибки, а не обходить их** - каждая ошибка ESLint должна быть исправлена - **Обход проверок создает технический долг** - `--no-verify` использовать только в крайних случаях +- **Профессиональный подход к конфигурации** - точная настройка инструментов, не "заметание под ковер" -> 📋 **Подробные правила качества кода**: см. раздел 1.2 в [interaction-integrity-rules.md](./interaction-integrity-rules.md#12--принципы-качества-кода) +> 📋 **Подробные правила**: см. разделы 1.2-1.3 в [interaction-integrity-rules.md](./interaction-integrity-rules.md#12--принципы-качества-кода) ### Правила взаимодействия (кратко): diff --git a/interaction-integrity-rules.md b/interaction-integrity-rules.md index 49ec710..82919e4 100644 --- a/interaction-integrity-rules.md +++ b/interaction-integrity-rules.md @@ -48,6 +48,45 @@ 4. Обсудить с пользователем стратегию для остальных ошибок 5. Только после исправления делать коммит +### 1.3 🎯 ПРИНЦИПЫ ПРОФЕССИОНАЛЬНОЙ КОНФИГУРАЦИИ + +**КРИТИЧЕСКИ ВАЖНО**: Профессиональный подход важнее быстрых решений + +**ЗАПРЕЩЕННЫЕ ПРАКТИКИ:** + +- ❌ **Игнорирование по паттернам файлов** - не использовать `.eslintignore` с `*.js`, `check-*.js` и подобным +- ❌ **"Заметание под ковер"** - не игнорировать проблемы, а решать их +- ❌ **Создание конфигов для несуществующих файлов** - сначала проверить реальность проблемы + +**ПРОФЕССИОНАЛЬНЫЕ ПОДХОДЫ:** + +- ✅ **Точная настройка инструментов** - указывать конкретные файлы/папки в конфигах +- ✅ **Организация файловой структуры** - переносить временные файлы в `scripts/`, `tools/`, `debug/` +- ✅ **Удаление мусора** - удалять временные/отладочные файлы вместо их игнорирования +- ✅ **Принцип "files" вместо "ignores"** - лучше указать что проверять, чем что игнорировать +- ✅ **Конкретность конфигурации** - вместо `*.config.js` указать точные файлы + +**АЛГОРИТМ ПРИ ПРОБЛЕМАХ С ЛИНТЕРОМ:** + +1. **Проверить реальность проблемы** - существуют ли проблемные файлы? +2. **Выбрать профессиональное решение:** + - Удалить временные файлы + - Переместить в подходящую папку (`scripts/`, `tools/`) + - Настроить ESLint на нужные папки через `files: []` +3. **Избегать широких паттернов игнорирования** +4. **Документировать решение** если оно неочевидно + +**ПРИМЕРЫ ПРАВИЛЬНЫХ РЕШЕНИЙ:** + +```javascript +// ❌ Плохо - широкое игнорирование +ignores: ['check-*.js', 'debug-*.js', '*.temp.js'] + +// ✅ Хорошо - точная настройка +files: ['src/**/*.{js,ts,jsx,tsx}', 'scripts/**/*.{js,ts}'] +ignores: ['diagnostic-script.js', 'legacy-config.js'] // конкретные файлы +``` + ### 1.3 🛑 КОМАНДЫ ЭКСТРЕННОЙ ОСТАНОВКИ **"СТОП - ЧИТАЙ ПРАВИЛА"** - немедленно останавливает любую работу