StackA2A
utilitylangchainrust

Distri

42

by distrihub

Distri is A2A compatible agent framework built in Rust. Build agents with simply a markdown definition and much more.

3 starsUpdated 2026-02-19MIT
Quality Score42/100
Community
13
Freshness
100
Official
30
Skills
10
Protocol
40
🔒 Security
20

Getting Started

1Clone the repository
$ git clone https://github.com/distrihub/distri
2Navigate to the project
$ cd distri
3Install dependencies
$ cargo build
4Run the agent
$ cargo run

Or connect to the hosted endpoint: https://distri.dev

README

Distri

Distri is an A2A-compatible agent framework built in Rust. Build agents with simple markdown definitions and integrate them within your React frontend. Tools can be added as either backend tools via Deno or frontend tools, making building agents much easier.

Documentation · Website · A2A Protocol

Distri Dashboard

Architecture

Distri is organized as a monorepo with Rust crates and TypeScript packages:

distri/
├── Rust Crates
│   ├── distri-cli          # CLI tool for agent management
│   ├── distri-a2a          # A2A protocol implementation
│   ├── distri-types        # Shared type definitions
│   ├── distri-filesystem   # File system utilities
│   └── distri              # Core library
│
├── Server (ELv2 License)
│   ├── distri-server       # A2A-compatible agent server
│   ├── distri-core         # Core server logic
│   ├── distri-stores       # Storage backends
│   ├── distri-plugins      # Plugin system
│   └── distri-plugin-executor  # Deno-based plugin runtime
│
├── DistriJS (TypeScript)
│   ├── @distri/core        # Agent client & A2A integration
│   ├── @distri/react       # React hooks & components
│   ├── @distri/components  # Shared UI components (shadcn/ui)
│   └── @distri/fs          # File system tools for frontend
│
├── samples/                # Example applications
└── plugins/                # Integration plugins

Screenshots

Installation

curl -fsSL https://distri.dev/install.sh | sh

Pin a specific version or choose an install location:

DISTRI_VERSION=0.3.0 DISTRI_INSTALL_DIR=/usr/local/bin sh -c "$(curl -fsSL https://distri.dev/install.sh)"

Direct download (macOS / Linux)

# darwin-arm64 | darwin-x86_64 | linux-arm64 | linux-x86_64
TARGET=darwin-arm64
curl -L "https://github.com/distrihub/distri/releases/latest/download/distri-${TARGET}.tar.gz" -o distri.tar.gz
sudo tar -xzf distri.tar.gz -C /usr/local/bin distri

Homebrew (macOS / Linux)

brew tap distrihub/distri
brew install distri

Windows (PowerShell)

Invoke-WebRequest https://github.com/distrihub/distri/releases/latest/download/distri-windows-x86_64.zip -OutFile distri.zip
Expand-Archive distri.zip -DestinationPath $Env:LOCALAPPDATA\distri -Force
$Env:Path += ";$Env:LOCALAPPDATA\distri"

Verify installation

distri --version
distri help

Quick Start

# Navigate to your project
cd path/to/your/project

# Push agents to Distri Cloud
distri push

# Run a task
distri run --agent <agent-name> --task "Your task"

Samples

Sample Type Description Demo
maps-demo React/Vite Interactive Google Maps with AI chat Live
coder CLI/Rust Code generation assistant -
scraper CLI/Rust Web scraping and data extraction agent -

Embedding in iframe

<iframe
  src="https://distrihub.github.io/distri/samples/maps"
  width="100%"
  height="600"
  frameborder="0">
</iframe>

Plugins

Ready-to-use integrations in plugins/:

Plugin Description
slack Slack messaging and workflows
notion Notion pages and databases
gmail Gmail read/send capabilities
google-calendar Calendar events management
google-docs Document creation and editing
google-sheets Spreadsheet operations
postgresql Database queries
clickhouse Analytics database

Development

Building Rust crates

cargo build

Publishing crates

cargo publish -p distri-a2a
cargo publish -p distri-types
cargo publish -p distri-filesystem
cargo publish -p distri

DistriJS development

cd distrijs
pnpm install
pnpm dev

Releases

Check the GitHub Releases page for the latest binaries and changelog.

Licensing

Support

Questions or feedback? Open an issue.

Capabilities

StreamingPush NotificationsMulti-TurnAuth: none
agents-sdklangchainrust-lang
View on GitHub