# AGENTS.md sagt OpenCode deine Regeln. Maguyva zeigt ihm den Code.

Canonical source: https://maguyva.ai/de/for-opencode

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).

OpenCode liest in AGENTS.md, wie es arbeiten soll, und ruft für alles andere MCP-Server auf. Maguyva ist ein Remote-MCP-Server, der OpenCode eine abfragbare Karte deines Repos gibt, mit Dateipfaden und Zeilennummern.

> Ein Remote-Eintrag unter mcp. Lokal läuft nichts.

## Was du über OpenCode wissen musst

Vier Fakten speziell für OpenCode.

### opencode.json

Füg den Server unter `mcp` in der `opencode.json` deines Projekts hinzu oder in `~/.config/opencode/opencode.json` für alle Projekte.

### type: remote

OpenCode verbindet sich per HTTP mit dem Endpunkt von Maguyva. Lokal läuft nichts, und Node.js wird nicht gebraucht.

### Eine Umgebungsvariablen-Referenz

OpenCode ersetzt Umgebungsvariablen in seiner Konfiguration, also lautet der Header `Bearer {env:MAGUYVA_API_KEY}` und der Schlüssel bleibt aus der Datei heraus, die du committest.

### Pro Agent eingrenzen

Jeder MCP-Server fügt dem Kontext Tool-Definitionen hinzu. OpenCode kann die Tools eines Servers global per Glob wie `"maguyva*": false` abschalten und nur für die Agenten wieder einschalten, die sie brauchen.

## AGENTS.md ist eine Arbeitsvereinbarung. Nutz sie.

```text
> /init
# scannt das Repo und schreibt AGENTS.md
```

OpenCode liest `AGENTS.md` im Projektstamm und `~/.config/opencode/AGENTS.md` für persönliche Regeln. Ohne `AGENTS.md` greift es auf `CLAUDE.md` zurück. Nutz sie für:

- Build-, Test- und Lint-Befehle.
- Konventionen und Grenzen, die der Agent respektieren soll.
- Verweise auf die Dokumente, die zählen.

Ein Scan zum Zeitpunkt von `/init` ist eine Zusammenfassung, kein Index. Er sagt OpenCode nicht, wer eine Funktion aufruft, die gestern hinzugekommen ist.

## Wo AGENTS.md an seine Grenzen stößt

Drei Lücken, die OpenCode mit grep und Geduld füllt.

### // eine Zusammenfassung ist kein Index

AGENTS.md kann die wichtigen Pakete benennen. Es kann nicht jedes Symbol und jede Aufrufstelle auflisten, und es sollte es auch nicht versuchen.

### // grep findet Strings, keine Aufrufer

Ein Text-Treffer kann einen echten Aufruf nicht von einem Kommentar, einem Mock oder einer gleichnamigen Methode einer anderen Klasse unterscheiden.

### // die Datei driftet

AGENTS.md stimmt an dem Tag, an dem es geschrieben wird. Der Code bewegt sich weiter; die Datei ändert sich, wenn jemand daran denkt.

## Maguyva als Remote-MCP-Server in OpenCode

Ein Eintrag unter mcp gibt OpenCode:

- **11 Tools für dein indexiertes Repo**: semantische, strukturelle (AST-), Graph- und Textsuche, plus Symbol-Lookup, Abhängige und Dateiabruf.
- **Antworten mit Dateipfaden und Zeilennummern**: über 285+ Sprachen.
- **Dieselben Antworten für jedes Modell**: OpenCode arbeitet mit vielen Modellanbietern. Maguyva liefert dieselbe Karte, egal welches Modell fragt.

> AGENTS.md sagt OpenCode, *wie es arbeiten soll*.
> Maguyva gibt OpenCode *etwas, womit es arbeiten kann*.

## Zwei Workflows

Frag die Karte im selben Terminal.

### 01. Einen gemeinsamen Typ paketübergreifend umbenennen

```text
opencode> benenne OrderStatus in FulfillmentStatus um

dependency_search("OrderStatus", dependents)
  23 Referenzen in 8 Paketen
structural_search(switch_statement, "OrderStatus")
  4 erschöpfende switches

→ OpenCode bearbeitet die vollständige Liste, switches inklusive.
[exit 0]
```

Die erschöpfenden switches sind genau die, die eine Textsuche übersieht und der Compiler erst spät bemerkt.

### 02. Code von Doku unterscheiden

```text
opencode> wo wird FEATURE_BULK_EXPORT gelesen?

text_pattern_search("FEATURE_BULK_EXPORT")
  src/config/flags.ts:17
  src/export/bulk.ts:5
  docs/flags.md:40   ← nur Doku

→ Zwei Codepfade, ein veraltetes Dokument.
[exit 0]
```

Exakte Treffer kommen mit Pfaden zurück, damit OpenCode Code von Doku unterscheiden kann, bevor es eines davon bearbeitet.

## Einrichtung in OpenCode

Drei Schritte. Free-Stufe: 3 Repositories, Bis zu 50K indexierte Repo-Zeilen, keine Kreditkarte.

### 01. Ein Repo auf maguyva.ai indexieren

Wähl eins, das du schon kennst, damit du die Antworten bewerten kannst.

### 02. Maguyva unter mcp in opencode.json hinzufügen

`opencode.json`

```json
{
  "mcp": {
    "maguyva": {
      "type": "remote",
      "url": "https://maguyva.tools/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Schlüssel exportieren und die Verbindung prüfen

Setz `MAGUYVA_API_KEY` in der Shell, die OpenCode startet. `opencode mcp list` zeigt jeden konfigurierten Server; dann stell eine Frage, deren Antwort du schon kennst.

Die [MCP-Doku](https://opencode.ai/docs/mcp-servers/) von OpenCode erklärt Timeouts, OAuth und Tool-Zugriff pro Agent.

## Indexiere ein Repo, das du schon kennst.

Verbinde OpenCode über MCP und stell eine Frage, die du überprüfen kannst.
