main
1# frozen_string_literal: true
2
3require_relative "lib/elelem/version"
4
5Gem::Specification.new do |spec|
6 spec.name = "elelem"
7 spec.version = Elelem::VERSION
8 spec.authors = ["mo khan"]
9 spec.email = ["mo@mokhan.ca"]
10
11 spec.summary = "A minimal coding agent for LLMs."
12 spec.description = "A minimal coding agent supporting Ollama, Anthropic, OpenAI, and VertexAI."
13 spec.homepage = "https://src.mokhan.ca/xlgmokha/elelem"
14 spec.license = "MIT"
15 spec.required_ruby_version = ">= 3.4.0"
16 spec.required_rubygems_version = ">= 3.3.11"
17 spec.metadata["allowed_push_host"] = "https://rubygems.org"
18 spec.metadata["homepage_uri"] = spec.homepage
19 spec.metadata["source_code_uri"] = "https://src.mokhan.ca/xlgmokha/elelem"
20 spec.metadata["changelog_uri"] = "https://src.mokhan.ca/xlgmokha/elelem/blob/main/CHANGELOG.md.html"
21
22 spec.files = [
23 "CHANGELOG.md",
24 "LICENSE.txt",
25 "README.md",
26 "Rakefile",
27 "exe/elelem",
28 "lib/elelem.rb",
29 "lib/elelem/agent.rb",
30 "lib/elelem/application.rb",
31 "lib/elelem/conversation.rb",
32 "lib/elelem/system_prompt.erb",
33 "lib/elelem/tool.rb",
34 "lib/elelem/toolbox.rb",
35 "lib/elelem/version.rb",
36 ]
37 spec.bindir = "exe"
38 spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
39 spec.require_paths = ["lib"]
40
41 spec.add_dependency "cli-ui", "~> 2.0"
42 spec.add_dependency "erb", "~> 6.0"
43 spec.add_dependency "fileutils", "~> 1.0"
44 spec.add_dependency "json", "~> 2.0"
45 spec.add_dependency "json-schema", "~> 6.0"
46 spec.add_dependency "logger", "~> 1.0"
47 spec.add_dependency "net-llm", "~> 0.5", ">= 0.5.0"
48 spec.add_dependency "open3", "~> 0.1"
49 spec.add_dependency "pathname", "~> 0.1"
50 spec.add_dependency "reline", "~> 0.6"
51 spec.add_dependency "set", "~> 1.0"
52 spec.add_dependency "thor", "~> 1.0"
53 spec.add_dependency "timeout", "~> 0.1"
54end