# AGENTS.md talar om för Codex hur den ska arbeta. Inte vad som finns där.

Canonical source: https://maguyva.ai/sv/for-codex

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

AGENTS.md sätter arbetsöverenskommelsen. MCP låter Codex använda verktyg. Maguyva är MCP-servern som ger Codex en sökbar karta över ditt repo, så att den första ändringen inte blir en gissning om filstrukturen.

> AGENTS.md är överenskommelsen. MCP är kanalen. Maguyva är kartan.

## Stacken, lager för lager

Fyra idéer. Var och en gör sitt jobb.

### AGENTS.md

Hur Codex ska uppträda i det här repot.

### MCP

Hur Codex når externa verktyg och kontext.

### Maguyva

MCP-servern som returnerar förankrade fakta om repot.

### Arbetsytor, inte användarlicenser

Agenter medför inga separata licensavgifter. [Se priser](https://maguyva.ai/sv/pricing)

## AGENTS.md är en arbetsöverenskommelse. Använd den.

Beständiga instruktioner hör hemma i [`AGENTS.md`](https://developers.openai.com/codex/guides/agents-md). Det är rätt plats för:

- Bygg-, test- och lintkommandon som Codex ska köra.
- “Gör alltid X / gör aldrig Y”-regler avgränsade till en katalog.
- Namngivningskonventioner och preferenser för refaktorering.
- Hänvisningar till de kanoniska beslutsloggarna och arkitekturanteckningarna.

Håll det kortfattat. Avgränsa det. Committa det.

Men `AGENTS.md` var aldrig tänkt att vara ett sökbart index över varje symbol, fil och anropsplats i ditt repo.

## Var AGENTS.md ensamt blir statiskt i stor skala

Fyra sätt det brister på, ett per kort.

### // överenskommelser är inget index

Att tala om för Codex *hur den ska arbeta* talar inte om *vad som finns*. Den första ändringen i ett okänt paket blir en gissning om filsökvägar och funktionsnamn. AGENTS.md kan inte lista varje symbol, och det vill du inte heller att den ska.

### // dokumentationen glider bort från koden

Ett AGENTS.md-block som beskriver din kötopologi stämmer tills någon inför en ny konsument. Koden är nu sanningen och dokumentationen låter säker men är föråldrad. Codex läser fel version.

### // namnbyte är ett grafproblem

”Vad refererar till den här klassen?” går inte att besvara från en markdown-fil. Codex tvingas antingen grep:a och hoppas i hela monorepot eller be dig klistra in anropsplatser i chatten.

### // kontextfönster är inte gratis

Att stoppa AGENTS.md full tills Codex ”kan tillräckligt” äter upp tokens som borde gå till resonemang. Efter några KB byter du bort svarskvalitet mot statisk kontextvolym.

## Så passar de tre lagren ihop

Codex-användare tänker redan i den här formen. Sidan bör göra det uppenbart.

- **AGENTS.md**: överenskommelser (hur Codex uppträder)
- **MCP**: kanalen (hur den når ut)
- **Maguyva**: kodbasfakta (vad den ser)

- **AGENTS.md**: hur Codex uppträder i det här repot.
- **MCP**: hur Codex når verktyg och kontext. [(spec)](https://modelcontextprotocol.io/docs/getting-started/intro)
- **Maguyva**: vad Codex ser när den ställer en fråga till kodbasen. Semantisk, AST-baserad, graf- och textsökning som returneras med filsökvägar och radnummer.

> AGENTS.md talar om för Codex *hur den ska arbeta*.
> Maguyva ger Codex *något att utgå från*.

## Tre arbetsflöden

Specifikt för Codex. Förankrat i den faktiska anropsgrafen, inte grep i Codex.

### 01. Döp om en delad klass, hitta alla beroenden först

```text
codex> döp om PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referenser i 7 paket
graph::importers(src/payments/client.ts)  9 importerare
graph::extends(PaymentClient)             2 subklasser (RetryClient, MockClient)

→ Codex föreslår en migrering med 21 ändringar, med fillistan direkt i svaret.
[exit 0]
```

Codex frågar Maguyva om beroenden *innan* den börjar redigera. Migreringslistan kommer tillbaka förankrad i den faktiska grafen, inte i vad Codex minns.

### 02. Hitta den verkliga implementationen, inte teststubben

```text
codex> hur hanterar normalizePhoneNumber E.164?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← verklig impl
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub
[exit 0]
```

Namn ljuger. Mockar skuggar verklig kod. Maguyva rankar den verkliga implementationen över testmocken.

### 03. Kontrollera påverkansradien innan en refaktorering

```text
codex> vad anropar QueueDispatcher.publish?

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

Paketöverskridande anropsplatser dyker upp direkt i flödet. Diffen är förankrad i verkliga importerare, inte grep i Codex.

## Installation i Codex CLI

Tre steg. Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kreditkort krävs.

### 01. Indexera ett repo på maguyva.ai

Välj ett du känner väl, så att du kan verifiera svaren.

### 02. Lägg till Maguyva som en MCP-server i din Codex-konfiguration

`~/.codex/config.toml`

```text
export MAGUYVA_API_KEY=mgv_xxxx
codex mcp add maguyva --url https://maguyva.tools/mcp --bearer-token-env-var MAGUYVA_API_KEY
```

```toml
[mcp_servers.maguyva]
url = "https://maguyva.tools/mcp"
bearer_token_env_var = "MAGUYVA_API_KEY"
```

### 03. Ställ en fråga vars svar du redan känner till

Börja inte med hela ditt företag. Börja med ett repo och en verifierbar fråga.

## Indexera ett repo du redan känner till.

Anslut Codex via MCP. Ställ en fråga vars svar du kan verifiera.
