Přeskočit na obsah

Pro uživatele nástroje Devin Desktop

Devin Desktop edituje soubor.
Maguyva vidí repozitář.

Devin Desktop (IDE Windsurf) je editor a Devin Local je agent. V monorepu agent pořád potřebuje mapu toho, který soubor je důležitý. Maguyva indexuje vaši codebase a vrací ji přes MCP (sémantika, AST, graf a text), takže „kde se řeší auth“ vrátí skutečný auth flow, ne sedm testovacích stubů.

Free tarif: 3 repozitáře, Až 50K zaindexovaných řádků repa, bez kreditní karty.

Devin Desktop edituje to, na co ukážete. Maguyva řekne Devin Local, na co má ukázat.

Co dělá každá vrstva

Čtyři části. Každá má svůj úkol.

// editor

Devin Desktop

Kde vy a Devin Local skutečně pracujete.

// manuální kontext

@ zmínky + .devin/rules/

Manuální kontext funguje, dokud repozitář nezačne být velký.

// kódová základna

Maguyva

Automatická fakta o kódové základně přes MCP.

// kdo platí

Za pracovní prostor, ne za uživatele

Za agenty se neúčtují samostatné licenční poplatky. Zobrazit ceník

Devin Desktop je editor. Používejte ho.

IDE není problém. Devin Local, doplňování textu, editace více souborů najednou a .devin/rules/ jsou skvělé a už je používáte pro:

  • Inline návrhy a edity Devin Local v otevřeném souboru.
  • Editace více souborů, když je změna lokální.
  • .devin/rules/ pro konvence repozitáře a stylistická pravidla.
  • @-zmínky, kterými vtáhnete konkrétní soubor do kontextu.

Pokračujte v tom. Nic z toho nezmizí.

Ale ve skutečném monorepu (TypeScript se závislostmi mezi workspaces, Python služby, smíšené balíčky) se agentův kontext rozpadne ve chvíli, kdy relevantní soubor ještě není na radaru Devin Local.

Manuální opravy, které jste už zkusili, a kde selhávají

Čtyři ruční postupy a jejich slabá místa. Vlevo = co děláte dnes. Vpravo = kde to selže.

// the fix

// zmiňte soubory

Pomocí @ zmíníte tři soubory, o kterých si myslíte, že jsou důležité. Devin Local v nich edituje čistě.

// where it breaks

// zmínění je odhad

Funguje to, když už víte, které soubory jsou zapojené. Celý smysl kontextových nástrojů je ukázat soubory, o kterých jste nevěděli, že je máte zmínit.

// the fix

// vložte úryvky

Vložíte 200 řádků z jiného balíčku do Devin Local, aby měl dost kontextu.

// where it breaks

// vložený kód zastará

Úryvek, který jste vložili v 9 ráno, neodráží rebase, který kolega odeslal v 11. Devin Local edituje proti fantomové verzi balíčku.

// the fix

// napište kontextový dokument

Napíšete soubor .devin/rules/ nebo architektonický markdown. Dnes to sedí.

// where it breaks

// dokumentace zastarává rychleji než kód

Cokoli napíšete ručně, časem zastará. Kód je zdroj pravdy. Dokument popisující vrstvu fronty je správný tak týden, pak už navždy ne.

// the fix

// nechte si soubory s pravidly

Přidáte .devin/rules/ pro pojmenování, lint a build příkazy. Skvělé pro chování.

// where it breaks

// pravidla ≠ index

.devin/rules/ je správné místo pro „vždy spusť pnpm tsc -b před commitem.“ Není to prohledávatelný index každého symbolu, souboru a místa volání ve vašem monorepu.

Maguyva je vrstva pod tím

Není to náhrada za Devin Desktop. Je to vrstva kontextu repozitáře, která se napojuje na MCP podporu Devin Local.

  • Sémantika + AST + graf + text hledejte podle významu, struktury, závislosti nebo doslovného textu. Každý zásah vrátí cestu k souboru a číslo řádku.
  • Napříč balíčky ve výchozím nastavení místa volání a importéry napříč všemi balíčky v monorepu, ne jen tím, co má Devin Local zrovna otevřené.
  • Zohledňuje větev Maguyva vidí tu verzi kódu, kterou Devin Local zrovna edituje.
  • Doplňkové, ne konkurenční .devin/rules/ dál dělá svou práci. @-zmínky dál dělají svou. Maguyva vyplňuje mezeru, kterou nepokrývají.

Devin Local edituje soubor, na který ukážete.

Maguyva agentovi řekne, na co má ukázat.

Tři workflow napříč monorepem

Napříč balíčky, napříč jazyky. Podložené skutečným grafem volání, ne grepem Devin Local.

// workflow 01

Najděte auth flow napříč balíčky, aniž byste cokoli zmiňovali

devin> kde se v tomhle monorepu řeší autentizace?

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 vstupní body napříč 4 balíčky, seřazené podle hustoty míst volání.
[exit 0]

Nezmínili jste soubor. Nevložili jste úryvek. Devin Local má čtyři důležité soubory, ve správném pořadí, a může udělat podložený edit.

// workflow 02

Najděte skutečnou implementaci, ne testovací stub

devin> jak normalizePhoneNumber zachází s E.164?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← skutečná impl
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← stub
[exit 0]

Jména lžou. Mocky zastiňují skutečný kód. Maguyva řadí skutečnou implementaci nad testovací mock, napříč každým balíčkem.

// workflow 03

Zkontrolujte rozsah dopadu, než refaktorujete

devin> co volá QueueDispatcher.publish napříč monorepem?

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← napříč jazyky přes gRPC stub
[exit 0]

Napříč balíčky, a napříč jazyky, pokud máte polyglotní repozitář, se místa volání objeví přímo v textu. Diff je podložený skutečnými importéry, ne grepem Devin Local.

Nastavení v nástroji Devin Desktop

Tři kroky. Free tarif: 3 repozitáře, Až 50K zaindexovaných řádků repa, bez kreditní karty.

  1. // step 01

    Indexujte repozitář na maguyva.ai

    Vyberte monorepo, kde vám chybějící kontext působil největší potíže.

  2. // step 02

    Přidejte Maguyva jako server MCP v nástroji Devin Desktop

    ~/.config/devin/mcp_config.json

    {
      "mcpServers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
          }
        }
      }
    }
  3. // step 03

    Položte jednu otázku, jejíž odpověď už znáte

    Nezačínejte s celou firmou. Začněte jedním repozitářem a jednou ověřitelnou otázkou, třeba „co volá formatInvoice napříč balíčky?“