Память
Как Cusp загружает CUSP.md, CLAUDE.md, AGENTS.md и файлы правил, в каком порядке и как их лучше структурировать.
Память — это набор файлов инструкций, которые Cusp загружает в каждую сессию: как собрать и протестировать проект, каких соглашений придерживаться, чего избегать. Вы пишете их один раз, и каждая сессия — в любом интерфейсе и с любой моделью — начинается с них.
Cusp читает и файлы инструкций других агентов, поэтому репозиторий, в котором уже есть CLAUDE.md или AGENTS.md, работает без изменений.
Имена файлов
На каждом уровне каталогов Cusp ищет эти файлы и загружает все найденные в таком порядке:
| Порядок | Файл | Для кого написан |
|---|---|---|
| 1 | AGENTS.md | Codex и общее соглашение для разных агентов |
| 2 | GEMINI.md | Gemini CLI |
| 3 | CLAUDE.md | Claude Code |
| 4 | .claude/CLAUDE.md | Claude Code |
| 5 | CUSP.md | Cusp |
| 6 | .cusp/CUSP.md | Cusp |
Файлы, загруженные позже, весят больше. Если два файла противоречат друг другу, побеждает загруженный позже, так что CUSP.md переопределяет CLAUDE.md, а тот — AGENTS.md.
Если вы начинаете с нуля, напишите CUSP.md или выполните /init, чтобы Cusp подготовил черновик. Если ваша команда пользуется и другими агентами, держите общие указания в AGENTS.md, а всё, что относится только к Cusp, — в CUSP.md.
Где Cusp ищет
Инструкции загружаются из нескольких областей, начиная с самой широкой:
-
Управляемые. Файлы для всей организации, которые задаёт администратор:
Платформа Пути macOS /Library/Application Support/ClaudeCode/CLAUDE.md,/Library/Application Support/Cusp/CUSP.mdWindows C:\Program Files\ClaudeCode\CLAUDE.md,C:\Program Files\Cusp\CUSP.mdLinux /etc/claude-code/CLAUDE.md,/etc/cusp/CUSP.md -
Пользовательские. Ваши личные предпочтения для всех проектов:
~/.claude/CLAUDE.md,~/.codex/AGENTS.md,~/.gemini/GEMINI.mdи~/.cusp/CUSP.md, а также правила в~/.claude/rules/и~/.cusp/rules/. -
Проектные. Каждый каталог от корня файловой системы до вашего рабочего каталога, начиная с корня, так что инструкции, ближайшие к месту работы, идут последними. А также правила в
.claude/rules/и.cusp/rules/в корне проекта. -
Локальные.
CLAUDE.local.mdиCUSP.local.md: личные заметки для этого проекта, которые вы не коммитите. Добавьте их в.gitignore.
Вложенные каталоги
Файлы инструкций в подкаталогах ниже рабочего каталога загружаются отложенно. Когда агент впервые читает или правит файл в packages/api/, Cusp в этот момент загружает packages/api/CUSP.md (или AGENTS.md, CLAUDE.md, …). В монорепозитории так указания для каждого пакета не попадают в контекст, пока не станут нужны.
Правила
Правила — небольшие файлы инструкций в каталоге rules/, по одной теме на файл. Правило без frontmatter загружается при старте сессии, как любой другой файл инструкций.
Правило с paths: загружается, только когда агент работает с подходящим файлом:
---
paths:
- "db/migrations/**"
- "**/*.sql"
---
Migrations are append-only. Never edit a migration that has been merged; add a new one.
Run `bun run db:check` after writing a migration.Это лучшее место для указаний, которые важны для одной части кодовой базы, а везде в остальном были бы шумом.
Импорты
Файл инструкций может подключить другой файл через @path:
# Project guide
See @docs/architecture.md for the module layout.
Coding conventions: @docs/conventions.md- Пути указываются относительно файла, в котором находится импорт. Пути с
~/тоже работают. - Импорты могут быть вложены до 4 уровней. Циклы обнаруживаются и пропускаются.
@pathвнутри блоков кода и встроенного кода игнорируется, поэтому примеры не вызывают импорт.
Что удаляется
- Блочные HTML-комментарии (
<!-- … -->) удаляются до того, как содержимое попадёт к модели. Используйте их для заметок людям, которые сопровождают проект. - YAML-frontmatter правил удаляется после того, как Cusp прочитает
paths:. - Файлы больше 4 МиБ пропускаются с предупреждением.
Исключение файлов
Если файл не должен загружаться, например AGENTS.md стороннего пакета, написанный для другого проекта, исключите его в настройках:
{
"claudeMdExcludes": ["vendor/**", "third_party/**/AGENTS.md"]
}Управляемые файлы исключить нельзя.
Как писать хорошие инструкции
Файлы инструкций занимают контекст в каждой сессии, поэтому делайте их короткими и конкретными.
- Начинайте с команд. Как установить зависимости, собрать проект, запустить тесты, линтер и проверку типов. Именно это агенту нужно чаще всего.
- Формулируйте соглашения как правила. «Use
zodfor validation; never hand-write type guards for API input» лучше абзаца о философии. - Называйте подводные камни. Нестабильный тест, сгенерированный файл, который никто не должен править, переменная окружения, которая обязательно должна быть задана.
- Ссылайтесь, а не копируйте. Подключайте документы по архитектуре через
@path, а не вставляйте их целиком. - Выносите указания для отдельных частей кода в правила с привязкой к путям.
Полезный CUSP.md часто укладывается в 100 строк.
Команда /init
/init просит агента проанализировать кодовую базу и написать в корне репозитория CUSP.md с командами сборки, тестов и линтера, обзором архитектуры, ключевыми соглашениями и подводными камнями. Если CUSP.md, AGENTS.md или CLAUDE.md уже существует, агент улучшает этот файл, а не начинает заново. Проверьте результат, как любое другое изменение.
Песочница
Команды оболочки, которые запускает агент, ограничены песочницей операционной системы — Seatbelt в macOS, bubblewrap в Linux: запись только в рабочую область, без чтения учётных данных и без сети, если вы её не разрешили.
Инструменты
Встроенные инструменты, с помощью которых агент читает, правит, ищет, выполняет команды, поручает задачи и задаёт вопросы, и чем они различаются у разных семейств моделей.