Перейти до вмісту

Для користувачів Gemini CLI

GEMINI.md каже Gemini ваші правила.
Але не ваш код.

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

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

GEMINI.md — це контекст. MCP — це канал. Maguyva — це карта.

Шаруватий стек

Чотири ідеї. У кожної своя робота.

// контекст

GEMINI.md

Як Gemini має поводитися в цьому репозиторії.

// транспорт

MCP

Як Gemini дотягується до зовнішніх інструментів і контексту.

// кодова база

Maguyva

MCP-сервер, що повертає обґрунтовані факти про репозиторій.

// хто платить

Робочі середовища, а не місця

Агенти не платять за місця. Переглянути ціни

GEMINI.md — це робочий контекст. Користуйтеся ним.

Постійні інструкції належать у GEMINI.md. Це правильне місце для:

  • Команд збірки, тестування й лінту, які має запускати Gemini.
  • Обмежень “завжди роби X / ніколи не роби Y”, прив'язаних до директорії.
  • Конвенцій найменувань і переваг щодо рефакторингу.
  • Посилань на канонічні журнали рішень і нотатки з архітектури.

Тримайте це стисло. Обмежуйте область. Комітьте.

Але GEMINI.md ніколи не задумувався як індекс, який можна опитати, для кожного символу, файлу й місця виклику у вашому репозиторії.

Де сам по собі GEMINI.md вичерпується

Чотири режими відмови, по одному на картку.

// контекст — це не індекс

Сказати Gemini як працювати — не те саме, що сказати що існує. Перша правка в незнайомому пакеті — це здогадка про шляхи файлів і назви функцій. GEMINI.md не може перелічити кожен символ, і ви б цього й не хотіли.

// документ розходиться з кодом

Блок GEMINI.md, що описує топологію ваших черг, правильний, поки хтось не додасть нового споживача. Тепер джерело істини — код, а документ упевнено застарів. Gemini читає не той.

// перейменування — це задача для графа

На запитання «що посилається на цей клас?» не відповість markdown-файл. Gemini або grep'ає й молиться по всьому монорепозиторію, або просить вас вставити місця виклику в чат.

// вікна контексту не безкоштовні

Велике вікно — це не те саме, що індекс, який можна опитати. Завантаження GEMINI.md, поки Gemini «не знатиме достатньо», усе одно обмінює бюджет міркувань на обсяг статичного контексту.

Як три шари поєднуються

Користувачі Gemini вже мислять у цій формі. Сторінка має зробити це очевидним.

GEMINI.md

контекст

як поводиться Gemini

MCP

канал

як він дотягується

Maguyva

факти про кодову базу

що він бачить

  • GEMINI.md як Gemini поводиться в цьому репозиторії.
  • MCP як Gemini дотягується до інструментів і контексту. (специфікація)
  • Maguyva що бачить Gemini, коли ставить запитання кодовій базі. Семантичний, AST, граф і текстовий пошук повертаються зі шляхами до файлів і номерами рядків.

GEMINI.md каже Gemini як працювати.

Maguyva дає Gemini те, від чого відштовхнутися.

Три робочі процеси

Специфічно для Gemini. Обґрунтовано реальним графом викликів, а не grep'ом Gemini.

// workflow 01

Перейменуйте спільний клас, спершу знайшовши всі залежні

gemini> перейменуй PaymentClient → BillingClient

graph::callers(PaymentClient)            12 посилань у 7 пакетах
graph::importers(src/payments/client.ts)  9 імпортерів
graph::extends(PaymentClient)             2 підкласи (RetryClient, MockClient)

 Gemini пропонує міграцію з 21 правки з переліком файлів прямо тут.
[exit 0]

Gemini запитує в Maguyva залежних перед тим, як почати редагувати. Список міграції повертається обґрунтованим реальним графом, а не пам'яттю Gemini.

// workflow 02

Знайти реальну реалізацію, а не тестову заглушку

gemini> як normalizePhoneNumber обробляє E.164?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← реальна реалізація
  test/util/phone.spec.ts:14  jest.mock(...)      ← заглушка
[exit 0]

Назви брешуть. Моки затіняють реальний код. Maguyva ранжує реальну реалізацію вище за тестовий мок.

// workflow 03

Перевірте радіус ураження перед рефакторингом

gemini> що викликає QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 in src/billing/*    1 in src/audit/*    1 in src/notifications/*
[exit 0]

Місця виклику з різних пакетів з'являються прямо в результаті. Diff обґрунтований реальними імпортерами, а не grep'ом Gemini.

Налаштування в Gemini CLI

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

  1. // step 01

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

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

  2. // step 02

    Додайте Maguyva як MCP-сервер у налаштуваннях Gemini CLI

    // ~/.gemini/settings.json
    {
      "mcpServers": {
        "maguyva": {
          "httpUrl": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 03

    Поставте одне запитання, відповідь на яке вже знаєте

    Не починайте одразу з усієї компанії. Почніть з одного репозиторію й одного перевірюваного запитання.