# AGENTS.md kertoo OpenCode-agentille säännöt. Maguyva näyttää sille koodin.

Canonical source: https://maguyva.ai/fi/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 lukee tiedostosta AGENTS.md, miten työskennellä, ja kutsuu kaikkeen muuhun MCP-palvelimia. Maguyva on etä-MCP-palvelin, joka antaa OpenCode-agentille kyseltävän kartan repostasi tiedostopolkuineen ja rivinumeroineen.

> Yksi etämerkintä mcp-kohtaan. Paikallisesti ei ajeta mitään.

## Mitä OpenCode-agentista pitää tietää

Neljä OpenCode-agentille ominaista asiaa.

### opencode.json

Lisää palvelin kohtaan `mcp` projektin tiedostossa `opencode.json`, tai kaikille projekteille tiedostoon `~/.config/opencode/opencode.json`.

### type: remote

OpenCode yhdistää Maguyva-päätepisteeseen HTTP:n yli. Paikallisesti ei ajeta mitään, eikä Node.js:ää tarvita.

### Viittaus ympäristömuuttujaan

OpenCode korvaa ympäristömuuttujat asetuksissaan, joten otsake on muotoa `Bearer {env:MAGUYVA_API_KEY}`, eikä avain päädy tiedostoon, jonka commitoit.

### Rajaa agenttikohtaisesti

Jokainen MCP-palvelin lisää kontekstiin työkalumäärittelyjä. OpenCode voi kytkeä palvelimen työkalut pois globaalisti globilla kuten `"maguyva*": false` ja takaisin päälle vain niille agenteille, jotka niitä tarvitsevat.

## AGENTS.md on työskentelysopimus. Käytä sitä.

```text
> /init
# skannaa repon ja kirjoittaa AGENTS.md:n
```

OpenCode lukee tiedoston `AGENTS.md` projektin juuresta ja henkilökohtaiset säännöt tiedostosta `~/.config/opencode/AGENTS.md`. Jos `AGENTS.md` puuttuu, se käyttää tiedostoa `CLAUDE.md`. Pidä siinä:

- Build-, testi- ja lint-komennot.
- Käytännöt ja rajat, joita agentin pitää noudattaa.
- Viittaukset olennaiseen dokumentaatioon.

Komennon `/init` aikainen skannaus on yhteenveto, ei indeksi. Se ei kerro OpenCode-agentille, kuka kutsuu eilen lisättyä funktiota.

## Missä AGENTS.md ei enää riitä

Kolme aukkoa, jotka OpenCode paikkaa grepillä ja kärsivällisyydellä.

### // yhteenveto ei ole indeksi

AGENTS.md voi nimetä tärkeät paketit. Se ei voi luetella jokaista symbolia ja kutsukohtaa, eikä sen pitäisi yrittääkään.

### // grep löytää merkkijonoja, ei kutsujia

Tekstiosuma ei erota todellista kutsua kommentista, mockista tai toisen luokan samannimisestä metodista.

### // tiedosto jää jälkeen

AGENTS.md pitää paikkansa sinä päivänä, kun se kirjoitetaan. Koodi liikkuu eteenpäin; tiedosto muuttuu, kun joku muistaa päivittää sen.

## Maguyva etä-MCP-palvelimena OpenCode-agentissa

Yksi mcp-kohdan merkintä antaa OpenCode-agentille:

- **11 työkalua indeksoituun repoosi**: semanttinen, rakenteellinen (AST-), graafi- ja tekstihaku sekä symbolihaku, riippuvaiset ja tiedostojen haku.
- **Vastaukset tiedostopoluilla ja rivinumeroilla**: yli 285 kielellä.
- **Samat vastaukset jokaiselle mallille**: OpenCode toimii monien mallitarjoajien kanssa. Maguyva palauttaa saman kartan riippumatta siitä, mikä malli kysyy.

> AGENTS.md kertoo OpenCode-agentille, *miten työskennellä*.
> Maguyva antaa OpenCode-agentille *jotain, mistä lähteä liikkeelle*.

## Kaksi työnkulkua

Kysy kartalta samassa päätteessä.

### 01. Nimeä jaettu tyyppi uudelleen pakettien yli

```text
opencode> nimeä OrderStatus uudelleen muotoon FulfillmentStatus

dependency_search("OrderStatus", dependents)
  23 viittausta 8 paketissa
structural_search(switch_statement, "OrderStatus")
  4 kattavaa switch-lausetta

→ OpenCode muokkaa koko listan switch-lauseet mukaan lukien.
[exit 0]
```

Kattavat switch-lauseet ovat juuri ne kohdat, jotka tekstihaku ohittaa ja kääntäjä huomaa myöhään.

### 02. Erota koodi dokumentaatiosta

```text
opencode> missä FEATURE_BULK_EXPORT luetaan?

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

→ Kaksi koodipolkua, yksi vanhentunut dokumentti.
[exit 0]
```

Tarkat osumat palaavat polkuineen, joten OpenCode erottaa koodin dokumentaatiosta ennen kuin muokkaa kumpaakaan.

## Asennus OpenCode-agentissa

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

### 01. Indeksoi repo osoitteessa maguyva.ai

Valitse jo tuntemasi repo, jotta voit arvioida vastauksia.

### 02. Lisää Maguyva opencode.json-tiedoston mcp-kohtaan

`opencode.json`

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

### 03. Vie avain ympäristöön ja tarkista yhteys

Aseta `MAGUYVA_API_KEY` siinä kuoressa, josta käynnistät OpenCode-agentin. `opencode mcp list` näyttää jokaisen määritetyn palvelimen; kysy sitten yksi kysymys, jonka vastauksen jo tiedät.

OpenCode-agentin [MCP-dokumentaatio](https://opencode.ai/docs/mcp-servers/) kattaa aikakatkaisut, OAuth-tunnistautumisen ja agenttikohtaisen työkalujen käytön.

## Indeksoi yksi repo, jonka jo tunnet.

Yhdistä OpenCode MCP:n yli ja kysy yksi kysymys, jonka voit tarkistaa.
