# AGENTS.md повідомляє OpenCode ваші правила. Maguyva показує йому код.

Canonical source: https://maguyva.ai/uk/for-opencode

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

OpenCode бере з AGENTS.md те, як працювати, а по все інше звертається до MCP-серверів. Maguyva — віддалений MCP-сервер, який дає OpenCode карту вашого репозиторію з можливістю запитів, зі шляхами до файлів і номерами рядків.

> Один віддалений запис у mcp. Локально нічого не запускається.

## Що треба знати про OpenCode

Чотири факти саме про OpenCode.

### opencode.json

Додайте сервер у `mcp` в `opencode.json` проєкту або в `~/.config/opencode/opencode.json` для всіх проєктів.

### type: remote

OpenCode підключається до точки доступу Maguyva через HTTP. Локально нічого не запускається, Node.js не потрібен.

### Посилання на змінну середовища

OpenCode підставляє змінні середовища у свою конфігурацію, тож заголовок має вигляд `Bearer {env:MAGUYVA_API_KEY}`, а ключ не потрапляє у файл, який ви комітите.

### Обмежте за агентами

Кожен MCP-сервер додає в контекст описи інструментів. В OpenCode можна глобально вимкнути інструменти сервера glob-шаблоном на кшталт `"maguyva*": false` і ввімкнути їх знову лише для тих агентів, яким вони потрібні.

## AGENTS.md — це робоча домовленість. Користуйтеся ним.

```text
> /init
# сканує репозиторій і пише AGENTS.md
```

OpenCode читає `AGENTS.md` у корені проєкту і `~/.config/opencode/AGENTS.md` з особистими правилами. Якщо `AGENTS.md` немає, він бере `CLAUDE.md`. Тримайте в ньому:

- Команди збирання, тестів і lint.
- Домовленості й межі, яких агент має дотримуватися.
- Посилання на справді важливу документацію.

Скан у момент `/init` — це підсумок, а не індекс. Він не скаже OpenCode, хто викликає функцію, додану вчора.

## Де AGENTS.md уже замало

Три прогалини, які OpenCode закриває за допомогою grep і терпіння.

### // підсумок — це не індекс

AGENTS.md може назвати важливі пакети. Перелічити всі символи й місця виклику він не може, та й не повинен пробувати.

### // grep знаходить рядки, а не викликачів

Текстовий збіг не відрізняє справжній виклик від коментаря, мока чи однойменного методу іншого класу.

### // файл відстає

AGENTS.md правильний у день, коли його написали. Код і далі змінюється, а файл оновлюється, коли хтось про це згадає.

## Maguyva як віддалений MCP-сервер в OpenCode

Один запис у mcp дає OpenCode:

- **11 інструментів для вашого проіндексованого репозиторію**: семантичний, структурний (AST), графовий і текстовий пошук, а також пошук символів, залежні та отримання файлів.
- **Відповіді зі шляхами до файлів і номерами рядків**: у понад 285 мовах.
- **Однакові відповіді для будь-якої моделі**: OpenCode працює з багатьма постачальниками моделей. Maguyva повертає ту саму карту, хоч яка модель питає.

> AGENTS.md каже OpenCode, *як працювати*.
> Maguyva дає OpenCode *те, на що спертися*.

## Два робочі процеси

Питайте карту в тому самому терміналі.

### 01. Перейменувати спільний тип у кількох пакетах

```text
opencode> перейменуй OrderStatus на FulfillmentStatus

dependency_search("OrderStatus", dependents)
  23 посилання у 8 пакетах
structural_search(switch_statement, "OrderStatus")
  4 вичерпні switch

→ OpenCode править увесь список, разом зі switch.
[exit 0]
```

Вичерпні switch — саме ті місця, які текстовий пошук пропускає, а компілятор ловить пізно.

### 02. Відрізнити код від документації

```text
opencode> де читається FEATURE_BULK_EXPORT?

text_pattern_search("FEATURE_BULK_EXPORT")
  src/config/flags.ts:17
  src/export/bulk.ts:5
  docs/flags.md:40   ← лише документація

→ Два шляхи в коді, один застарілий документ.
[exit 0]
```

Точні збіги приходять зі шляхами, тож OpenCode відрізняє код від документації, перш ніж правити щось одне.

## Налаштування в OpenCode

Три кроки. Тариф Free: 3 репозиторії, До 50 тис. проіндексованих рядків репозиторію, без кредитної картки.

### 01. Проіндексуйте репозиторій на maguyva.ai

Оберіть той, який ви вже знаєте, щоб оцінити відповіді.

### 02. Додайте Maguyva в mcp в opencode.json

`opencode.json`

```json
{
  "mcp": {
    "maguyva": {
      "type": "remote",
      "url": "https://maguyva.tools/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Експортуйте ключ і перевірте підключення

Задайте `MAGUYVA_API_KEY` в оболонці, з якої запускається OpenCode. `opencode mcp list` показує всі налаштовані сервери; потім поставте запитання, відповідь на яке вже знаєте.

У [документації OpenCode про MCP](https://opencode.ai/docs/mcp-servers/) описано тайм-аути, OAuth і доступ до інструментів за агентами.

## Проіндексуйте один репозиторій, який ви вже добре знаєте.

Підключіть OpenCode через MCP і поставте запитання, яке можна перевірити.
