Ниже представлена **Универсальная инструкция по разработке с использованием Claude Code (CLI)**. Она составлена на основе предоставленных вами данных и адаптирована для реального использования в профессиональной среде.

Эта инструкция (SOP) предназначена для устранения «галлюцинаций», потери контекста и создания некачественного кода («slop»).

---

# 📘 SOP: Профессиональная разработка с Claude Code

**Цель:** Создание чистого, протестированного и поддерживаемого кода с минимальным количеством ошибок за счет строгого управления контекстом и итеративного подхода.

---

## 🏗 Этап 0: Подготовка (Pre-flight Check)

Перед запуском терминала убедитесь, что у вас есть:
1.  **Базовая идея:** Файл `idea.md` или `spec.md` с кратким описанием сути приложения (2-3 абзаца).
2.  **Доступ:** Установленный и авторизованный Claude Code.

---

## 🕵️ Этап 1: Детальная спецификация (Метод допроса)

**Принцип:** Никогда не просите ИИ «просто написать код». Вы не знаете всех ограничений, но ИИ может их предсказать. Заставьте его вытянуть из вас техническое задание.

**Действие:**
Запустите Claude Code и подайте ему ваш файл с идеей. Используйте специальный промпт для инициации интервью.

**📝 Универсальный Промпт (Скопируйте и вставьте):**
```text
Read the file [имя_файла_с_идеей] and interview me in detail using AskUserQuestionTool about literally anything regarding this project: technical implementation stack, UI/UX patterns, edge cases, data handling, error states, and tradeoffs. Do not write any code yet. Just ask questions to build a perfect mental model.
```

**Ваша задача:**
Отвечайте на вопросы максимально подробно.
*   *Технологии:* (React vs Vue? SQL vs NoSQL?)
*   *Пограничные случаи:* (Что если пропадет интернет? Что если API вернет 404?)
*   *Ограничения:* (Бюджет токенов, сроки, производительность).

**Результат этапа:** Claude имеет полное понимание задачи *до* написания первой строчки кода.

---

## 🗺 Этап 2: Архитектура и Декомпозиция

**Принцип:** Разделяй и властвуй. Монолитные промпты ведут к ошибкам.

**Действие:**
Попросите Claude создать план разработки, разбив его на изолированные, независимые шаги.

**📝 Универсальный Промпт:**
```text
Based on our interview, create a detailed step-by-step implementation plan (TODO list). Break the project down into isolated features (e.g., 1. Project Setup, 2. Database Schema, 3. Auth Module).
Save this plan to a file named 'implementation_plan.md'.
```

**Результат этапа:** У вас есть файл `implementation_plan.md`, который служит картой. Вы будете вычеркивать пункты по одному.

---

## 🧱 Этап 3: Модульная разработка (Цикл сборки)

**Принцип:** Один промпт = Одна фича. Не переходите к шагу B, пока шаг A не работает идеально.

**Алгоритм цикла:**

1.  **Выбор задачи:** Посмотрите в `implementation_plan.md`.
2.  **Команда на сборку:** Дайте команду реализовать *только* этот пункт.
3.  **Тестирование:** Проверьте работоспособность.

**📝 Промпт для реализации (Пример для фичи "Авторизация"):**
```text
Focus ONLY on item #3 from implementation_plan.md ("User Authentication").
1. Implement the necessary backend logic.
2. Create the UI components.
3. Verify that it handles errors (e.g., wrong password) correctly.
DO NOT touch any other features yet.
```

**📝 Промпт для тестирования (если Claude сам не запустил тесты):**
```text
Create and run a test script to verify the feature we just built. Ensure it handles the edge cases we discussed.
```

> **Правило:** Если возникла ошибка, исправляйте её немедленно. Не накапливайте технический долг.

---

## 🧠 Этап 4: Гигиена контекста (Правило 50%)

**Принцип:** ИИ начинает «глупеть» и забывать инструкции, когда контекстное окно переполняется. Вы должны действовать превентивно.

**Действие:**
Регулярно (каждые 3-5 запросов) проверяйте использование токенов.

**Команда:**
```text
/context
```

**Красная зона:**
Как только использование контекста достигает **40-50%** (примерно 80k-100k токенов), качество кода резко падает.

**Процедура сброса (The Reset Protocol):**

1.  **Сохранение знаний:** Попросите Claude создать файл-памятку для "следующего себя".
    **Промпт:**
    ```text
    We are resetting the session. Create a file named 'CONTEXT_HANDOVER.md'. Summarize:
    1. Current project status.
    2. What was just built and verified.
    3. What is the immediate next step from implementation_plan.md.
    4. Important technical decisions made so far.
    ```
2.  **Сброс:** Закройте терминал или введите команду выхода.
3.  **Новая сессия:** Откройте терминал снова.
4.  **Восстановление:**
    **Промпт:**
    ```text
    Read 'CONTEXT_HANDOVER.md' and 'implementation_plan.md'. We are resuming development. I am ready to start the next feature.
    ```

---

## ✅ Чек-лист разработчика (Summary Checklist)

Распечатайте или держите перед глазами:

1.  [ ] **Начало:** Использовал ли я `AskUserQuestionTool`, чтобы ИИ "допросил" меня перед стартом?
2.  [ ] **План:** Есть ли у меня файл с пошаговым планом (roadmap)?
3.  [ ] **Фокус:** Реализую ли я сейчас только одну изолированную функцию?
4.  [ ] **Контекст:** Проверял ли я `/context`? Если >45%, пора делать рестарт.
5.  [ ] **Передача:** Перед рестартом создал ли я файл `CONTEXT_HANDOVER.md`?

### Почему это работает?
*   **Интервью** исключает догадки ИИ.
*   **Модульность** упрощает отладку.
*   **Сброс контекста** гарантирует, что ИИ всегда работает на пике своих когнитивных способностей, а не в состоянии "цифровой усталости".