Solution · Live
Ramas-Karpathy-Tree
Per-project memory layer для Claude Code. cwd-aware routing, pre-filter, Haiku flush, two-tier MEMORY.
- memory
- claude-code

Зачем нужен ещё один слой памяти
Глобальная память (Anthropic auto-memory) хорошо помнит факты о тебе. Wiki хорошо хранит общую базу знаний. Между ними дыра: знания конкретного проекта — где лежат файлы, какие команды работают, что уже пробовал. Tree эту дыру закрывает.
Архитектура в одной картинке
- Корень —
~/.claude/projects/<slug>/memory/MEMORY.md - Ветви — пер-проектные
project_*.mdрядом cwd-router— хук, выбирает правильную ветвь по текущему рабочему каталогуpre-filter— режет токены, грузит только релевантную для запроса частьhaiku-flush— раз в N сессий пробегает по ветвям и сжимает старое через Haiku
Установка
git clone https://github.com/sergeyramas/ramas-karpathy-tree ~/.ramas-tree
cd ~/.ramas-tree && ./install.sh
Установщик:
- добавит хук
SessionStartв~/.claude/settings.json - зарегистрирует скилл
/tree-writeдля ручной записи - положит шаблоны веток в
templates/
Первый запуск в проекте
Открываешь Claude Code в ~/code/myproject/ и пишешь:
/tree-write это next.js проект под клиента X, бэк на Directus.
Главные команды: npm run dev на 3000, npm run build для прода.
Боль: турбопак на macOS arm64 иногда падает с WASM-ошибкой —
лечится rm -rf node_modules && npm install.
Skill создаёт project_myproject.md в правильной ветви. В следующей сессии cwd-router увидит, что pwd совпадает с проектом, и подгрузит ветвь автоматически.
Two-tier MEMORY: что это
- Tier 1 (active) — только то, что трогал в последние 7 дней. Влезает в системный промпт целиком.
- Tier 2 (cold) — всё остальное. Доступ через явный
/tree-recall <project> <query>или semantic search.
💬 Эффект
Системный промпт перестаёт расти линейно с количеством проектов. Анте — 80–120 KB к 20-й сессии. После tree — 8–14 KB, и при этом память по конкретному проекту глубже.
Зачем: дешевле в токенах, точнее в подгрузке, быстрее в старте сессии.
Дисциплина записи
- После каждой нетривиальной задачи —
/tree-writeтремя предложениями - После рефакторинга —
/tree-update <fact> - Раз в месяц —
/tree-pruneчистит protected, но устаревшее
В полном гайде — конфиг роутера, тонкая настройка фильтра, примеры реальных проектов и расход токенов до/после.