Память

Как Cusp загружает CUSP.md, CLAUDE.md, AGENTS.md и файлы правил, в каком порядке и как их лучше структурировать.

Память — это набор файлов инструкций, которые Cusp загружает в каждую сессию: как собрать и протестировать проект, каких соглашений придерживаться, чего избегать. Вы пишете их один раз, и каждая сессия — в любом интерфейсе и с любой моделью — начинается с них.

Cusp читает и файлы инструкций других агентов, поэтому репозиторий, в котором уже есть CLAUDE.md или AGENTS.md, работает без изменений.

Имена файлов

На каждом уровне каталогов Cusp ищет эти файлы и загружает все найденные в таком порядке:

ПорядокФайлДля кого написан
1AGENTS.mdCodex и общее соглашение для разных агентов
2GEMINI.mdGemini CLI
3CLAUDE.mdClaude Code
4.claude/CLAUDE.mdClaude Code
5CUSP.mdCusp
6.cusp/CUSP.mdCusp

Файлы, загруженные позже, весят больше. Если два файла противоречат друг другу, побеждает загруженный позже, так что CUSP.md переопределяет CLAUDE.md, а тот — AGENTS.md.

Если вы начинаете с нуля, напишите CUSP.md или выполните /init, чтобы Cusp подготовил черновик. Если ваша команда пользуется и другими агентами, держите общие указания в AGENTS.md, а всё, что относится только к Cusp, — в CUSP.md.

Где Cusp ищет

Инструкции загружаются из нескольких областей, начиная с самой широкой:

  1. Управляемые. Файлы для всей организации, которые задаёт администратор:

    ПлатформаПути
    macOS/Library/Application Support/ClaudeCode/CLAUDE.md, /Library/Application Support/Cusp/CUSP.md
    WindowsC:\Program Files\ClaudeCode\CLAUDE.md, C:\Program Files\Cusp\CUSP.md
    Linux/etc/claude-code/CLAUDE.md, /etc/cusp/CUSP.md
  2. Пользовательские. Ваши личные предпочтения для всех проектов: ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.gemini/GEMINI.md и ~/.cusp/CUSP.md, а также правила в ~/.claude/rules/ и ~/.cusp/rules/.

  3. Проектные. Каждый каталог от корня файловой системы до вашего рабочего каталога, начиная с корня, так что инструкции, ближайшие к месту работы, идут последними. А также правила в .claude/rules/ и .cusp/rules/ в корне проекта.

  4. Локальные. CLAUDE.local.md и CUSP.local.md: личные заметки для этого проекта, которые вы не коммитите. Добавьте их в .gitignore.

Вложенные каталоги

Файлы инструкций в подкаталогах ниже рабочего каталога загружаются отложенно. Когда агент впервые читает или правит файл в packages/api/, Cusp в этот момент загружает packages/api/CUSP.md (или AGENTS.md, CLAUDE.md, …). В монорепозитории так указания для каждого пакета не попадают в контекст, пока не станут нужны.

Правила

Правила — небольшие файлы инструкций в каталоге rules/, по одной теме на файл. Правило без frontmatter загружается при старте сессии, как любой другой файл инструкций.

Правило с paths: загружается, только когда агент работает с подходящим файлом:

.cusp/rules/migrations.md
---
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:

CUSP.md
# 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 стороннего пакета, написанный для другого проекта, исключите его в настройках:

.cusp/settings.json
{
  "claudeMdExcludes": ["vendor/**", "third_party/**/AGENTS.md"]
}

Управляемые файлы исключить нельзя.

Как писать хорошие инструкции

Файлы инструкций занимают контекст в каждой сессии, поэтому делайте их короткими и конкретными.

  • Начинайте с команд. Как установить зависимости, собрать проект, запустить тесты, линтер и проверку типов. Именно это агенту нужно чаще всего.
  • Формулируйте соглашения как правила. «Use zod for validation; never hand-write type guards for API input» лучше абзаца о философии.
  • Называйте подводные камни. Нестабильный тест, сгенерированный файл, который никто не должен править, переменная окружения, которая обязательно должна быть задана.
  • Ссылайтесь, а не копируйте. Подключайте документы по архитектуре через @path, а не вставляйте их целиком.
  • Выносите указания для отдельных частей кода в правила с привязкой к путям.

Полезный CUSP.md часто укладывается в 100 строк.

Команда /init

/init просит агента проанализировать кодовую базу и написать в корне репозитория CUSP.md с командами сборки, тестов и линтера, обзором архитектуры, ключевыми соглашениями и подводными камнями. Если CUSP.md, AGENTS.md или CLAUDE.md уже существует, агент улучшает этот файл, а не начинает заново. Проверьте результат, как любое другое изменение.

На этой странице