// контекст
GEMINI.md
Как Gemini должен вести себя в этом репозитории.
Для пользователей Gemini CLI
GEMINI.md задаёт рабочий контекст. MCP позволяет Gemini обращаться к инструментам. Maguyva — это MCP-сервер, который даёт Gemini карту вашего репозитория с возможностью запроса, так что первая правка — не догадка о структуре файлов.
Тариф Free: 3 репозитория, До 50 тыс. проиндексированных строк, без карты.
GEMINI.md — это контекст. MCP — это канал. Maguyva — это карта.Четыре идеи. У каждой своя задача.
// контекст
Как Gemini должен вести себя в этом репозитории.
// транспорт
Как Gemini обращается к внешним инструментам и контексту.
// кодовая база
MCP-сервер, который возвращает обоснованные факты о репозитории.
// кто платит
Агенты не платят за места. Смотреть тарифы
Постоянные инструкции — место для них в 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, как работать.
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 в src/billing/* 1 в src/audit/* 1 в src/notifications/* [exit 0]
Места вызова между пакетами всплывают прямо в выводе. Дифф обоснован реальными импортёрами, а не grep'ом Gemini.
Три шага. Тариф Free: 3 репозитория, До 50 тыс. проиндексированных строк, без карты.
// step 01
Выберите тот, который хорошо знаете, чтобы можно было проверить ответы.
// step 02
// ~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Не начинайте сразу со всей компании. Начните с одного репозитория и одного проверяемого вопроса.