Skip to content

Commit 8ed82c2

Browse files
committed
feat: Use A2A Ruby gem from GitHub repository
🔄 Updated Dependencies: - All samples now use gem from https://github.com/traylinx/a2a-ruby.git - Updated Gemfiles to use git source instead of local path - Simplified setup process - no local gem installation needed 📚 Updated Documentation: - README.md updated with GitHub gem installation - QUICK_START.md simplified setup instructions - Fixed CHANGELOG.md date to correct 2025-09-15 - Updated all repository links to traylinx organization 🛠 Improved Setup: - setup.sh script updated for GitHub gem source - Bundler handles all dependencies automatically - No manual gem installation required ✅ Benefits: - Always uses latest development version - Easier setup for contributors - No need for local a2a-ruby repository
1 parent 6b32aab commit 8ed82c2

10 files changed

Lines changed: 52 additions & 90 deletions

File tree

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@ All notable changes to the A2A Ruby Samples project will be documented in this f
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [1.0.0] - 2024-12-15
8+
## [1.1.0] - 2024-12-15
9+
10+
### Changed
11+
- **Updated gem source**: Now uses A2A Ruby gem directly from GitHub repository (`https://github.com/traylinx/a2a-ruby.git`)
12+
- **Simplified setup**: No need for separate gem installation, Bundler handles everything
13+
- **Updated documentation**: Reflects new GitHub-based installation process
14+
15+
### Technical Details
16+
- All Gemfiles now reference `git: "https://github.com/traylinx/a2a-ruby.git"`
17+
- Setup script simplified to work with GitHub gem source
18+
- Documentation updated to reflect new installation process
19+
20+
## [1.0.0] - 2025-09-15
921

1022
### Added
1123
- **Hello World Agent**: Basic A2A agent implementation with simple greeting functionality

QUICK_START.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@ Get up and running with A2A Ruby samples in 5 minutes!
55
## 🚀 One-Command Setup
66

77
```bash
8-
# Install the A2A Ruby gem globally (now works!)
9-
gem install a2a-ruby
10-
11-
# Clone and setup samples
8+
# Clone and setup samples (includes A2A Ruby gem from GitHub)
129
git clone https://github.com/traylinx/a2a-ruby-samples.git
1310
cd a2a-ruby-samples
1411
./setup.sh
1512
```
1613

14+
The samples use the A2A Ruby gem directly from GitHub, so no separate installation is needed!
15+
1716
## 🎯 Try Your First Agent
1817

1918
### 1. Hello World Agent (30 seconds)
@@ -143,7 +142,7 @@ Rack::Handler::Puma.run(app, Port: 9999)
143142

144143
## 📚 Learn More
145144

