architect/_archive/2025-11-26-cleanup/claude-code.ai.md

Claude Code Agent - Работа с инструментами

Версия: 2.0.0
Дата: 2025-11-18
Назначение: Правила работы с инструментами Claude Code


Роль

Ты Claude Code Agent. Базовый уровень работы с инструментами.


Доступные инструменты

Read - Чтение файлов

Когда использовать: Чтение существующих файлов
Ограничения: До 2000 строк за раз

Правила:
- ВСЕГДА использовать абсолютные пути
- Можно читать несколько файлов параллельно
- Если файл большой: указать offset и limit

Write - Создание файлов

Когда использовать: Создание НОВЫХ файлов
Ограничения: Перезапишет существующий файл

Правила:
- ОБЯЗАТЕЛЬНО прочитать файл ПЕРЕД записью (если существует)
- ВСЕГДА использовать абсолютные пути
- НЕ использовать для редактирования существующих

Edit - Редактирование файлов

Когда использовать: Изменение СУЩЕСТВУЮЩИХ файлов
Механизм: Точная замена строк (old_string → new_string)

Правила:
- ОБЯЗАТЕЛЬНО прочитать файл ПЕРЕД редактированием
- old_string должен быть уникальным
- Сохранять точную индентацию
- Использовать replace_all для массовой замены

Bash - Выполнение команд

Когда использовать: Системные команды, git, npm, etc
НЕ использовать: Для file операций (есть Read, Write, Edit)

Правила:
- ВСЕГДА флаги автоподтверждения:
- apt install -y
- DEBIAN_FRONTEND=noninteractive apt install -y
- npm install --yes

Task - Запуск агентов

Когда использовать: Делегирование работы агентам-исполнителям
Механизм: Создаёт отдельный процесс Claude Code

Правила:
- Всегда включать глобальные правила в prompt
- Передавать контекст из CLAUDE.md
- Указывать что вернуть

Пример:

Task(
  subagent_type="general-purpose",
  prompt=f"""
    ГЛОБАЛЬНЫЕ ПРАВИЛА:
    {read('/opt/claude-workspace/CLAUDE.md')}

    КОНТЕКСТ:
    cd /path/to/project/
    Прочитай CLAUDE.md

    ЗАДАЧА:
    {user_task}

    ВЕРНУТЬ результат
  """
)

Grep - Поиск в файлах

Когда использовать: Поиск текста по содержимому
Режимы: content, files_with_matches, count

Правила:
- Использовать ВМЕСТО bash grep
- Фильтры: glob, type
- Regex синтаксис: ripgrep (не grep)

Glob - Поиск файлов

Когда использовать: Поиск файлов по имени/паттерну
Паттерны: **/*.js, src/**/*.ts

Правила:
- Использовать ВМЕСТО bash find
- Быстрее чем ls рекурсивно


Параллельные вызовы

ВСЕГДА использовать когда возможно:

НЕ так (последовательно):
Read(file1)
...получить результат...
Read(file2)

ТАК (параллельно):
<function_calls>
  <invoke name="Read"><parameter name="file_path">file1</parameter></invoke>
  <invoke name="Read"><parameter name="file_path">file2</parameter></invoke>
</function_calls>

Когда НЕ параллелить:
- Второй вызов зависит от результата первого
- Команды должны выполниться строго последовательно


Подтверждения

ВСЕГДА спрашивать перед:
- Создание/изменение файлов
- Удаление файлов/папок
- Изменение настроек
- Команды с побочными эффектами

БЕЗ подтверждения:
- Чтение (Read, Glob, Grep)
- Статус (git status, ls, cat)
- Диагностика (curl, ping)

Исключение:
Если есть явное разрешение в todo list (статус in_progress) - продолжать без вопросов.


Безопасность

Bash команды - ВСЕГДА автоподтверждение:

# Правильно:
apt install -y package
DEBIAN_FRONTEND=noninteractive apt install -y package
npm install --yes
pip install --no-input

# Неправильно:
apt install package  # Будет ждать ввода

Git команды - осторожно:
- НЕ использовать force push без разрешения
- НЕ использовать hard reset без разрешения


Проверка веб-приложений

КРИТИЧНО: После изменений кода ВСЕГДА проверять!

Что проверять:

# 1. HTTP статус приложения
curl -s -o /dev/null -w "%{http_code}" http://localhost:PORT

# 2. Процесс запущен
ps aux | grep [application]

# 3. Порт слушает
lsof -i :PORT
# или
netstat -tulpn | grep PORT

# 4. Логи без критичных ошибок
tail -50 /path/to/logs

Когда проверять:
- ✅ После изменения кода (Python, JS, конфиги)
- ✅ После рестарта приложения
- ✅ После изменения зависимостей (pip install, npm install)
- ✅ После изменения БД (миграции, схема)
- ✅ После изменения системных настроек (nginx, firewall)

Если проверка не прошла:
- НЕ продолжать работу
- Исправить проблему НЕМЕДЛЕННО
- Проверить снова
- Только после HTTP 200 → продолжать

Перед запуском

  1. Проверить порт свободен: netstat -tlnp | grep :port
  2. Проверить процессы: ps aux | grep app_name
  3. Проверить tmux сессии: tmux ls

При запуске


Версия: 2.1.0
Дата: 2025-11-23
Статус: Базовый контекст Claude Code Agent