Creare Contesti

Guida passo passo per creare Documenti di contesto in CodeCourier, scrivere contenuto markdown efficace, pubblicare la tua prima versione e collegare i Contesti a persona e session type.

8 min letto
contextscreatemarkdown

Questa guida ti accompagna nella creazione di un Documento di contesto da zero - dalla navigazione verso la pagina dei Contesti, alla scrittura di contenuto markdown ben strutturato, alla pubblicazione della tua prima versione, fino al collegamento del Contesto ai session type o alle persona che devono riceverlo.

Navigare verso la pagina dei Contesti

I Contesti si trovano nella sidebar del progetto. Cerca la voce Contesti nel pannello di navigazione a sinistra. Se non la vedi, assicurati di avere almeno accesso Membro al progetto. La pagina dei Contesti si trova in /p/{projectId}/context.

La pagina elenca tutti i Contesti esistenti nel progetto, mostrando per ciascuno il nome, la descrizione, il numero di versioni pubblicate e la data di pubblicazione della versione attiva. Se non è ancora stato creato alcun Contesto, vedrai uno stato vuoto con un pulsante Crea Contesto in evidenza.

Creare un nuovo Contesto

1

Apri la finestra di creazione

Clicca su + Crea Contestonell’angolo in alto a destra della pagina dei Contesti. Si apre una finestra che chiede i metadati di base del Contesto.

2

Inserisci un nome (obbligatorio)

Dai al Contesto un nome descrittivo che rifletta il suo argomento. I nomi validi comunicano l’intento a colpo d’occhio:

  • Architettura del progetto - panoramica dello stack completo e convenzioni
  • Standard di coding - regole di stile, configurazione TypeScript, linting
  • Checklist di sicurezza - requisiti OWASP, regole di sanitizzazione degli input
  • Riferimento API - endpoint chiave, pattern di autenticazione, rate limit
  • Convenzioni di test - setup Vitest, pattern di mock, obiettivi di coverage

I nomi non possono essere vuoti e vengono validati all’invio. Puoi rinominare il Contesto più tardi dalla sua pagina di dettaglio.

3

Aggiungi una descrizione (opzionale ma consigliata)

La descrizione appare nella pagina elenco dei Contesti e nei menu a tendina di binding in tutte le impostazioni del progetto. Una descrizione chiara aiuta i membri del team a capire quale Contesto collegare a un session type senza dover aprire e leggere il contenuto completo. Ad esempio:

“Panoramica architetturale completa dello stack Next.js + Convex + Clerk, incluse le convenzioni sui file e il flusso dei dati. Da iniettare in tutte le sessioni Designer.”

4

Invia il modulo

Clicca su Crea. Vieni reindirizzato alla pagina di dettaglio del Contesto dove puoi scrivere il contenuto markdown completo e pubblicare la tua prima versione.

Scrivere il contenuto del Contesto

La pagina di dettaglio del Contesto contiene un editor markdown completo. Il contenuto che scrivi qui è esattamente ciò che viene iniettato nelle sessioni sandbox. Scrivilo allo stesso modo in cui scriveresti un file CLAUDE.md - chiaramente strutturato, con intestazioni per la navigazione e punti elenco per regole facilmente scorribili.

Cosa includere

Un contenuto di Contesto efficace è specifico e azionabile. Gli agenti performano meglio quando hanno regole concrete e non ambigue piuttosto che linee guida vaghe. Struttura il tuo contenuto con:

  • Una sezione panoramica che descrive lo stack tecnologico ad alto livello
  • Sezioni sulle convenzioni dei file che elencano dove risiedono i diversi tipi di file
  • Standard di coding che coprono naming, pattern e anti-pattern da evitare
  • Vincoli chiave usando un linguaggio esplicito “mai” e “sempre”
  • Dipendenze importanti o configurazioni di cui gli agenti devono essere a conoscenza

Esempio di contenuto di Contesto

Di seguito un esempio di Contesto Architettura del progetto ben scritto per un’applicazione TypeScript full-stack:

project-architecture-context.md
# Project Architecture

This is a Next.js 16 application with:
- **Frontend**: React 19, TypeScript, Tailwind CSS, shadcn/ui
- **Backend**: Convex (reactive database + server functions)
- **Auth**: Clerk

## Coding Standards
- Always use TypeScript strict mode
- Prefer server components over client components
- Use Convex mutations for all data writes
- Never use `dangerouslySetInnerHTML` without sanitization

