Il tuo primo progetto
Guida passo passo per creare il tuo primo progetto CodeCourier, configurare le impostazioni, impostare contesti e asset, aggiungere membri del team, configurare personas ed eseguire un workflow end-to-end.
Questa guida ti accompagna nella creazione di un progetto CodeCourier completamente configurato, da zero. Alla fine avrai un progetto con chiavi API, contesti, asset, session configuration, membri del team, personas, un workflow e un run completato con learning estratti. Ogni sezione si basa sulla precedente, quindi seguile nell’ordine.
Creare il progetto
Vai alla creazione del progetto
Dopo l’accesso, arrivi alla schermata di selezione del progetto. Se sei già all’interno di un progetto, clicca sul nome del tuo progetto nell’header della sidebar per tornare al selettore di progetto. Clicca su New Project.
Inserisci i dettagli del progetto
Fornisci le seguenti informazioni:
- Nome del progetto- Un nome leggibile per il tuo progetto, ad es., “E-commerce Backend” o “Design System”
- URL del repository GitHub - (Opzionale) L’URL HTTPS del repository su cui vuoi che gli agenti lavorino, ad es.,
https://github.com/your-org/your-repo. Questo abilita la creazione automatica dei branch e la generazione di PR.
Lo slug del progetto viene generato automaticamente dal nome. Ad esempio, “E-commerce Backend” diventa e-commerce-backend. Questo slug viene usato in tutti gli URL del progetto.
Conferma la creazione
Clicca su Create Project. CodeCourier crea il record del progetto, ti imposta come owner, inizializza le impostazioni del progetto con i valori predefiniti e ti reindirizza al dashboard del progetto. Il dashboard mostra inizialmente contatori azzerati per sandbox, run, workflow e membri.
Configurare le impostazioni del progetto
Vai in Project Settings (icona della chiave inglese nella sidebar). La pagina delle impostazioni è organizzata in diverse schede.
Chiavi API
La scheda API Keys è il punto in cui configuri le credenziali dei servizi esterni di cui il tuo progetto ha bisogno. Aggiungi chiavi per ogni provider:
- E2B - Obbligatorio per il provisioning delle sandbox. Ottienila dal tuo dashboard E2B.
- Anthropic - Obbligatorio se usi Claude Code come strumento CLI. È la chiave API Anthropic standard.
- Anthropic Token - Un token alternativo in stile OAuth per l’accesso all’API Anthropic.
- OpenRouter - Obbligatorio se usi OpenRouter per il routing dei modelli e l’accesso a più provider tramite un’unica chiave.
- OpenAI - Obbligatorio se usi strumenti CLI alimentati da OpenAI come Codex.
- GitHub - Obbligatorio per la creazione dei branch e la generazione di PR. Usa un personal access token con lo scope
repo.
Chiavi a livello di progetto
Impostazioni generali
La scheda delle impostazioni generali ti permette di configurare i comportamenti predefiniti:
- System prompt della sandbox- Testo aggiunto a ogni prompt di agente in questo progetto. Usalo per convenzioni a livello di progetto come “Usa sempre la modalità strict di TypeScript” o “Segui il nostro formato di messaggio di commit”.
- CLAUDE.md - Contenuto markdown scritto come file CLAUDE.md nella sandbox. Viene letto automaticamente da Claude Code e funge da istruzioni persistenti per ogni sessione.
Variabili d’ambiente
Definisci variabili d’ambiente iniettate in ogni sandbox del progetto. Ogni variabile ha una chiave, un valore e un flag secret. Le variabili secret vengono mascherate nell’interfaccia e trattate con particolare cura durante la trasmissione.
NODE_ENV=development
DATABASE_URL=postgresql://localhost:5432/mydb (marked as secret)
NEXT_PUBLIC_API_URL=https://api.example.comConfigurazione Git
Imposta il nome e l’e-mail dell’autore usati per i commit fatti dagli agenti all’interno delle sandbox. Questo mantiene i commit degli agenti identificabili nella tua cronologia Git:
Git Commit Name: CodeCourier Bot
Git Commit Email: bot@codecourier.devImpostare i contesti
I contesti sono documenti di istruzioni versionati legati a specifici tipi di sessione. Vai in Contexts a /p/[your-project]/context per gestirli.
Crea un contesto di sessione di issue
Clicca su New Context e seleziona il tipo di sessione issue. Scrivi il system prompt che l’agente di scan delle issue deve ricevere, includendo le priorità del tuo progetto, le aree di attenzione e qualsiasi pattern che deve cercare:
You are scanning a TypeScript/Next.js codebase for issues.
Focus on:
- Type safety violations and implicit any usage
- Missing error boundaries and unhandled promise rejections
- N+1 query patterns in data fetching
- Accessibility regressions in UI components
- Missing or inadequate test coverage
Prioritize issues that would affect production stability.
Generate specific, actionable titles and descriptions.Salva il contesto. CodeCourier crea la versione 1 di questo documento e lo associa alle sessioni di issue del tuo progetto.
Crea un contesto di sessione di learning
Crea un altro contesto per il tipo di sessione learning. Questo contesto istruisce l’agente di estrazione dei learning su come identificare e categorizzare i learning dai run completati:
You are extracting learnings from an AI agent's completed coding session.
Focus on:
- Mistakes the agent made that were corrected
- Project-specific patterns or conventions that emerged
- Tool usage gotchas specific to this codebase
- Architectural decisions with rationale
Categorize each learning as: preference, pattern, gotcha, tool, or architecture.
Only extract learnings that would be actionable in future sessions.Crea facoltativamente contesti per altri tipi di sessione
Ripeti per qualsiasi altro tipo di sessione che usi: merging, answering, evaluating e judging. Ogni tipo di contesto è indipendente; puoi aggiungerli man mano che introduci ogni capacità nel tuo workflow.
Versionamento dei contesti
Impostare gli asset
Gli asset (skill, command e script) estendono ciò che gli agenti possono fare all’interno della sandbox. Vai nella sezione Assets delle impostazioni del tuo progetto per crearli.
Crea uno skill
Clicca su New Skill. Dai allo skill un nome (ad es., “Project Conventions”) e aggiungi uno o più file. Ogni file ha un nome e un contenuto:
# Project Conventions
## TypeScript
- All files must use strict mode
- Never use `any` - use `unknown` and narrow it
- Prefer interface over type for object shapes
## Database (Convex)
- Never call .collect() on large tables
- Use paginate() for lists longer than 100 items
- Batch writes use ctx.scheduler.runAfter
## Testing
- All new functions need a Vitest unit test
- Integration tests go in __tests__/integration/
- Use MSW for HTTP mocking, never mock fetch directlySalva lo skill. Ora è disponibile per essere collegato a personas e session configuration.
Crea command utili
Crea command per le tue operazioni di agente più comuni. Ad esempio:
- Name:
run-tests- Expression:npx vitest run --reporter=verbose - Name:
typecheck- Expression:npx tsc --noEmit - Name:
lint- Expression:npx eslint . --ext .ts,.tsx
I command danno agli agenti alias stabili e specifici del progetto che rimangono coerenti anche se la configurazione del tuo tooling cambia.
Crea facoltativamente script
Gli script sono opzionali ma utili per l’automazione prima o dopo il run. Ad esempio, uno script pre-run potrebbe clonare il repository verso uno stato noto, oppure uno script post-run potrebbe eseguire un’ultima passata di lint e committare i problemi corretti automaticamente.
Configurare le Session Configuration
Le Session Configuration ti permettono di legare contesti e asset a ogni tipo di sessione. Queste impostazioni sono accessibili da Project Settings sotto la scheda dedicata a ogni tipo di sessione: Issue Session, Learning Session, Merge Session, Answering Session, Evaluator Session e Judge Session.
Configura la Issue Session
Vai in Issue Session in Project Settings. Qui puoi:
- Legare un contesto - Seleziona il contesto di issue che hai creato in precedenza. Questo documento di contesto verrà iniettato automaticamente in ogni sessione di scan delle issue.
- Selezionare skill- Scegli quali package di skill sono disponibili nelle sessioni di issue. Il tuo skill “Project Conventions” è una buona selezione predefinita.
- Selezionare command - Aggiungi i tuoi command
run-testsetypecheckin modo che l’agente di scan possa validare i propri risultati. - Impostare il prompt della sessione di issue - Un prompt di testo libero aggiuntivo anteposto al prompt di scoperta dell’utente.
Configura la Learning Session
Apri la scheda di configurazione Learning Session. Lega il tuo documento di contesto di learning e seleziona eventuali skill o command rilevanti per l’estrazione dei learning. L’agente di learning userà queste risorse quando analizza le sessioni completate.
Configura altri tipi di sessione secondo necessità
Ripeti il processo di legame per le sessioni Merge, Answering, Evaluator e Judge man mano che adotti quelle capacità. Ogni tipo di sessione è pienamente indipendente - puoi configurarle in modo incrementale man mano che il tuo workflow matura.
Aggiungere membri del team
Vai ai membri
Clicca su Members nella sidebar sotto la sezione Insights. Questa pagina mostra tutti i membri attuali e gli inviti in attesa.
Invita un membro del team
Clicca su Invite Member. Inserisci l’indirizzo e-mail della persona che vuoi invitare e seleziona il suo ruolo:
- Admin - Può gestire tutte le risorse e le impostazioni del progetto, invitare altri membri
- Member - Può creare e gestire le proprie sandbox, run e workflow
L’invito viene creato immediatamente. La persona invitata vedrà un invito in attesa quando accede a CodeCourier. Una volta che accetta, il suo stato passa da “pending” a “accepted” e ottiene l’accesso a tutte le risorse del progetto in base al suo ruolo.
Gestisci i membri esistenti
Dalla pagina dei membri puoi cambiare il ruolo di un membro o rimuoverlo dal progetto. L’owner del progetto non può essere rimosso ma può trasferire la proprietà rendendo owner un altro membro.
Limiti dei membri
Impostare le personas
Le personas definiscono come si comportano i tuoi agenti IA. Impostare alcune personas chiave prima di eseguire i workflow garantisce una qualità coerente. A ogni persona possono essere assegnati skill, command e script specifici tra gli asset che hai creato in precedenza.
Vai alle personas
Clicca su Personas nella sidebar. Questa pagina mostra tutte le personas configurate per il progetto.
Crea una persona designer
Clicca su New Persona e configurala:
- Name: “Senior Developer”
- Type: Designer
- Model: Scegli il tuo modello preferito (ad es.,
claude-sonnet-4-6per la velocità oclaude-opus-4-6per la qualità) - Thinking effort: Medium o High
- Instructions:
You are a senior full-stack developer. Follow these principles:
- Write clean, well-documented TypeScript code
- Prefer composition over inheritance
- Write tests for all new functions
- Use existing project patterns and conventions
- Keep changes focused and minimal- Skills: Seleziona il tuo skill “Project Conventions” e qualsiasi altro skill rilevante
- Commands: Abilita
run-tests,typecheckelint - Learnings: Abilita per includere i learning del progetto nel contesto
Crea una persona checker
Crea una seconda persona per la code review:
- Name: “Code Reviewer”
- Type: Checker
- Model: Usa un modello potente per la review (
claude-opus-4-6consigliato) - Thinking effort: High
- Instructions:
You are a thorough code reviewer. Evaluate the changes against:
- Correctness: Does the code do what was asked?
- Type safety: Are there any TypeScript errors or any-typed values?
- Edge cases: Are error states and boundary conditions handled?
- Testing: Are tests present and meaningful?
- Style: Does the code follow project conventions?
Return pass: true only if ALL criteria are met.
If rejecting, provide specific, actionable feedback.Crea facoltativamente personas specializzate
Valuta la creazione di personas aggiuntive per ruoli specifici:
- Investigator - Per task di ricerca che esplorano le codebase prima di apportare modifiche
- Planner - Per sessioni di issue e analisi della codebase con principi architetturali specifici
- Reviewer - Focalizzata su leggibilità, manutenibilità e accuratezza della code review
- Deep-dive - Per task di analisi approfondita che richiedono ragionamento esteso
Creare una sandbox
Anche se i workflow creano sandbox automaticamente, puoi anche creare sandbox autonome per l’esplorazione interattiva.
Crea una sandbox autonoma
Vai in Sandboxes nella sidebar e clicca su New Sandbox. Configura il sandbox template, il timeout e le risorse. Dagli un nome descrittivo come “Explore codebase” e fornisci un prompt iniziale.
Le sandbox autonome sono utili per task una tantum: indagare un bug, prototipare una soluzione o testare una modifica di configurazione prima di codificarla in un workflow.
Interagisci con la sandbox
Una volta che la sandbox è in esecuzione, puoi vedere lo stream di messaggi dell’agente in tempo reale. La pagina di dettaglio mostra l’intera cronologia della conversazione, lo stato della sandbox e qualsiasi stato di PR o di estrazione dei learning.
Eseguire un workflow end-to-end
Crea un workflow usando le tue personas
Vai in Workflows e crea un nuovo workflow Persona Pipeline:
- Name: “Full Review Pipeline”
- Type: Persona Pipeline
- Steps: Aggiungi la tua persona “Senior Developer” come primo step, poi la tua persona “Code Reviewer” come secondo step. Configura facoltativamente un loop tra loro con un numero massimo di iterazioni.
- Template: Seleziona il sandbox template corrispondente alla tua preferenza di strumento CLI
- Timeout: 30 minuti per step
Avvia un run
Clicca su Run sul tuo nuovo workflow. Inserisci un prompt che descriva la feature o il fix che vuoi:
Add a reusable DateRangePicker component to
components/ui/date-range-picker.tsx. It should:
1. Accept startDate, endDate, and onChange props
2. Use the existing react-day-picker dependency
3. Support both controlled and uncontrolled modes
4. Include proper TypeScript types
5. Follow the existing shadcn/ui component patterns
6. Add a Storybook story fileSpecifica un nome di branch (ad es., feat/date-range-picker) e conferma l’URL del repository GitHub se necessario. Clicca su Start Run.
Monitora e rivedi
Osserva l’avanzamento del run dalla pagina di dettaglio del run:
- La persona designer riceve il tuo prompt, esplora il repository e implementa la feature
- La persona checker revisiona l’implementazione rispetto ai tuoi criteri e approva o fornisce feedback
- In caso di rifiuto, il designer itera con il feedback fino all’approvazione o al raggiungimento del numero massimo di iterazioni
- I punteggi di qualità vengono registrati per ogni step - puoi vedere i punteggi di correttezza, type safety, stile del codice, copertura dei test e completezza nei dettagli dello step
- Al completamento, CodeCourier crea una PR sul branch specificato
Eseguire una sessione di issue con Answering
Le sessioni di issue possono far emergere domande e ipotesi che necessitano di risoluzione prima dell’implementazione. Ecco come usare la funzionalità Answering Session:
Avvia una sessione di issue
Vai in Issues nella sidebar e clicca su New Issue Session. Seleziona il branch che vuoi analizzare e fornisci un prompt di scoperta (o affidati al documento di contesto che hai configurato in precedenza). Avvia la sessione.
La sessione userà il contesto e gli asset di Issue Session che hai configurato in Project Settings. Al completamento, vedrai una lista di issue generate con titoli, descrizioni e priorità.
Rivedi le domande e avvia una Answering Session
Alcune issue possono presentare domande aperte o ipotesi non risolte - ad esempio, “Questo cache miss è accettabile, o dovremmo pre-riscaldare la cache?” Quando vedi tali domande collegate a una issue, clicca su Start Answering Session.
L’Answering Session crea una sandbox usando il tuo contesto di Answering Session configurato. L’agente riceve le domande aperte e le elabora, producendo risposte strutturate che vengono ricollegate alla issue. Queste risposte vengono poi passate al run di implementazione, così la persona designer non deve tirare a indovinare.
Esegui le issue
Con le domande risolte, clicca su Run su una issue (o seleziona più issue e crea una work chain). Il run di implementazione riceve il prompt suggerito della issue più eventuali risposte dall’Answering Session.
Visualizzare risultati e learning
Pull request
Dopo il completamento del run, controlla la pagina di dettaglio del run per lo stato della PR. Se il run era configurato per creare una PR, vedrai l’URL della PR che collega direttamente a GitHub. Lo stato della PR viene tracciato in tempo reale: creating, created, merged o failed. I risultati dei check CI appariranno nel pannello CI Checks man mano che la tua pipeline gira sul branch della PR.
Punteggi di qualità
Ogni run step completato mostra i suoi punteggi di qualità. Vai nella lista degli step del run e clicca su qualsiasi step per vedere il dettaglio di correttezza, type safety, stile del codice, copertura dei test, completezza e il punteggio composito. Il punteggio di qualità complessivo del run è visibile nella card di riepilogo del run.
Estrazione dei learning
Se l’estrazione dei learning è abilitata (configurata in Project Settings e tramite la configurazione della Learning Session), CodeCourier esegue uno step post-completamento che analizza la sessione dell’agente usando il documento di contesto di learning ed estrae learning strutturati. Vai in Learnings nella sidebar per vedere i record appena estratti.
Rivedi ogni learning in attesa:
- Approva i learning che catturano genuina conoscenza del progetto - verranno compilati e iniettati nelle sessioni future
- Rifiuta i learning errati, troppo generici o non applicabili
Utilizzo e costi
Vai in Usage nella sezione insights per un dettaglio dei costi. I record di utilizzo tracciano il consumo di token, la durata delle sandbox e i costi per servizio (Claude Code, E2B, Trigger.dev) fino al singolo run step. La pagina di analytics fornisce grafici e trend nel tempo.
Dashboard
Torna al Dashboard per vedere i contatori del progetto aggiornati. Il dashboard mostra il totale delle sandbox, le sandbox attive, il totale dei run, i run completati e falliti, il totale dei workflow, i membri del team e gli inviti in attesa. Le statistiche giornaliere tracciano le sandbox create, i run creati e completati, le iterazioni e i workflow creati.
Prossimi passi
Ora hai un progetto completamente configurato con contesti, asset, session configuration, personas e un workflow completo end-to-end. Ecco i prossimi passi consigliati per approfondire il tuo utilizzo:
Sandbox Management
Impara a mettere in pausa, riprendere e gestire il ciclo di vita delle sandbox.
Building Workflows
Crea pipeline custom e workflow multi-agente avanzati.
Issues & Work Chains
Scopri le issue della codebase con l'IA ed esegui i fix con le work chain.
Team Management
Configura ruoli, permessi e accesso al progetto per il tuo team.