Кейc продукта · 28 октября 2026
Claude Code: правила, ограниченные путём: протестируйте конвенцию только для API
Создайте правило Claude Code для файлов API, сравните его с сессией только для документации и проверьте результат без смешивания инструкций с разрешениями.

Протестируйте ограниченную конвенцию с файлами, которые совпадают и не совпадают, в новых сессиях, прежде чем добавлять её в общий репозиторий.
Конвенция API может быть полезна в обработчике маршрутов и отвлекающей в задаче документации. Claude Code поддерживает правила, которые нацелены на определённые пути файлов. Эта лаборатория даёт одному файлу API конвенцию ответов, затем использует задачу только для документации в качестве контроля.
Источники проверены 28 октября 2026 года. Это упражнение с подтверждением документации. Мы проверили создание локальной фикстуры и сравнения байтов, включая намеренно изменённый файл. Мы не запускали сеансы Claude Code с аутентификацией; проверки ответа ниже являются критериями приёмки, а не отчётными результатами модели.
Вам нужны Bash, Python 3 и установленный, аутентифицированный Claude Code. Используйте приведённые ниже синтетические файлы. Установка пакетов, сервер приложений или удалённый репозиторий для самой лабораторной работы не требуются.
Разместите одну конвенцию рядом с двумя маленькими фикстурами
Anthropic документирует правила Markdown в .claude/rules/, с YAML paths фильтром относительно корня проекта. Доступ к совпадающему файлу может загрузить правило; правила без фильтра загружаются без условий. См. руководство по памяти.
Создайте одноразовый проект вне ваших существующих репозиториев:
lab_root=$(mktemp -d /tmp/claude-rules-lab.XXXXXX)
mkdir -p "$lab_root/project/.claude/rules \
"$lab_root/project/src/api "$lab_root/project/docs \
"$lab_root/evidence
cd "$lab_root/project
кот > src/api/status.ts <<'API'
export const status = { service: "Lantern", state: "ready" };
API
кот > docs/overview.md <<'DOCS'
# Lantern
Обзор документации проводится в пятницу.
DOCS
кот > .claude/rules/api-summary.md <<'RULE'
---
пути:
- "src/api/**/*.ts"
---
# Конвенция резюме API
При составлении резюме файла API:
- Начинайте ответ с отдельной строки API-SCOPE-CHECK.
- Включите один пункт с названием экспортируемого значения.
- Включите один пункт с описанием его буквальных полей.
- Не делайте выводы о поведении во время выполнения на основе объявления константы.
ПРАВИЛО
cp src/api/status.ts "$lab_root/evidence/status.before.ts"
cp docs/overview.md "$lab_root/evidence/overview.before.md"
cp .claude/rules/api-summary.md "$lab_root/evidence/rule.before.md"
printf 'Корень лаборатории: %s\n' "$lab_root"
Наш маркер намеренно искусственный: он делает конвенцию ответа легко заметной. Это не настоящий стандарт API. Файл TypeScript является входным файлом для чтения, а не приложением для запуска.
Сохраняйте напечатанный путь. Проверьте, что правило начинается с разделителя из трёх тире и что paths это YAML-список. Не вставляйте правило в корень CLAUDE.md: это подорвало бы настроенную область данного упражнения.
Сначала запустите контроль только для документации
Из каталога проекта зафиксируйте установленную версию и запустите новую сессию:
клод --version > "$lab_root/evidence/cli-version.txt
клод
Сохраняйте ваши обычные настройки разрешений. Отправляйте только эту подсказку, а не всю статью:
Используйте инструмент «Чтение», чтобы прочитать только docs/overview.md. Суммируйте его факты в двух
коротких пунктах. Не ищите по проекту, не просматривайте другие файлы, не редактируйте файлы,
не выполняйте команды оболочки, не делегируйте и не сохраняйте информацию. Остановитесь после резюме.
Ожидаемое содержание: название проекта и день обзора в пятницу. Ответ не должен вводить терминологию API или специальные маркеры API. Также наблюдайте за активностью инструмента: сессия, которая читает файл API или правило напрямую, не является чистым контролем, даже если ответ выглядит обычным.
Сохраните ответ и краткую заметку о наблюдаемых чтениях вне проекта в каталоге свидетельств. Полностью выйдите из Claude. Не используйте и не возобновляйте этот разговор для следующей проверки.
Один только правильный обзор документов не может доказать, что дополнительные инструкции не были загружены. Это контроль поведения, а не трассировка внутреннего контекста.
Начните новую сессию для соответствующего файла
Запуск claude снова из той же директории проекта. Отправьте:
Используйте инструмент Read, чтобы прочитать только src/api/status.ts. Подведите итоги того, что содержит этот файл
. Не ищите по проекту, не просматривайте другие файлы, не редактируйте файлы,
не выполняйте команды оболочки, не делегируйте и не сохраняйте информацию. Остановитесь после резюме.
Не включайте маркер или инструкции по формату ответа в этом запросе. В противном случае правильный ответ не поможет отличить сохраненное правило от вашего последнего сообщения.
Проверьте ответ по этому ключу ответа:
| Проверить | Требуемое наблюдение |
|---|---|
| Соглашение с областью | Первая строка точно API-SCOPE-CHECK. |
| Экспорт | Один пункт указывает на экспортируемое значение как status. |
| Литеральные данные | Один пункт сообщает service как Lantern и state как ready. |
| Неподдерживаемый вывод | Нет утверждения, что работающая служба прошла проверку состояния. |
| Выполненная работа | Только чтение файла; без редактирования или выполнения команд. |
Сохраните фактический ответ, включая любые сбои. Завершите сеанс. Успешный ответ демонстрирует соответствие для этого небольшого случая; он не гарантирует надежность по всему коду. Два новых сеанса уменьшают перенос информации из предыдущих сообщений и чтений файлов.
Anthropic’s руководство по лучшим практикам различает инструкции, следуемые моделью, и принудительные ограничения, и рекомендует давать работе явные проверки. Это упражнение следует этому различию: конвенция помогает формировать ответ, в то время как вы оцениваете его по независимому ключу ответа.
Проверьте вводимые байты самостоятельно
После завершения обеих сессий выполните эти команды в исходной оболочке:
cmp "$lab_root/evidence/status.before.ts" "$lab_root/project/src/api/status.ts
cmp "$lab_root/evidence/overview.before.md" "$lab_root/project/docs/overview.md
cmp "$lab_root/evidence/rule.before.md" "$lab_root/project/.claude/rules/api-summary.md
Каждое сравнение должно завершаться нулем без вывода. Ненулевой результат означает, что файл был изменен или не может быть сравнен; проверьте ошибку перед принятием упражнения.
Перечислите файлы проекта, чтобы искать неожиданные добавления:
python3 - <<'PY'
from pathlib import Path
for path in sorted(Path('.').rglob('*')):
если path.is_file():
print(path.as_posix())
PY
Запустите список из каталога проекта. Три созданных файла это .claude/rules/api-summary.md, docs/overview.md и src/api/status.ts. Исследуйте всё остальное, вместо того чтобы автоматически удалять это. Эти проверки касаются этого фикстура, а не всех записей, которые процесс может сделать в другом месте на вашей машине.
Диагностируйте отсутствующую или неверно расположенную конвенцию
Если ответ API пропускает маркер, сначала проверьте сохранённый путь и YAML. Неправильный фронтматтер может сделать правило безусловным. Руководство по памяти документирует claude --debug для ошибок разбора. Используйте /context для проверки файлов инструкций запуска; это не полный журнал последующих условных загрузок. Официальное руководство по устранению неполадок также указывает на InstructionsLoaded хуки для более глубокого отслеживания.
Если контроль документов включает материал API, повторите это в действительно новой сессии и проверьте, какие файлы были прочитаны. Проверьте наличие скопированного маркера в других инструкционных файлах или в памяти предыдущих проектов. Не «исправляйте» контроль, заставляя Claude пропустить маркер: это скроет поведение, которое вы измеряете.
Если маркер появляется, но ответ выдает вымышленное поведение во время выполнения, зафиксируйте нарушение соответствия. Выбор в пределах файла и фактическая точность — это отдельные проверки.
Правила — это прозаические рекомендации. Для контроля доступа к инструментам используйте соответствующую конфигурацию разрешений. Anthropic’s справочник по настройкам разделяет общие настройки проекта в .claude/settings.json из пользовательских настроек и локальных переопределений. Для этой лабораторной работы изменения этих файлов не требуются; если инструмент Read недоступен, просмотрите существующие эффективные настройки, а не обходите ограничения.
Замените маркер на полезное соглашение команды
После того как у вас будет чистый совпадающий случай и чистый контроль, замените упражнение с маркером на одно фактическое требование API, которое ваша команда сможет проверить. Например, требуйте, чтобы каждое предложенное изменение конечной точки указывало проверку валидации ввода. Затем протестируйте небольшой патч и проверьте, существует ли эта проверка и проходит ли она.
Держите правило коротким и конкретным для соответствующего каталога. Сохраняйте локально свою версию записи и проверенные ответы; не коммитьте полные журналы сеансов, которые могут содержать нерелевантные инструкции. Завершите все лабораторные сеансы перед тем, как вручную удалить только созданный вами временный каталог.
Для более широкого рабочего процесса кодирования используйте урок о написанию конкретных проверок приёмки. Полезным результатом является конвенция с наблюдаемыми проверками, а не растущая куча инструкций, эффекты которых никто не проверял.
Официальные заметки источника
Все проверено 28 октября 2026 года:
- Как Клод запоминает ваш проект: пути правил, условная загрузка, фронтматтер и диагностика.
- Лучшие практики для Claude Code: локальные конвенции, проверка и различие между инструкциями и их исполнением.
- Файлы настроек и приоритет: границы проекта, пользователя и локальной конфигурации.
Запустите это в работу
Различайте область действия файла правила и соответствие требованиям и контроль доступа.
Попробовать
Создайте одно правило API и попросите Claude обобщить два небольших фикстура в отдельных сессиях.
Докажите, что это сработало
Проверьте ответ API на соответствие области действия и управление документацией на предмет нежелательного распространения.
Держите в поле зрения
- Используйте фильтр путей, чтобы связать одно правило с каталогом API.
- Сравните свежие сессии только с документацией и только с API, используя синтетические файлы.
- Просмотрите ответ и неизмененные входные данные отдельно от утверждений агента.