-
Notifications
You must be signed in to change notification settings - Fork 65
Expand file tree
/
Copy pathroast-ai.gemspec
More file actions
40 lines (33 loc) · 1.7 KB
/
roast-ai.gemspec
File metadata and controls
40 lines (33 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true
lib = File.expand_path("../lib", __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "roast/version"
Gem::Specification.new do |spec|
spec.name = "roast-ai"
spec.version = Roast::VERSION
spec.authors = ["Shopify"]
spec.email = ["opensource@shopify.com"]
spec.summary = "A framework for executing structured AI workflows in Ruby"
spec.description = "Roast is a Ruby library for running structured AI workflows along with many building blocks for creating and executing them"
spec.homepage = "https://github.com/Shopify/roast"
spec.license = "MIT"
spec.metadata["allowed_push_host"] = "https://rubygems.org"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = "https://github.com/Shopify/roast"
spec.metadata["changelog_uri"] = "https://github.com/Shopify/roast/blob/main/CHANGELOG.md"
spec.required_ruby_version = ">= 3.3.0"
# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
%x(git ls-files -z).split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) || f.end_with?(".gem") }
end
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.add_dependency("activesupport", "~> 8.0")
spec.add_dependency("async", ">= 2.34")
spec.add_dependency("rainbow", ">= 3.0.0")
spec.add_dependency("ruby_llm", ">= 1.8")
spec.add_dependency("type_toolkit", ">= 0.0.5")
spec.add_dependency("zeitwerk", ">= 2.6")
end