session-start
Загружает контекст проекта при старте сессии: CLAUDE.md, прогресс, текущие задачи. AI сразу знает, где остановился.
Описание
Простым языком
Хук — это скрипт, который запускается автоматически в нужный момент. Не ты его вызываешь, он сам срабатывает. Как будильник: ты его настроил один раз — он делает своё дело каждый день.
Каждый раз когда ты открываешь Claude Code — он не помнит что было вчера. Этот хук как записка на мониторе. Он автоматически напоминает Claude где ты остановился и что делать дальше. Тебе ничего не нужно делать — просто установи один раз.
Что делает
Хук session-start автоматически загружает контекст проекта при старте каждой сессии Claude Code. AI читает CLAUDE.md, секцию ПРОГРЕСС и ближайшую незакрытую задачу из tasks-detailed.md — и сразу знает, на чём остановился.
Без этого хука каждая сессия начинается с нуля: AI не знает архитектуру проекта, принятые решения и текущий статус разработки. С хуком — контекст восстанавливается за секунды без участия пользователя.
Когда срабатывает
Триггер: PreToolUse — перед первым вызовом любого инструмента в сессии. Условие: файл CLAUDE.md существует в корне проекта. Действие: читает CLAUDE.md целиком, затем первые 100 строк tasks-detailed.md (если есть).
Установка
- Добавь конфиг в
.claude/settings.jsonпроекта (см. блок ниже) - Создай скрипт
~/.claude/hooks/session-start.shи сделай его исполняемым:chmod +x session-start.sh - Проверь: запусти новую сессию Claude Code и убедись, что AI сразу знает прогресс
Конфиг settings.json
{
"hooks": {
"PreToolUse": [
{
"matcher": ".*",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/session-start.sh"
}
]
}
]
}
}Скрипт хука
#!/bin/bash
# session-start.sh — загрузка контекста при старте сессии
# Срабатывает один раз: при первом вызове инструмента в сессии
LOCK_FILE="/tmp/claude-session-started-$$"
if [ -f "$LOCK_FILE" ]; then
exit 0
fi
touch "$LOCK_FILE"
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
echo "=== ЗАГРУЗКА КОНТЕКСТА ПРОЕКТА ==="
if [ -f "$PROJECT_DIR/CLAUDE.md" ]; then
echo "--- CLAUDE.md ---"
cat "$PROJECT_DIR/CLAUDE.md"
fi
if [ -f "$PROJECT_DIR/docs/tasks-detailed.md" ]; then
echo ""
echo "--- СЛЕДУЮЩИЕ ЗАДАЧИ ---"
head -100 "$PROJECT_DIR/docs/tasks-detailed.md"
fi
if git -C "$PROJECT_DIR" rev-parse --is-inside-work-tree &>/dev/null; then
CHANGED=$(git -C "$PROJECT_DIR" diff --name-only 2>/dev/null)
if [ -n "$CHANGED" ]; then
echo ""
echo "--- НЕЗАКОММИЧЕННЫЕ ИЗМЕНЕНИЯ ---"
echo "$CHANGED"
fi
fiПримеры работы
Хук срабатывает при первом вызове любого инструмента — Read, Edit, Bash и других. Он не блокирует работу, только выводит контекст.
Что пропускает
- Повторные вызовы в той же сессии (lock-файл)
- Проекты без
CLAUDE.mdв корне - Вызовы из субагентов (не основная сессия)
Что обрабатывает
- Первый вызов инструмента после запуска
claude— читает весь CLAUDE.md - Наличие незакоммиченных файлов — показывает список
- Наличие tasks-detailed.md — показывает первые задачи
Настройка под себя
Хук можно расширить для конкретного проекта: добавить чтение .env.example, вывод последних коммитов или статуса CI/CD. Главное — не перегружать вывод, иначе AI потратит токены на чтение лишнего.
head -N— ограничь количество строк из tasks-detailed.md- Добавь
git log --oneline -5для последних коммитов - Добавь
cat .env.exampleчтобы AI знал доступные переменные - Используй
CLAUDE_SKIP_CONTEXT=1для быстрых сессий без загрузки
Хороший session-start — как планёрка на 30 секунд. Не лекция, не молчание — ровно столько, чтобы начать работать.
> Пока нет комментариев
Связанный контент
Похожие инструменты
/bug-fix
Quick Fix mode: определи баг -> исправь -> проверь -> коммить. Без brainstorm и планирования.
Открыть →/ship
Полный Feature pipeline: brainstorm -> план -> одобрение -> реализация -> тесты -> коммит.
Открыть →/done
Финализация задачи: AI_NOTES, cost-tracker, QA-проверки. Фиксирует что сделано и запускает финальный ревью.
Открыть →/end
Завершение сессии с сохранением прогресса. Обновляет CLAUDE.md, фиксирует незакоммиченные изменения.
Открыть →