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 = ">= 4.0.0"
16  spec.required_rubygems_version = ">= 4.0.0"
17  spec.metadata["allowed_push_host"] = "https://rubygems.org"
18  spec.metadata["homepage_uri"] = spec.homepage
19  spec.metadata["source_code_uri"] = "https://git.mokhan.ca/xlgmokha/elelem.git"
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/commands.rb",
31    "lib/elelem/conversation.rb",
32    "lib/elelem/mcp.rb",
33    "lib/elelem/mcp/oauth.rb",
34    "lib/elelem/mcp/token_storage.rb",
35    "lib/elelem/net.rb",
36    "lib/elelem/net/claude.rb",
37    "lib/elelem/net/ollama.rb",
38    "lib/elelem/net/openai.rb",
39    "lib/elelem/permissions.json",
40    "lib/elelem/permissions.rb",
41    "lib/elelem/plugins.rb",
42    "lib/elelem/plugins/builtins.rb",
43    "lib/elelem/plugins/confirm.rb",
44    "lib/elelem/plugins/edit.rb",
45    "lib/elelem/plugins/eval.rb",
46    "lib/elelem/plugins/execute.rb",
47    "lib/elelem/plugins/git.rb",
48    "lib/elelem/plugins/glob.rb",
49    "lib/elelem/plugins/grep.rb",
50    "lib/elelem/plugins/list.rb",
51    "lib/elelem/plugins/mcp.rb",
52    "lib/elelem/plugins/read.rb",
53    "lib/elelem/plugins/task.rb",
54    "lib/elelem/plugins/tools.rb",
55    "lib/elelem/plugins/verify.rb",
56    "lib/elelem/plugins/write.rb",
57    "lib/elelem/system_prompt.rb",
58    "lib/elelem/terminal.rb",
59    "lib/elelem/tool.rb",
60    "lib/elelem/toolbox.rb",
61    "lib/elelem/version.rb",
62  ]
63  spec.bindir = "exe"
64  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
65  spec.require_paths = ["lib"]
66
67  spec.add_dependency "base64", "~> 0.1"
68  spec.add_dependency "date", "~> 3.0"
69  spec.add_dependency "digest", "~> 3.0"
70  spec.add_dependency "erb", "~> 6.0"
71  spec.add_dependency "fileutils", "~> 1.0"
72  spec.add_dependency "json", "~> 2.0"
73  spec.add_dependency "json_schemer", "~> 2.0"
74  spec.add_dependency "logger", "~> 1.0"
75  spec.add_dependency "net-hippie", "~> 1.0"
76  spec.add_dependency "open3", "~> 0.1"
77  spec.add_dependency "optparse", "~> 0.1"
78  spec.add_dependency "pathname", "~> 0.1"
79  spec.add_dependency "reline", "~> 0.6"
80  spec.add_dependency "securerandom", "~> 0.1"
81  spec.add_dependency "shellwords", "~> 0.2"
82  spec.add_dependency "stringio", "~> 3.0"
83  spec.add_dependency "tempfile", "~> 0.3"
84  spec.add_dependency "uri", "~> 1.0"
85  spec.add_dependency "webrick", "~> 1.9"
86end