Русский
Документация
Правила

Правила

Задайте пользовательские инструкции для opencode.

Вы можете предоставить opencode пользовательские инструкции, создав файл AGENTS.md. Это похоже на правила Cursor. Он содержит инструкции, которые будут включены в контекст LLM, чтобы настроить его поведение под ваш конкретный проект.


Инициализация

Чтобы создать новый файл AGENTS.md, вы можете выполнить команду /init в opencode.

Совет: Вам следует закоммитить файл AGENTS.md вашего проекта в Git.

/init сканирует важные файлы в вашем репозитории, может задать пару целевых вопросов, когда кодовая база не может на них ответить, а затем создаёт или обновляет AGENTS.md с лаконичными рекомендациями, специфичными для проекта.

Он фокусируется на тех вещах, которые с наибольшей вероятностью понадобятся будущим сессиям агента:

  • команды сборки, линтинга и тестирования
  • порядок выполнения команд и целенаправленные шаги проверки, когда они важны
  • архитектура и структура репозитория, которые неочевидны из одних только имён файлов
  • специфичные для проекта соглашения, особенности настройки и эксплуатационные подводные камни
  • ссылки на существующие источники инструкций, такие как правила Cursor или Copilot

Если у вас уже есть AGENTS.md, /init улучшит его на месте, а не будет слепо заменять.


Пример

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

AGENTS.md
# SST v3 Monorepo Project
 
This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for package management.
 
## Project Structure
 
- `packages/` - Contains all workspace packages (functions, core, web, etc.)
- `infra/` - Infrastructure definitions split by service (storage.ts, api.ts, web.ts)
- `sst.config.ts` - Main SST configuration with dynamic imports
 
## Code Standards
 
- Use TypeScript with strict mode enabled
- Shared code goes in `packages/core/` with proper exports configuration
- Functions go in `packages/functions/`
- Infrastructure should be split into logical files in `infra/`
 
## Monorepo Conventions
 
- Import shared modules using workspace names: `@my-app/core/example`

Здесь мы добавляем специфичные для проекта инструкции, и они будут общими для всей вашей команды.


Типы

opencode также поддерживает чтение файла AGENTS.md из нескольких расположений. И это служит разным целям.

Проект

Поместите AGENTS.md в корень вашего проекта для специфичных для проекта правил. Они применяются только тогда, когда вы работаете в этом каталоге или его подкаталогах.

Глобальный

Вы также можете иметь глобальные правила в файле ~/.config/opencode/AGENTS.md. Они применяются ко всем сессиям opencode.

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

Совместимость с Claude Code

Для пользователей, переходящих с Claude Code, OpenCode поддерживает файловые соглашения Claude Code в качестве резервных вариантов:

  • Правила проекта: CLAUDE.md в каталоге вашего проекта (используется, если нет AGENTS.md)
  • Глобальные правила: ~/.claude/CLAUDE.md (используется, если нет ~/.config/opencode/AGENTS.md)
  • Навыки: ~/.claude/skills/ — подробности см. в разделе Навыки агента

Чтобы отключить совместимость с Claude Code, задайте одну из этих переменных окружения:

export OPENCODE_DISABLE_CLAUDE_CODE=1        # Disable all .claude support
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills

Приоритет

Когда opencode запускается, он ищет файлы правил в следующем порядке:

  1. Локальные файлы, обходя вверх от текущего каталога (AGENTS.md, CLAUDE.md)
  2. Глобальный файл в ~/.config/opencode/AGENTS.md
  3. Файл Claude Code в ~/.claude/CLAUDE.md (если не отключено)

В каждой категории побеждает первый совпавший файл. Например, если у вас есть и AGENTS.md, и CLAUDE.md, используется только AGENTS.md. Аналогично, ~/.config/opencode/AGENTS.md имеет приоритет над ~/.claude/CLAUDE.md.


Пользовательские инструкции

Вы можете указать файлы пользовательских инструкций в вашем opencode.json или глобальном ~/.config/opencode/opencode.json. Это позволяет вам и вашей команде повторно использовать существующие правила вместо того, чтобы дублировать их в AGENTS.md.

Пример:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}

Вы также можете использовать удалённые URL для загрузки инструкций из сети.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}

Удалённые инструкции загружаются с таймаутом 5 секунд.

Все файлы инструкций объединяются с вашими файлами AGENTS.md.


Ссылки на внешние файлы

Хотя opencode не разбирает автоматически ссылки на файлы в AGENTS.md, вы можете добиться похожей функциональности двумя способами:

Использование opencode.json

Рекомендуемый подход — использовать поле instructions в opencode.json:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
}

Ручные инструкции в AGENTS.md

Вы можете научить opencode читать внешние файлы, предоставив явные инструкции в вашем AGENTS.md. Вот практический пример:

AGENTS.md
# TypeScript Project Rules
 
## External File Loading
 
CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.
 
Instructions:
 
- Do NOT preemptively load all references - use lazy loading based on actual need
- When loaded, treat content as mandatory instructions that override defaults
- Follow references recursively when needed
 
## Development Guidelines
 
For TypeScript code style and best practices: @docs/typescript-guidelines.md
For React component architecture and hooks patterns: @docs/react-patterns.md
For REST API design and error handling: @docs/api-standards.md
For testing strategies and coverage requirements: @test/testing-guidelines.md
 
## General Guidelines
 
Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.

Этот подход позволяет вам:

  • Создавать модульные, переиспользуемые файлы правил
  • Делиться правилами между проектами через симлинки или git-субмодули
  • Сохранять AGENTS.md лаконичным, ссылаясь на подробные руководства
  • Гарантировать, что opencode загружает файлы только тогда, когда они нужны для конкретной задачи

Совет: Для монорепозиториев или проектов с общими стандартами использование opencode.json с glob-шаблонами (например, packages/*/AGENTS.md) более удобно в сопровождении, чем ручные инструкции.