Salta ai contenuti

Regole

Impostare istruzioni personalizzate per opencode.

Puoi fornire istruzioni personalizzate a opencode creando un file AGENTS.md. Questo e simile a CLAUDE.md o alle regole di Cursor. Contiene istruzioni che verranno incluse nel contesto del LLM per personalizzare il suo comportamento per il tuo progetto specifico.


Inizializza

Per creare un nuovo file AGENTS.md, puoi eseguire il comando /init in opencode.

Questo scannerizzera il tuo progetto e tutto il suo contenuto per capire di cosa tratta il progetto e generera un file AGENTS.md con esso. Questo aiuta opencode a navigare meglio nel progetto.

Se hai un file AGENTS.md esistente, questo cerchera di aggiungerlo.


Esempio

Puoi anche creare questo file manualmente. Ecco un esempio di alcune cose che puoi inserire in un file AGENTS.md.

AGENTS.md
# Progetto Monorepo SST v3
Questo e un monorepo SST v3 con TypeScript. Il progetto usa spazi di lavoro bun per la gestione dei pacchetti.
## Struttura del progetto
- `packages/` - Contiene tutti i pacchetti dello spazio di lavoro (functions, core, web, ecc.)
- `infra/` - Definizioni di infrastruttura divise per servizio (storage.ts, api.ts, web.ts)
- `sst.config.ts` - Configurazione principale SST con importazioni dinamiche
## Standard di codice
- Usa TypeScript con modalita rigorosa abilitata
- Il codice condiviso va in `packages/core/` con la corretta configurazione delle esportazioni
- Le funzioni vanno in `packages/functions/`
- L'infrastruttura dovrebbe essere divisa in file logici in `infra/`
## Convenzioni del monorepo
- Importa moduli condivisi usando nomi di spazi di lavoro: `@my-app/core/example`

Qui aggiungiamo istruzioni specifiche del progetto e questo verra condiviso con il tuo team.


Tipi

opencode supporta anche la lettura del file AGENTS.md da piu posizioni. E questo serve scopi diversi.

Progetto

Quelli che abbiamo visto sopra, dove il file AGENTS.md e posizionato nella radice del progetto, sono regole specifiche del progetto. Queste si applicano solo quando stai lavorando in questa directory o sue sottodirectory.

Globale

Puoi anche avere regole globali in un file ~/.config/opencode/AGENTS.md. Questo viene applicato in tutte le sessioni opencode.

Dato che questo non viene confermato in Git o condiviso con il tuo team, raccomandiamo di usarlo per specificare qualsiasi regola personale che il LLM dovrebbe seguire.


Precedenza

Quindi, quando opencode si avvia, cerca:

  1. File locali navigando verso l’alto dalla directory corrente
  2. File globale controllando ~/.config/opencode/AGENTS.md

Se hai sia regole globali che specifiche del progetto, opencode le combinera insieme.


Istruzioni personalizzate

Puoi specificare file di istruzioni personalizzate nel tuo opencode.json o nel file globale ~/.config/opencode/opencode.json. Questo consente a te e al tuo team di riutilizzare le regole esistenti piuttosto che doverle duplicare in AGENTS.md.

Esempio:

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}

Puoi anche usare URL remoti per caricare istruzioni dal web.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}

Le istruzioni remote vengono recuperate con un timeout di 5 secondi.

Tutti i file di istruzioni vengono combinati con i tuoi file AGENTS.md.


Riferimento a file esterni

Sebbene opencode non analizzi automaticamente i riferimenti ai file in AGENTS.md, puoi ottenere una funzionalita simile in due modi:

Usando opencode.json

L’approccio consigliato e usare il campo instructions in opencode.json:

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
}

Istruzioni manuali in AGENTS.md

Puoi insegnare a opencode a leggere file esterni fornendo istruzioni esplicite nel tuo AGENTS.md. Ecco un esempio pratico:

AGENTS.md
# Regole del progetto TypeScript
## Caricamento di file esterni
CRITICO: Quando incontri un riferimento a un file (ad esempio @rules/general.md), usa il tuo strumento Read per caricarlo secondo necessita. Sono pertinenti per l'ATTIVITA SPECIFICA in questione.
Istruzioni:
- NON caricare preventivamente tutti i riferimenti - usa il caricamento lazy in base alle effettive necessita
- Una volta caricati, tratta il contenuto come istruzioni obbligatorie che sostituiscono quelle predefinite
- Segui i riferimenti in modo ricorsivo quando necessario
## Linee guida di sviluppo
Per lo stile del codice TypeScript e le migliori pratiche: @docs/typescript-guidelines.md
Per l'architettura dei componenti React e i pattern di hook: @docs/react-patterns.md
Per la progettazione di API REST e la gestione degli errori: @docs/api-standards.md
Per le strategie di test e i requisiti di copertura: @test/testing-guidelines.md
## Linee guida generali
Leggi il seguente file immediatamente poiche e pertinente per tutti i flussi di lavoro: @rules/general-guidelines.md.

Questo approccio ti consente di:

  • Creare file di regole modulari e riutilizzabili
  • Condividere regole tra progetti tramite collegamenti simbolici o sottomoduli git
  • Mantenere AGENTS.md conciso facendo riferimento a linee guida dettagliate
  • Assicurarsi che opencode carichi i file solo quando necessario per l’attivita specifica