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

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

Cursor редагує файл.
Maguyva бачить репозиторій.

Cursor — це редактор. У монорепозиторії агенту все одно потрібна карта того, який файл важливий. Maguyva індексує вашу кодову базу і повертає її через MCP (семантика, AST, граф і текст), тож на «де відбувається автентифікація» ви отримуєте реальний потік автентифікації, а не сім тестових заглушок.

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

Cursor редагує те, на що ви вказали. Maguyva каже агенту, на який файл вказати.

Що робить кожен шар

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

// редактор

Cursor

Місце, де ви справді пишете код.

// ручний контекст

@-згадки + пінінг

Ручний контекст працює, поки репозиторій не стає завеликим.

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

Maguyva

Автоматичні факти про кодову базу через MCP.

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

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

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

Cursor — це редактор. Користуйтеся ним.

Проблема не в IDE. Автодоповнення табом, edit-with-AI, багатофайлові правки та .cursor/rules у Cursor чудові, і ви вже користуєтеся ними для:

  • Вбудованих підказок і edit-with-AI у відкритому файлі.
  • Багатофайлових правок, коли зміна локальна.
  • .cursor/rules для конвенцій репозиторію та стильових обмежень.
  • @-згадок, щоб підтягнути конкретний файл у контекст.

Продовжуйте так робити. Нічого з цього нікуди не зникає.

Але в реальному монорепозиторії (TypeScript із залежностями воркспейсів, Python-сервіси, змішані пакети) контекст агента ламається в ту мить, коли потрібний файл ще не потрапив у ваше поле зору.

Ручні виправлення, які ви вже пробували, — і де вони ламаються

Чотири ручні виправлення в парі зі своїм режимом відмови. Ліворуч — що ви робите сьогодні. Праворуч — де воно ламається.

// the fix

// запіньте файли

Ви @-згадуєте три файли, які, на вашу думку, важливі. Cursor акуратно редагує всередині них.

// where it breaks

// пінінг — це здогадка

Пінінг працює, коли ви вже знаєте, які файли задіяні. Весь сенс інструментів контексту — показати файли, про які ви навіть не здогадувалися.

// the fix

// вставте фрагменти

Ви вставляєте 200 рядків з іншого пакета в чат, щоб дати агенту достатньо контексту.

// where it breaks

// вставлений код застаріває

Фрагмент, який ви вставили о 9 ранку, не враховує ребейз, який ваш колега влив об 11-й. Агент редагує проти примарної версії пакета.

// the fix

// напишіть документ-контекст

Ви пишете файл .cursor/rules або markdown про архітектуру. Сьогодні він правильний.

// where it breaks

// документація застаріває швидше за код

Усе, що ви пишете вручну, з часом розходиться з реальністю. Джерело істини — код. Документ, що пояснює шар черг, правильний тиждень, а потім хибний назавжди.

// the fix

// зберігайте файли правил

Ви додаєте .cursor/rules для найменувань, лінту, команд збірки. Чудово для поведінки.

// where it breaks

// правила ≠ індекс

.cursor/rules — правильне місце для “завжди запускай pnpm tsc -b перед комітами”. Але це не індекс, який можна опитати, для кожного символу, файлу й місця виклику у вашому монорепозиторії.

Maguyva — це шар під усім цим

Це не заміна Cursor. Це шар контексту репозиторію, що тримається на підтримці MCP у Cursor.

  • Семантика + AST + граф + текст пошук за змістом, структурою, залежністю чи буквальним збігом. Кожен результат повертає шлях до файлу й номер рядка.
  • Крос-пакетний за замовчуванням місця виклику й імпортери в кожному пакеті монорепозиторію, а не лише у відкритому зараз.
  • Враховує гілку Maguyva бачить саме ту версію коду, яку редагує Cursor.
  • Доповнює, а не конкурує .cursor/rules продовжує робити свою справу. @-згадки продовжують робити свою. Maguyva заповнює прогалину, яку не заповнюють вони.

Cursor редагує файл, на який ви вказали.

Maguyva каже агенту, на який файл вказати.

Три робочі процеси для монорепозиторію

Крос-пакетно, крос-мовно. Обґрунтовано реальним графом викликів, а не grep'ом Cursor.

// workflow 01

Знайти потік автентифікації між пакетами, нічого не пінячи

cursor> де в цьому монорепозиторії відбувається автентифікація?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           token verify
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  rbac gate

 4 точки входу в 4 пакетах, відсортовано за щільністю місць виклику.
[exit 0]

Ви не запінили жодного файлу. Ви не вставляли фрагмент. В агента є чотири важливі файли в правильному порядку — і він може зробити обґрунтовану правку.

// workflow 02

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

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

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

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

// workflow 03

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

cursor> що викликає QueueDispatcher.publish у всьому монорепозиторії?

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← крос-мовно через gRPC-стаб
[exit 0]

Крос-пакетно, а для поліглотного репозиторію ще й крос-мовно, місця виклику з'являються прямо в результаті. Diff обґрунтований реальними імпортерами, а не grep'ом Cursor.

Налаштування з Cursor

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

  1. // step 01

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

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

  2. // step 02

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

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

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

    Не починайте одразу з усієї компанії. Почніть з одного репозиторію й одного перевірюваного запитання, як-от «що викликає formatInvoice у всіх пакетах?»