Skip to content

Commit fba3ceb

Browse files
authored
Update README.md
1 parent 01b87d8 commit fba3ceb

File tree

1 file changed

+115
-2
lines changed

1 file changed

+115
-2
lines changed

README.md

Lines changed: 115 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,115 @@
1-
# A2A
2-
.NET implementation of the Agent2Agent (A2A) protocol to enable secure, interoperable communication between autonomous agents across frameworks and vendors.
1+
# Neuroglia A2A - NET SDK
2+
3+
**Agent-to-Agent (A2A)** is a lightweight, extensible protocol and framework for orchestrating tasks and exchanging structured content between autonomous agents using JSON-RPC 2.0.
4+
5+
This repository provides a complete set of libraries and components for building, hosting, and communicating with A2A-compliant agents across various transport layers.
6+
7+
---
8+
9+
## 🧩 Projects
10+
11+
### 🧠 Core
12+
13+
- **`Neuroglia.A2A.Core`**
14+
Contains the core abstractions, models, contracts, and data types shared across both clients and servers.
15+
_This package is dependency-free and safe to use in any environment._
16+
17+
---
18+
19+
### 📡 Client
20+
21+
- **`Neuroglia.A2A.Client`**
22+
Provides the default implementation of an A2A client for sending tasks and interacting with agents via JSON-RPC.
23+
24+
- **`Neuroglia.A2A.Client.Transport.WebSocket`**
25+
Implements the WebSocket transport for `Neuroglia.A2A.Client`.
26+
Allows establishing persistent agent-to-agent communication over WebSocket connections.
27+
28+
---
29+
30+
### 🛠️ Server
31+
32+
- **`Neuroglia.A2A.Server`**
33+
Core components for building A2A-compatible agents.
34+
Includes task execution, state management, event streaming, and runtime integration.
35+
36+
- **`Neuroglia.A2A.Server.AspNetCore`**
37+
ASP.NET Core integration layer that allows hosting A2A endpoints over WebSocket using JSON-RPC.
38+
Provides middleware, routing, and server bootstrap extensions.
39+
40+
---
41+
42+
### 🧱 Server Infrastructure
43+
44+
- **`Neuroglia.A2A.Server.Infrastructure.Abstractions`**
45+
Defines abstractions for task persistence, event streaming, and other infrastructure concerns.
46+
Enables support for custom and pluggable storage/event backends.
47+
48+
- **`Neuroglia.A2A.Server.Infrastructure.DistributedCache`**
49+
Distributed cache–based implementation of A2A task storage using `IDistributedCache`.
50+
Useful for scenarios that require scalable, lightweight task state persistence.
51+
52+
---
53+
54+
## 🚀 Getting Started
55+
56+
### Install the packages
57+
58+
```
59+
dotnet add package Neuroglia.A2A.Client
60+
dotnet add package Neuroglia.A2A.Client.Transport.WebSocket
61+
dotnet add package Neuroglia.A2A.Server
62+
dotnet add package Neuroglia.A2A.Server.AspNetCore
63+
```
64+
65+
### Configure the client
66+
67+
```csharp
68+
services.AddA2ProtocolClient(builder =>
69+
{
70+
builder.UseWebSocketTransport(options =>
71+
{
72+
options.Endpoint = new("ws://localhost/a2a");
73+
});
74+
});
75+
```
76+
77+
### Host an agent
78+
79+
#### Configure services
80+
81+
```csharp
82+
services.AddDistributedMemoryCache();
83+
services.AddA2AProtocolServer(builder =>
84+
{
85+
builder
86+
.UseAgentRuntime<CustomAgentRuntime>()
87+
.UseDistributedCacheTaskRepository();
88+
});
89+
```
90+
91+
#### Map A2A Endpoints
92+
93+
```csharp
94+
app.MapA2AEndpoint();
95+
```
96+
97+
---
98+
99+
## 📚 Documentation
100+
101+
For a full overview of the A2A protocol, see [google.github.io/A2A](https://google.github.io/A2A/#/documentation)
102+
103+
---
104+
105+
## 🛡 License
106+
107+
This project is licensed under the [Apache-2.0 License](LICENSE).
108+
109+
---
110+
111+
## 🤝 Contributing
112+
113+
Contributions are welcome! Please open issues and PRs to help improve the ecosystem.
114+
115+
See [contribution guidelines](CONTRIBUTING.md) for more information on how to contribute.

0 commit comments

Comments
 (0)