Siirry sisältöön

Devin Desktop -käyttäjille

Devin Desktop muokkaa tiedostoa.
Maguyva näkee repon.

Devin Desktop (Windsurf-IDE) on editori ja Devin Local on agentti. Monorepossa agentti tarvitsee silti kartan siitä, mikä tiedosto on tärkeä. Maguyva indeksoi koodikantasi ja tarjoaa sen takaisin MCP:n yli (semanttinen, AST, graafi ja teksti), joten “missä autentikointi tapahtuu” palauttaa oikean autentikointivuon, ei seitsemää testitynkää.

Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.

Devin Desktop muokkaa sitä, mihin osoitat. Maguyva kertoo Devin Local -agentille, mihin tiedostoon osoittaa.

Mitä kukin kerros tekee

Neljä palaa. Jokaisella on tehtävänsä.

// editori

Devin Desktop

Missä sinä ja Devin Local oikeasti työskentelette.

// manuaalinen konteksti

@-maininnat + .devin/rules/

Manuaalinen konteksti toimii, kunnes repo kasvaa isoksi.

// koodikanta

Maguyva

Automaattiset koodikannan faktat MCP:n yli.

// kuka maksaa

Työtiloja, ei käyttäjäpaikkoja

Agenteista ei veloiteta käyttäjäpaikkamaksuja. Katso hinnoittelu

Devin Desktop on editori. Käytä sitä.

IDE ei ole ongelma. Devin Local, tab-täydennys, monitiedostomuokkaukset ja .devin/rules/ ovat erinomaisia, ja käytät niitä jo:

  • Rivinsisäiset ehdotukset ja Devin Local -muokkaukset avoimessa tiedostossa.
  • Monitiedostomuokkaukset, kun muutos on paikallinen.
  • .devin/rules/ repon käytäntöihin ja tyylisääntöihin.
  • @-maininnat tietyn tiedoston tuomiseksi kontekstiin.

Jatka sitä. Mikään niistä ei katoa minnekään.

Mutta oikeassa monorepossa (TypeScript työtilariippuvuuksineen, Python-palvelut, sekapaketit) agentin konteksti hajoaa heti, kun oleellinen tiedosto ei ole vielä Devin Local -agentin tutkassa.

Manuaaliset korjaukset, joita olet jo kokeillut, ja missä ne hajoavat

Neljä manuaalista korjausta yhdistettynä niiden vikaantumistapaan. Vasen = mitä teet tänään. Oikea = missä se hajoaa.

// the fix

// mainitse tiedostot

Mainitset @-merkillä kolme tiedostoa, joiden luulet olevan oleellisia. Devin Local muokkaa niiden sisällä siististi.

// where it breaks

// mainitseminen on arvaus

Se toimii, kun jo tiedät, mitkä tiedostot ovat mukana. Kontekstityökalujen koko pointti on tuoda esiin tiedostot, joita et osannut mainita.

// the fix

// liitä koodinpätkät

Liität 200 riviä toisesta paketista Devin Local -agentille antaaksesi sille tarpeeksi kontekstia.

// where it breaks

// liitetty koodi vanhenee

Klo 9 liittämäsi pätkä ei heijasta rebasea, jonka tiimikaverisi teki klo 11. Devin Local muokkaa pakettia, joka on jo haamuversio.

// the fix

// kirjoita kontekstidokumentti

Kirjoitat .devin/rules/-tiedoston tai arkkitehtuurimarkdownin. Se pitää paikkansa tänään.

// where it breaks

// dokumentit vanhenevat koodia nopeammin

Kaikki käsin kirjoitettu vanhenee vähitellen. Koodi on totuuden lähde. Jonoa kuvaava dokumentti on oikein viikon, sitten väärin loputtomiin.

// the fix

// pidä sääntötiedostot

Lisäät .devin/rules/-tiedoston nimeämiselle, lintaukselle ja build-komennoille. Loistavaa käytöksen ohjaamiseen.

// where it breaks

// säännöt ≠ indeksi

.devin/rules/ on oikea paikka lauseelle “aja aina pnpm tsc -b ennen committeja.” Se ei ole kysyttävä indeksi jokaisesta symbolista, tiedostosta ja kutsupaikasta monorepossasi.

Maguyva on kerros alla

Ei Devin Desktop -editorin korvaaja. Repokontekstin kerros, joka nojaa Devin Local -agentin MCP-tukeen.

  • Semanttinen + AST + graafi + teksti haku merkityksen, rakenteen, riippuvuuden tai kirjaimellisen tekstin perusteella. Jokainen osuma palauttaa tiedostopolun ja rivinumeron.
  • Pakettirajat ylittävä oletuksena kutsupaikat ja tuojat jokaisessa monorepon paketissa, ei vain siinä, joka on Devin Local -agentilla avoinna.
  • Haaratietoinen Maguyva näkee sen koodiversion, jota Devin Local muokkaa.
  • Täydentävä, ei kilpaileva .devin/rules/ jatkaa tehtäväänsä. @-maininnat jatkavat omaansa. Maguyva täyttää aukon, jota ne eivät täytä.

Devin Local muokkaa tiedostoa, johon osoitat.

Maguyva kertoo agentille, mihin tiedostoon osoittaa.

Kolme monorepo-työnkulkua

Pakettien ja kielten rajat ylittäen. Ankkuroitu oikeaan kutsugraafiin, ei Devin Local -agentin grepiin.

// workflow 01

Löydä autentikointivuo pakettien yli, mainitsematta mitään

devin> missä autentikointi tapahtuu tässä monorepossa?

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 aloituskohtaa 4 paketissa, järjestettynä kutsupaikkojen tiheyden mukaan.
[exit 0]

Et maininnut tiedostoa. Et liittänyt koodinpätkää. Devin Local -agentilla on ne neljä tiedostoa, jotka ovat oleellisia, oikeassa järjestyksessä, ja se voi tehdä ankkuroidun muokkauksen.

// workflow 02

Löydä oikea toteutus, ei testitynkää

devin> miten normalizePhoneNumber käsittelee E.164-muodon?

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

Nimet valehtelevat. Mockit peittävät oikean koodin. Maguyva järjestää oikean toteutuksen testimockin yläpuolelle, jokaisessa paketissa.

// workflow 03

Tarkista vaikutusalue ennen refaktorointia

devin> mikä kutsuu QueueDispatcher.publish-metodia koko monorepossa?

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← kielten välillä gRPC-tyngän kautta
[exit 0]

Pakettien ja kielten rajat ylittäen, kun repo on monikielinen, kutsupaikat tulevat esiin suoraan. Diffi on ankkuroitu oikeisiin tuojiin, ei Devin Local -agentin grepiin.

Asennus Devin Desktop -editorilla

Kolme vaihetta. Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.

  1. // step 01

    Indeksoi repo osoitteessa maguyva.ai

    Valitse monorepo, jossa puutteellinen konteksti on aiheuttanut eniten ongelmia.

  2. // step 02

    Lisää Maguyva MCP-palvelimeksi kohteessa Devin Desktop

    ~/.config/devin/mcp_config.json

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

    Kysy yksi kysymys, jonka vastauksen jo tiedät

    Älä aloita koko yrityksestäsi. Aloita yhdestä reposta ja yhdestä todennettavasta kysymyksestä, kuten “mikä kutsuu formatInvoice-funktiota pakettien yli?”