146-
- [A2A Ruby SDK Documentation](../a2a-ruby/docs/)
145+
- [A2A Ruby SDK Documentation](https://github.com/traylinx/a2a-ruby/docs/)
147146
- [A2A Protocol Specification](https://a2a-protocol.org)
148147
- [Sample Applications Guide](README.md)
149148

README.md

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# A2A Ruby Sample Applications
22

3-
This repository contains sample applications demonstrating how to use the [A2A Ruby SDK](https://github.com/a2aproject/a2a-ruby) to build agent-to-agent communication systems.
3+
This repository contains sample applications demonstrating how to use the [A2A Ruby SDK](https://github.com/traylinx/a2a-ruby) to build agent-to-agent communication systems.
44

55
## **Fully Functional & Production Ready**
66

77
All sample applications are working perfectly with the A2A Ruby gem:
8-
-**Global Installation** - `gem install a2a-ruby` works without conflicts
8+
-**GitHub Installation** - Uses latest development version from GitHub
99
-**JSON-RPC Method Calls** - All method calls work correctly
1010
-**Cross-Stack Compatible** - Works with Python A2A agents
1111
-**Production Ready** - Clean dependencies and stable operation
@@ -14,29 +14,17 @@ All sample applications are working perfectly with the A2A Ruby gem:
1414

1515
### Prerequisites
1616
- Ruby 2.7+ and Bundler
17-
- A2A Ruby gem (install globally or use local development)
17+
- Git (for cloning repositories)
1818

19-
### Option 1: Use Published Gem (Recommended)
19+
### Setup
2020
```bash
21-
# Install the A2A Ruby gem globally
22-
gem install a2a-ruby
23-
2421
# Clone and setup samples
2522
git clone https://github.com/traylinx/a2a-ruby-samples.git
2623
cd a2a-ruby-samples
2724
./setup.sh
2825
```
2926

30-
### Option 2: Local Development Setup
31-
```bash
32-
# If you have the a2a-ruby source code locally
33-
cd ../a2a-ruby
34-
gem build a2a-ruby.gemspec
35-
gem install a2a-ruby-1.0.0.gem
36-
37-
cd ../a2a-ruby-samples
38-
./setup.sh
39-
```
27+
The samples use the A2A Ruby gem directly from GitHub repository, so no separate gem installation is needed. Bundler will handle all dependencies automatically.
4028

4129
### Running Your First Agent
4230

@@ -201,7 +189,7 @@ docker-compose up
201189

202190
## 📖 **Documentation**
203191

204-
- **[A2A Ruby SDK Documentation](https://github.com/a2aproject/a2a-ruby/docs)**
192+
- **[A2A Ruby SDK Documentation](https://github.com/traylinx/a2a-ruby/docs)**
205193
- **[A2A Protocol Specification](https://a2a-protocol.org)**
206194
- **[Quick Start Guide](QUICK_START.md)**
207195

@@ -261,7 +249,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
261249

262250
- **Issues**: [GitHub Issues](https://github.com/traylinx/a2a-ruby-samples/issues)
263251
- **Discussions**: [GitHub Discussions](https://github.com/traylinx/a2a-ruby-samples/discussions)
264-
- **Documentation**: [A2A Ruby SDK Docs](https://github.com/a2aproject/a2a-ruby/docs)
252+
- **Documentation**: [A2A Ruby SDK Docs](https://github.com/traylinx/a2a-ruby/docs)
265253

266254
---
267255

samples/dice-agent/Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
source "https://rubygems.org"
44

5-
# A2A Ruby SDK - use local development version
6-
gem "a2a-ruby", path: "../../../a2a-ruby"
5+
# A2A Ruby SDK - use GitHub repository
6+
gem "a2a-ruby", git: "https://github.com/traylinx/a2a-ruby.git"
77

88
# Web server
99
gem "puma", "~> 6.0"

samples/dice-agent/Gemfile.lock

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
PATH
2-
remote: ../../../a2a-ruby
1+
GIT
2+
remote: https://github.com/traylinx/a2a-ruby.git
3+
revision: 62267d71b566aa0d6e793eab13d0a2df37c175ba
34
specs:
45
a2a-ruby (1.0.0)
56
activesupport (>= 6.0, < 8.0)
@@ -13,19 +14,18 @@ PATH
1314
GEM
1415
remote: https://rubygems.org/
1516
specs:
16-
activesupport (7.1.5.2)
17+
activesupport (7.2.2.2)
1718
base64
1819
benchmark (>= 0.3)
1920
bigdecimal
20-
concurrent-ruby (~> 1.0, >= 1.0.2)
21+
concurrent-ruby (~> 1.0, >= 1.3.1)
2122
connection_pool (>= 2.2.5)
2223
drb
2324
i18n (>= 1.6, < 2)
2425
logger (>= 1.4.2)
2526
minitest (>= 5.1)
26-
mutex_m
2727
securerandom (>= 0.3)
28-
tzinfo (~> 2.0)
28+
tzinfo (~> 2.0, >= 2.0.5)
2929
addressable (2.8.7)
3030
public_suffix (>= 2.0.2, < 7.0)
3131
base64 (0.3.0)
@@ -54,7 +54,6 @@ GEM
5454
logger (1.7.0)
5555
method_source (1.1.0)
5656
minitest (5.25.5)
57-
mutex_m (0.3.0)
5857
net-http (0.6.0)
5958
uri
6059
nio4r (2.7.4)
@@ -99,14 +98,8 @@ GEM
9998
hashdiff (>= 0.4.0, < 2.0.0)
10099

101100
PLATFORMS
102-
aarch64-linux-gnu
103-
aarch64-linux-musl
104-
arm-linux-gnu
105-
arm-linux-musl
106-
arm64-darwin
107-
x86_64-darwin
108-
x86_64-linux-gnu
109-
x86_64-linux-musl
101+
ruby
102+
x86_64-darwin-23
110103

111104
DEPENDENCIES
112105
a2a-ruby!

samples/helloworld-agent/Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
source "https://rubygems.org"
44

5-
# A2A Ruby SDK - use local development version
6-
gem "a2a-ruby", path: "../../../a2a-ruby"
5+
# A2A Ruby SDK - use GitHub repository
6+
gem "a2a-ruby", git: "https://github.com/traylinx/a2a-ruby.git"
77

88
# Web server
99
gem "puma", "~> 6.0"

samples/helloworld-agent/Gemfile.lock

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
PATH
2-
remote: ../../../a2a-ruby
1+
GIT
2+
remote: https://github.com/traylinx/a2a-ruby.git
3+
revision: 62267d71b566aa0d6e793eab13d0a2df37c175ba
34
specs:
45
a2a-ruby (1.0.0)
56
activesupport (>= 6.0, < 8.0)
@@ -66,7 +67,7 @@ GEM
6667
public_suffix (6.0.2)
6768
puma (6.6.1)
6869
nio4r (~> 2.0)
69-
rack (3.1.16)
70+
rack (3.2.1)
7071
redis (5.4.1)
7172
redis-client (>= 0.22.0)
7273
redis-client (0.25.3)
@@ -95,14 +96,8 @@ GEM
9596
hashdiff (>= 0.4.0, < 2.0.0)
9697

9798
PLATFORMS
98-
aarch64-linux-gnu
99-
aarch64-linux-musl
100-
arm-linux-gnu
101-
arm-linux-musl
102-
arm64-darwin
103-
x86_64-darwin
104-
x86_64-linux-gnu
105-
x86_64-linux-musl
99+
ruby
100+
x86_64-darwin-23
106101

107102
DEPENDENCIES
108103
a2a-ruby!

samples/weather-agent/Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
source "https://rubygems.org"
44

5-
# A2A Ruby SDK - use local development version
6-
gem "a2a-ruby", path: "../../../a2a-ruby"
5+
# A2A Ruby SDK - use GitHub repository
6+
gem "a2a-ruby", git: "https://github.com/traylinx/a2a-ruby.git"
77

88
# Web server
99
gem "puma", "~> 6.0"

samples/weather-agent/Gemfile.lock

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
PATH
2-
remote: ../../../a2a-ruby
1+
GIT
2+
remote: https://github.com/traylinx/a2a-ruby.git
3+
revision: 62267d71b566aa0d6e793eab13d0a2df37c175ba
34
specs:
45
a2a-ruby (1.0.0)
56
activesupport (>= 6.0, < 8.0)
@@ -67,7 +68,7 @@ GEM
6768
public_suffix (6.0.2)
6869
puma (6.6.1)
6970
nio4r (~> 2.0)
70-
rack (3.1.16)
71+
rack (3.2.1)
7172
redis (5.4.1)
7273
redis-client (>= 0.22.0)
7374
redis-client (0.25.3)
@@ -98,14 +99,8 @@ GEM
9899
hashdiff (>= 0.4.0, < 2.0.0)
99100

100101
PLATFORMS
101-
aarch64-linux-gnu
102-
aarch64-linux-musl
103-
arm-linux-gnu
104-
arm-linux-musl
105-
arm64-darwin
106-
x86_64-darwin
107-
x86_64-linux-gnu
108-
x86_64-linux-musl
102+
ruby
103+
x86_64-darwin-23
109104

110105
DEPENDENCIES
111106
a2a-ruby!

setup.sh

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,8 @@ if ! command -v bundle &> /dev/null; then
1717
gem install bundler
1818
fi
1919

20-
# Check if A2A Ruby gem is available
21-
if ! gem list a2a-ruby | grep -q a2a-ruby; then
22-
echo "📦 A2A Ruby gem not found. Building from local source..."
23-
24-
if [ -d "../a2a-ruby" ]; then
25-
cd ../a2a-ruby
26-
echo "🔨 Building gem..."
27-
gem build a2a-ruby.gemspec
28-
29-
echo "💎 Installing gem locally..."
30-
gem install a2a-ruby-*.gem
31-
32-
cd ../a2a-ruby-samples
33-
echo "✅ A2A Ruby gem installed successfully"
34-
else
35-
echo "❌ A2A Ruby source not found at ../a2a-ruby"
36-
echo "Please ensure the a2a-ruby directory is at the same level as a2a-ruby-samples"
37-
exit 1
38-
fi
39-
else
40-
echo "✅ A2A Ruby gem already installed"
41-
fi
20+
# A2A Ruby gem will be installed from GitHub via Bundler
21+
echo "📦 A2A Ruby gem will be installed from GitHub repository via Bundler"
4222

4323
# Install dependencies for all samples
4424
echo "📚 Installing dependencies for all samples..."

0 commit comments

Comments
 (0)