# Goa > Goa è un framework Go che offre agli agenti di sviluppo meno codice da scrivere e un unico contratto su cui ragionare. Genera server HTTP, gRPC e JSON-RPC, client tipizzati, validazione e specifiche API. Crea agenti AI, server MCP e tool registry con Goa-AI. ## Why use Goa with a coding agent? Un agente scrive codice per inferenza; Goa deriva il codice dei contratti dal design. Server, client, codec e schemi generati sono codice che il modello non deve scrivere separatamente. Il design concentra il contesto, la struttura resta coerente e il compilatore segnala le implementazioni incompatibili dopo una modifica. L’agente scrive comunque logica di business e test. ## Goa and Goa-AI Goa progetta e genera API di servizi Go: HTTP, gRPC, JSON-RPC, client, validazione e specifiche. Goa-AI estende lo stesso DSL e generatore con tool tipizzati, agenti AI, completion strutturate, valutazioni e server MCP. Fornisce anche un runtime per agenti e un server tool registry da ospitare. Puoi iniziare con entrambi; Goa-AI non richiede un servizio Goa distribuito separatamente. ## Install the Goa service designer skill Run in your application repository with Node.js and npm available: ```bash npx skills add goadesign/goa --skill goa-service-designer ``` For Goa-AI, also read the generated AGENTS_QUICKSTART.md in your application. ## Start here - [Develop with a coding agent](https://goa.design/it/docs/ai-development/index.md): workflow, generated-code boundaries, and a shared service/agent example. ## Documentation ### Goa - [Avvio rapido](https://goa.design/it/docs/1-goa/quickstart/index.md): Complete guide to installing Goa and building your first service - from setup to running a working HTTP endpoint. - [Guida HTTP](https://goa.design/it/docs/1-goa/http-guide/index.md): Complete guide to HTTP transport in Goa - routing, content negotiation, WebSocket, SSE, CORS, and static content. - [Guida gRPC](https://goa.design/it/docs/1-goa/grpc-guide/index.md): Complete guide to gRPC transport in Goa - service design, streaming patterns, error handling, and Protocol Buffer integration. - [Gestione degli errori](https://goa.design/it/docs/1-goa/error-handling/index.md): Complete guide to error handling in Goa - defining errors, transport mapping, custom types, and best practices. - [Intercettatori](https://goa.design/it/docs/1-goa/interceptors/index.md): Complete guide to interceptors and middleware in Goa - type-safe Goa interceptors, HTTP middleware, and gRPC interceptors. - [Produzione](https://goa.design/it/docs/1-goa/production/index.md): Production-ready patterns for Goa services - observability, security, and common deployment patterns. - [Riferimento DSL](https://goa.design/it/docs/1-goa/dsl-reference/index.md): Complete reference for Goa's design language - data modeling, services, methods, HTTP/gRPC mapping, and security. - [Generazione del codice](https://goa.design/it/docs/1-goa/code-generation/index.md): Complete guide to Goa's code generation - commands, process, generated code structure, and customization options. ### Goa-AI - [Avvio rapido](https://goa.design/it/docs/2-goa-ai/quickstart/index.md): Genera ed esegui un agente IA locale, poi aggiungi planner, tool tipizzati e integrazione con il modello. - [Set di strumenti](https://goa.design/it/docs/2-goa-ai/toolsets/index.md): Scopri tipi di toolset, modelli di esecuzione, validazione, recupero strutturato dagli errori e cataloghi degli strumenti in Goa-AI. - [Composizione dell'agente](https://goa.design/it/docs/2-goa-ai/agent-composition/index.md): Learn how to compose agents using agent-as-tool patterns, run trees, and streaming topology. - [Valutazioni generate](https://goa.design/it/docs/2-goa-ai/evaluations/index.md): Definisci scenari nel design Goa, genera hook tipizzati e produci report affidabili. - [Integrazione MCP](https://goa.design/it/docs/2-goa-ai/mcp-integration/index.md): Crea server MCP con tool, risorse e prompt e usa tool MCP esterni. - [Memoria e sessioni](https://goa.design/it/docs/2-goa-ai/memory-sessions/index.md): Manage state with transcripts, memory stores, sessions, and runs in Goa-AI. - [Produzione](https://goa.design/it/docs/2-goa-ai/production/index.md): Set up Temporal for durable workflows, stream events to UIs, apply adaptive rate limiting, and use system reminders. - [Test e risoluzione dei problemi](https://goa.design/it/docs/2-goa-ai/testing/index.md): Learn how to test agents, planners, and tools, and troubleshoot common issues. - [Riferimento DSL](https://goa.design/it/docs/2-goa-ai/dsl-reference/index.md): Complete reference for Goa-AI's DSL functions - agents, toolsets, policies, and MCP integration. - [Tempo di esecuzione](https://goa.design/it/docs/2-goa-ai/runtime/index.md): Understand how the Goa-AI runtime orchestrates agents, enforces policies, and manages state. - [Registro interno degli strumenti](https://goa.design/it/docs/2-goa-ai/registry/index.md): Deploy a clustered gateway for cross-process toolset discovery and invocation. - [Tool Payload Defaults](https://goa.design/it/docs/2-goa-ai/tool-payload-defaults/index.md): How Goa-AI applies Goa-style defaults to tool payloads (decode-body + transform) and what codegen contracts must hold. ### Ecosistema - [Modello](https://goa.design/it/docs/3-ecosystem/model/index.md): Architecture diagrams as code using the C4 model - version-controlled, automatically generated, and interactive. - [Impulso](https://goa.design/it/docs/3-ecosystem/pulse/index.md): Distributed event infrastructure - streaming, worker pools, and replicated maps for Go microservices. - [Indizio](https://goa.design/it/docs/3-ecosystem/clue/index.md): Microservice instrumentation for Go - logging, tracing, metrics, health checks, and debugging. ## Source - [Goa](https://github.com/goadesign/goa): service DSL and generator. - [Goa-AI](https://github.com/goadesign/goa-ai): agent DSL, generator, and runtime. - [Goa coding skill](https://github.com/goadesign/goa/tree/v3/skills): design-first workflow for coding agents. Edit design and application code. Regenerate gen/ with goa gen; do not edit generated files. Goa-AI also generates AGENTS_QUICKSTART.md for the application's agent design. Generation does not replace business logic, authorization, or tests.