Skip to content

Contributing Overview

AgentSchema is a collaborative project between Microsoft Copilot Studio and Microsoft Foundry. We welcome contributions to the specification, runtime libraries, and documentation!

AgentSchema uses a code generation approach where:

  1. TypeSpec definitions define the schema (source of truth)
  2. Custom emitter generates runtime code for multiple languages
  3. Runtime libraries are auto-generated (C#, Python, TypeScript, Go)
flowchart TD
    A[TypeSpec Models<br/>agentschema-emitter/lib/model/] --> B[TypeSpec Emitter<br/>agentschema-emitter]
    B --> C[C# Runtime<br/>runtime/csharp/]
    B --> D[Python Runtime<br/>runtime/python/]
    B --> E[TypeScript Runtime<br/>runtime/typescript/]
    B --> H[Go Runtime<br/>runtime/go/]
    B --> F[JSON Schemas<br/>schemas/]
    B --> G[Reference Docs<br/>docs/reference/]
    
    style A fill:#4CAF50,color:#fff
    style B fill:#2196F3,color:#fff
    style C fill:#9E9E9E,color:#fff
    style D fill:#9E9E9E,color:#fff
    style E fill:#9E9E9E,color:#fff
    style H fill:#9E9E9E,color:#fff
    style F fill:#9E9E9E,color:#fff
    style G fill:#9E9E9E,color:#fff
  • Directoryagentschema-emitter/ Self-contained emitter package
    • Directorylib/model/ Edit these (source of truth)
      • main.tsp
      • agent.tsp
      • tools.tsp
    • Directorysrc/ Or edit templates here
    • Directorysrc/
      • Directorytemplates/
  • Directoryruntime/ ⚠️ DO NOT edit directly
    • Directorycsharp/
    • Directorypython/
    • Directorytypescript/
    • Directorygo/
  • Directoryschemas/ ⚠️ DO NOT edit directly
AreaLocationDescription
Schema changesagentschema-emitter/lib/model/*.tspAdd/modify agent schema definitions
Code generationagentschema-emitter/src/Improve generated code quality
Documentationdocs/src/content/Improve guides and examples
Examplesexamples/Add new agent examples
Bug fixesVariousFix issues in emitter or runtime config