## File Conventions
- Components: PascalCase in `/components/`
- Hooks: camelCase with `use` prefix in `/hooks/`
- Utils: camelCase in `/lib/`

## Convex Rules
- Never use `.collect()` on large tables - use `.take(N)` or paginate
- Batch work goes to `ctx.scheduler.runAfter` to avoid timeout
- Mutations validate input with Convex validators, not Zod

## Next.js Specifics
- The middleware file is `proxy.ts`, NOT `middleware.ts`
- All API routes live in `/app/api/`
- Use `generateStaticParams` for static paths, not `getStaticPaths`

## Testing
- Unit tests: Vitest with `@testing-library/react`
- E2E tests: Playwright in `/e2e/`
- Run `bun test` before every commit

Mantieni il contenuto mirato

Resisti alla tentazione di riversare l’intero wiki della codebase in un unico Contesto. Gli agenti hanno finestre di contesto limitate. Scrivi informazioni mirate e pertinenti e crea Contesti separati per domini distinti (architettura, sicurezza, test) invece di un unico documento enorme.

Pubblicare la tua prima versione

1

Scrivi o incolla il tuo contenuto

Inserisci il contenuto markdown nell’editor sulla pagina di dettaglio del Contesto. L’editor supporta un’anteprima live così puoi vedere come verrà renderizzato il contenuto.

2

Clicca su Pubblica

Clicca sul pulsante Pubblica per creare la versione 1 di questo Contesto. Alla pubblicazione, CodeCourier crea un nuovo record di versione con stato active e registra il timestamp corrente e la tua identità utente come autore della pubblicazione.

3

Verifica la versione attiva

Dopo la pubblicazione, la pagina mostra il numero di versione e la data di pubblicazione nel pannello di cronologia delle versioni. Il badge sulla versione attiva mostra Attiva. Questa è la versione che verrà iniettata nelle sandbox.

Modifiche non pubblicate

Se modifichi il contenuto senza cliccare su Pubblica, le tue modifiche vengono salvate come bozza. La versione attiva nelle sandbox rimane la versione precedentemente pubblicata finché non pubblichi di nuovo. L’editor mostra un indicatore “Modifiche non pubblicate” quando la tua bozza differisce dalla versione attiva.

Visualizzare la cronologia delle versioni

Il pannello Cronologia delle versioni nella pagina di dettaglio del Contesto elenca ogni versione pubblicata in ordine cronologico inverso. Ogni voce mostra:

  • Il numero di versione (v1, v2, v3, …)
  • Il timestamp di pubblicazione
  • Chi l’ha pubblicata (nome visualizzato dell’utente)
  • Il badge di stato attivo o inattivo

Clicca su una versione qualsiasi per vederne il contenuto in modalità di sola lettura. Questo ti permette di confrontare la versione attiva corrente con le versioni storiche per capire cosa è cambiato.

Collegare un Contesto a una persona

Per collegare un Contesto a una persona specifica, naviga alla pagina di dettaglio della persona in /p/{projectId}/personas/{personaId} e apri il tab Contesto. Da lì, usa il menu a tendina per selezionare il Contesto che vuoi che questa persona usi. Una volta salvato, ogni sessione eseguita da questa persona inietterà il Contesto collegato della persona invece del default del session type.

L'override della persona ha la precedenza

Impostare un Contesto su una persona sovrascrive il default del session type. Se vuoi che una persona non usi alcun Contesto (anche quando il session type ha un default), devi cancellare esplicitamente il binding di Contesto della persona invece di lasciarlo non impostato - un binding di persona non impostato ricade sul default del session type.

Collegare un Contesto a un session type

I binding a livello di session type vengono gestiti dalle Impostazioni del progetto. Ogni session type ha il proprio tab di setup:

  • Setup Answering - /p/{id}/answering-setup
  • Setup Issues - /p/{id}/issues-setup
  • Setup Learning - /p/{id}/learning-setup
  • Setup Merging - /p/{id}/merging-setup
  • Setup Evaluator - /p/{id}/evaluator-setup
  • Setup Judge - /p/{id}/judge-setup

In ciascun tab di setup, trova il campo Contesto e seleziona il Contesto che vuoi che tutte le sessioni di quel tipo ricevano per default. Il binding viene salvato immediatamente alla selezione.

Prossimi passi