sylvia 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rubocop.yml +58 -0
- data/Gemfile +1 -1
- data/README.md +24 -5
- data/lib/sylvia/cli.rb +15 -93
- data/lib/sylvia/llm.rb +38 -0
- data/lib/sylvia/prettier.rb +61 -0
- data/lib/sylvia/rubocop.rb +87 -0
- data/lib/sylvia/version.rb +1 -1
- data/sylvia.gemspec +1 -0
- metadata +20 -5
- data/.prettierrc +0 -7
- data/Gemfile.lock +0 -91
- data/package.json +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f9ecbb50b89f7254c1283157123b2113eea53c62898ce089dfb83ea65ea8d28
|
4
|
+
data.tar.gz: d7f8883c1b1ec0a3b1735308b9d29edf184f9bccca2065f61f3fc503b24f9b7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a76aaefa7ab89f2e7530e786561ea0fa7ee78c075f73030e0f3681024dd78f7d6a4dfb962759d613df1baabbf9d9f6d08823d978c2e77c09d535033ecd931d68
|
7
|
+
data.tar.gz: 2e91b75f6734d6fab43fde3330082765953ffcd2a4966343ab2bac2512c5d6a8ab6c84c4d0dab460c0d9e61066b9c823506bd1ca84460f83abf01602cb62e2b2
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
Include:
|
5
|
+
- "**/*.rb"
|
6
|
+
- "**/*.rake"
|
7
|
+
- "."
|
8
|
+
Exclude:
|
9
|
+
- "vendor/**/*"
|
10
|
+
- "db/schema.rb"
|
11
|
+
NewCops: enable
|
12
|
+
|
13
|
+
Layout/LineLength:
|
14
|
+
Max: 120
|
15
|
+
Exclude:
|
16
|
+
- "spec/**/*"
|
17
|
+
|
18
|
+
Style/BlockDelimiters:
|
19
|
+
Exclude:
|
20
|
+
- "spec/**/*"
|
21
|
+
|
22
|
+
Lint/AmbiguousBlockAssociation:
|
23
|
+
Exclude:
|
24
|
+
- "spec/**/*"
|
25
|
+
|
26
|
+
Metrics/BlockLength:
|
27
|
+
Exclude:
|
28
|
+
- "spec/**/*"
|
29
|
+
|
30
|
+
Layout/HeredocIndentation:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
Metrics/ClassLength:
|
34
|
+
Max: 175
|
35
|
+
|
36
|
+
Metrics/MethodLength:
|
37
|
+
Max: 25
|
38
|
+
|
39
|
+
Metrics/ParameterLists:
|
40
|
+
Max: 20
|
41
|
+
|
42
|
+
Metrics/AbcSize:
|
43
|
+
Enabled: false
|
44
|
+
|
45
|
+
Metrics/PerceivedComplexity:
|
46
|
+
Enabled: false
|
47
|
+
|
48
|
+
Metrics/CyclomaticComplexity:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
Style/HashEachMethods:
|
52
|
+
Enabled: true
|
53
|
+
|
54
|
+
Style/HashTransformKeys:
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
Style/HashTransformValues:
|
58
|
+
Enabled: false
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
## Sylvia
|
3
2
|
|
4
3
|

|
@@ -6,7 +5,7 @@
|
|
6
5
|
[](https://rubygems.org/gems/sylvia)
|
7
6
|
[](https://opensource.org/licenses/MIT)
|
8
7
|
|
9
|
-
My Private Assistant Tool for ruby development
|
8
|
+
My Private Assistant Tool for ruby development
|
10
9
|
|
11
10
|
## Installation
|
12
11
|
|
@@ -16,21 +15,41 @@ gem install sylvia
|
|
16
15
|
|
17
16
|
## Usage
|
18
17
|
|
19
|
-
Setup Prettier
|
18
|
+
##### Setup Prettier for ruby
|
19
|
+
|
20
20
|
```
|
21
21
|
sylvia prettier
|
22
22
|
```
|
23
23
|
|
24
|
-
Setup
|
24
|
+
##### Setup Rubocop
|
25
|
+
|
26
|
+
```
|
27
|
+
sylvia rubocop
|
28
|
+
```
|
29
|
+
|
30
|
+
##### Setup and Configuration AI LLM
|
31
|
+
|
25
32
|
```
|
26
33
|
sylvia llm
|
27
34
|
```
|
28
35
|
|
29
|
-
|
36
|
+
automatically created `sylvia.rb` and added configuration ruby_LLM (set your model LLM and API key)
|
37
|
+
|
38
|
+
ask to Ai like this
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
chat.ask "how to improve this code", with: ["app/example.rb", "app/example2.rb"]
|
42
|
+
```
|
43
|
+
|
44
|
+
This is like a cursor/copilot, but manual.
|
45
|
+
|
46
|
+
##### Run AI LLM
|
47
|
+
|
30
48
|
```
|
31
49
|
sylvia ai
|
32
50
|
```
|
33
51
|
|
52
|
+
run ruby_LLM `sylvia.rb`
|
34
53
|
|
35
54
|
## Development
|
36
55
|
|
data/lib/sylvia/cli.rb
CHANGED
@@ -1,110 +1,32 @@
|
|
1
1
|
require "json"
|
2
|
+
require_relative "llm"
|
3
|
+
require_relative "prettier"
|
4
|
+
require_relative "rubocop"
|
2
5
|
|
3
6
|
module Sylvia
|
4
7
|
class CLI
|
5
|
-
FILE_NAME = "sylvia.rb"
|
6
|
-
PRETTIER_FILE = ".prettierrc"
|
7
|
-
PACKAGE_FILE = "package.json"
|
8
|
-
|
9
8
|
def self.start(args)
|
10
9
|
command = args.shift
|
11
10
|
|
12
11
|
case command
|
13
12
|
when "llm"
|
14
|
-
|
13
|
+
LLM.setup
|
15
14
|
when "ai"
|
16
|
-
|
15
|
+
LLM.run
|
17
16
|
when "prettier"
|
18
|
-
|
17
|
+
Prettier.setup
|
18
|
+
when "rubocop"
|
19
|
+
RuboCop.setup
|
20
|
+
when "rubocop-todo"
|
21
|
+
RuboCop.generate_todo
|
19
22
|
else
|
20
23
|
puts "Usage:"
|
21
|
-
puts " sylvia llm
|
22
|
-
puts " sylvia ai
|
23
|
-
puts " sylvia prettier
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
def self.setup_llm
|
28
|
-
content = <<~RUBY
|
29
|
-
require 'ruby_llm'
|
30
|
-
require 'dotenv'
|
31
|
-
Dotenv.load
|
32
|
-
|
33
|
-
RubyLLM.configure do |config|
|
34
|
-
config.gemini_api_key = ENV.fetch('gemini', nil)
|
35
|
-
end
|
36
|
-
|
37
|
-
chat = RubyLLM.chat(model: 'gemini-2.0-flash')
|
38
|
-
|
39
|
-
response = chat.ask "how to improve this code", with: ["assets/example.rb", "assets/example2.rb"]
|
40
|
-
|
41
|
-
puts response.content
|
42
|
-
RUBY
|
43
|
-
|
44
|
-
File.write(FILE_NAME, content)
|
45
|
-
puts "✅ Created #{FILE_NAME}"
|
46
|
-
end
|
47
|
-
|
48
|
-
def self.run_llm
|
49
|
-
unless File.exist?(FILE_NAME)
|
50
|
-
puts "⚠️ #{FILE_NAME} not found. Run `sylvia install` first."
|
51
|
-
return
|
52
|
-
end
|
53
|
-
|
54
|
-
system("ruby #{FILE_NAME}")
|
55
|
-
end
|
56
|
-
|
57
|
-
def self.setup_prettier
|
58
|
-
if File.exist?(PRETTIER_FILE)
|
59
|
-
puts "⚠️ #{PRETTIER_FILE} already exists. Skipping."
|
60
|
-
return
|
24
|
+
puts " sylvia llm # Create setup file llm"
|
25
|
+
puts " sylvia ai # Run llm"
|
26
|
+
puts " sylvia prettier # Setup Prettier for Ruby"
|
27
|
+
puts " sylvia rubocop # Create .rubocop.yml config file"
|
28
|
+
puts " sylvia rubocop-todo # Generate .rubocop_todo.yml automatically"
|
61
29
|
end
|
62
|
-
|
63
|
-
prettier_config = <<~JSON
|
64
|
-
{
|
65
|
-
"plugins": ["@prettier/plugin-ruby"],
|
66
|
-
"rubyStrictMode": false,
|
67
|
-
"tabWidth": 2,
|
68
|
-
"useTabs": false,
|
69
|
-
"singleQuote": true
|
70
|
-
}
|
71
|
-
JSON
|
72
|
-
|
73
|
-
File.write(PRETTIER_FILE, prettier_config)
|
74
|
-
puts "✅ Created #{PRETTIER_FILE}"
|
75
|
-
|
76
|
-
unless File.exist?(PACKAGE_FILE)
|
77
|
-
puts "⚡ Running `npm init -y`..."
|
78
|
-
system("npm init -y")
|
79
|
-
end
|
80
|
-
|
81
|
-
package_json = JSON.parse(File.read(PACKAGE_FILE))
|
82
|
-
package_json["devDependencies"] ||= {}
|
83
|
-
package_json["devDependencies"]["prettier"] = "^3.5.3"
|
84
|
-
package_json["devDependencies"]["@prettier/plugin-ruby"] = "^4.0.4"
|
85
|
-
File.write(PACKAGE_FILE, JSON.pretty_generate(package_json))
|
86
|
-
puts "✅ Updated #{PACKAGE_FILE} devDependencies"
|
87
|
-
|
88
|
-
puts "⚡ Running `npm install`..."
|
89
|
-
system("npm install")
|
90
|
-
|
91
|
-
gemfile = "Gemfile"
|
92
|
-
if File.exist?(gemfile)
|
93
|
-
content = File.read(gemfile)
|
94
|
-
unless content.include?('gem "syntax_tree"')
|
95
|
-
File.open(gemfile, "a") { |f| f.puts "\ngem \"syntax_tree\"" }
|
96
|
-
puts "✅ Added gem 'syntax_tree' to Gemfile"
|
97
|
-
else
|
98
|
-
puts "⚠️ Gemfile already contains syntax_tree"
|
99
|
-
end
|
100
|
-
|
101
|
-
puts "⚡ Running `bundle install`..."
|
102
|
-
system("bundle install")
|
103
|
-
else
|
104
|
-
puts "⚠️ No Gemfile found. Skipping syntax_tree installation."
|
105
|
-
end
|
106
|
-
|
107
|
-
puts "🎉 Prettier setup complete!"
|
108
30
|
end
|
109
31
|
end
|
110
32
|
end
|
data/lib/sylvia/llm.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
module Sylvia
|
2
|
+
class LLM
|
3
|
+
FILE_NAME = 'sylvia.rb'
|
4
|
+
|
5
|
+
def self.setup
|
6
|
+
content = <<~RUBY
|
7
|
+
require 'ruby_llm'
|
8
|
+
require 'tty-markdown'
|
9
|
+
require 'dotenv'
|
10
|
+
Dotenv.load
|
11
|
+
|
12
|
+
RubyLLM.configure do |config|
|
13
|
+
config.gemini_api_key = ENV.fetch('gemini', nil)
|
14
|
+
end
|
15
|
+
|
16
|
+
chat = RubyLLM.chat(model: 'gemini-2.0-flash')
|
17
|
+
|
18
|
+
response = chat.ask "how to improve this code", with: ["assets/example.rb", "assets/example2.rb"]
|
19
|
+
|
20
|
+
markdown = response.content.to_s
|
21
|
+
|
22
|
+
puts TTY::Markdown.parse(markdown)
|
23
|
+
RUBY
|
24
|
+
|
25
|
+
File.write(FILE_NAME, content)
|
26
|
+
puts "Created #{FILE_NAME}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.run
|
30
|
+
unless File.exist?(FILE_NAME)
|
31
|
+
puts "#{FILE_NAME} not found. Run `sylvia llm` first."
|
32
|
+
return
|
33
|
+
end
|
34
|
+
|
35
|
+
system("ruby #{FILE_NAME}")
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module Sylvia
|
4
|
+
class Prettier
|
5
|
+
PRETTIER_FILE = '.prettierrc'
|
6
|
+
PACKAGE_FILE = 'package.json'
|
7
|
+
|
8
|
+
def self.setup
|
9
|
+
if File.exist?(PRETTIER_FILE)
|
10
|
+
puts "#{PRETTIER_FILE} already exists. Skipping."
|
11
|
+
return
|
12
|
+
end
|
13
|
+
|
14
|
+
prettier_config = <<~JSON
|
15
|
+
{
|
16
|
+
"plugins": ["@prettier/plugin-ruby"],
|
17
|
+
"rubyStrictMode": false,
|
18
|
+
"tabWidth": 2,
|
19
|
+
"useTabs": false,
|
20
|
+
"singleQuote": true
|
21
|
+
}
|
22
|
+
JSON
|
23
|
+
|
24
|
+
File.write(PRETTIER_FILE, prettier_config)
|
25
|
+
puts "Created #{PRETTIER_FILE}"
|
26
|
+
|
27
|
+
unless File.exist?(PACKAGE_FILE)
|
28
|
+
puts 'Running `npm init -y`...'
|
29
|
+
system('npm init -y')
|
30
|
+
end
|
31
|
+
|
32
|
+
package_json = JSON.parse(File.read(PACKAGE_FILE))
|
33
|
+
package_json['devDependencies'] ||= {}
|
34
|
+
package_json['devDependencies']['prettier'] = '^3.5.3'
|
35
|
+
package_json['devDependencies']['@prettier/plugin-ruby'] = '^4.0.4'
|
36
|
+
File.write(PACKAGE_FILE, JSON.pretty_generate(package_json))
|
37
|
+
puts "Updated #{PACKAGE_FILE} devDependencies"
|
38
|
+
|
39
|
+
puts 'Running `npm install`...'
|
40
|
+
system('npm install')
|
41
|
+
|
42
|
+
gemfile = 'Gemfile'
|
43
|
+
if File.exist?(gemfile)
|
44
|
+
content = File.read(gemfile)
|
45
|
+
if content.include?('gem "syntax_tree"')
|
46
|
+
puts 'Gemfile already contains syntax_tree'
|
47
|
+
else
|
48
|
+
File.open(gemfile, 'a') { |f| f.puts "\ngem \"syntax_tree\"" }
|
49
|
+
puts "Added gem 'syntax_tree' to Gemfile"
|
50
|
+
end
|
51
|
+
|
52
|
+
puts 'Running `bundle install`...'
|
53
|
+
system('bundle install')
|
54
|
+
else
|
55
|
+
puts 'No Gemfile found. Skipping syntax_tree installation.'
|
56
|
+
end
|
57
|
+
|
58
|
+
puts 'Prettier setup complete!'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
module Sylvia
|
2
|
+
class RuboCop
|
3
|
+
CONFIG_FILE = '.rubocop.yml'
|
4
|
+
|
5
|
+
def self.setup
|
6
|
+
if File.exist?(CONFIG_FILE)
|
7
|
+
puts "#{CONFIG_FILE} already exists. Skipping."
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
config_content = <<~YAML
|
12
|
+
AllCops:
|
13
|
+
Include:
|
14
|
+
- "**/*.rb"
|
15
|
+
- "**/*.rake"
|
16
|
+
- "."
|
17
|
+
Exclude:
|
18
|
+
- "vendor/**/*"
|
19
|
+
- "db/schema.rb"
|
20
|
+
NewCops: enable
|
21
|
+
|
22
|
+
Layout/LineLength:
|
23
|
+
Max: 120
|
24
|
+
Exclude:
|
25
|
+
- "spec/**/*"
|
26
|
+
|
27
|
+
Style/BlockDelimiters:
|
28
|
+
Exclude:
|
29
|
+
- "spec/**/*"
|
30
|
+
|
31
|
+
Lint/AmbiguousBlockAssociation:
|
32
|
+
Exclude:
|
33
|
+
- "spec/**/*"
|
34
|
+
|
35
|
+
Metrics/BlockLength:
|
36
|
+
Exclude:
|
37
|
+
- "spec/**/*"
|
38
|
+
|
39
|
+
Layout/HeredocIndentation:
|
40
|
+
Enabled: false
|
41
|
+
|
42
|
+
Metrics/ClassLength:
|
43
|
+
Max: 175
|
44
|
+
|
45
|
+
Metrics/MethodLength:
|
46
|
+
Max: 25
|
47
|
+
|
48
|
+
Metrics/ParameterLists:
|
49
|
+
Max: 20
|
50
|
+
|
51
|
+
Metrics/AbcSize:
|
52
|
+
Enabled: false
|
53
|
+
|
54
|
+
Metrics/PerceivedComplexity:
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
Metrics/CyclomaticComplexity:
|
58
|
+
Enabled: false
|
59
|
+
|
60
|
+
Style/HashEachMethods:
|
61
|
+
Enabled: true
|
62
|
+
|
63
|
+
Style/HashTransformKeys:
|
64
|
+
Enabled: false
|
65
|
+
|
66
|
+
Style/HashTransformValues:
|
67
|
+
Enabled: false
|
68
|
+
YAML
|
69
|
+
|
70
|
+
File.write(CONFIG_FILE, config_content)
|
71
|
+
puts "Created #{CONFIG_FILE}"
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.generate_todo
|
75
|
+
todo_file = '.rubocop_todo.yml'
|
76
|
+
|
77
|
+
if File.exist?(todo_file)
|
78
|
+
puts "#{todo_file} already exists. Skipping generation."
|
79
|
+
return
|
80
|
+
end
|
81
|
+
|
82
|
+
puts 'Generating RuboCop TODO...'
|
83
|
+
system('rubocop --auto-gen-config --no-exclude-limit')
|
84
|
+
puts "RuboCop TODO generated (see #{todo_file})"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
data/lib/sylvia/version.rb
CHANGED
data/sylvia.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sylvia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whdzera
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-09-05 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: ruby_llm
|
@@ -37,6 +37,20 @@ dependencies:
|
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: tty-markdown
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
40
54
|
- !ruby/object:Gem::Dependency
|
41
55
|
name: syntax_tree
|
42
56
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,20 +76,21 @@ extra_rdoc_files: []
|
|
62
76
|
files:
|
63
77
|
- ".github/workflows/main.yml"
|
64
78
|
- ".gitignore"
|
65
|
-
- ".prettierrc"
|
66
79
|
- ".rspec"
|
80
|
+
- ".rubocop.yml"
|
67
81
|
- CHANGELOG.md
|
68
82
|
- CODE_OF_CONDUCT.md
|
69
83
|
- Gemfile
|
70
|
-
- Gemfile.lock
|
71
84
|
- LICENSE.txt
|
72
85
|
- README.md
|
73
86
|
- Rakefile
|
74
87
|
- bin/sylvia
|
75
88
|
- lib/sylvia.rb
|
76
89
|
- lib/sylvia/cli.rb
|
90
|
+
- lib/sylvia/llm.rb
|
91
|
+
- lib/sylvia/prettier.rb
|
92
|
+
- lib/sylvia/rubocop.rb
|
77
93
|
- lib/sylvia/version.rb
|
78
|
-
- package.json
|
79
94
|
- sig/sylvia.rbs
|
80
95
|
- spec/spec_helper.rb
|
81
96
|
- spec/sylvia_spec.rb
|
data/.prettierrc
DELETED
data/Gemfile.lock
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
sylvia (0.1.0)
|
5
|
-
dotenv
|
6
|
-
ruby_llm
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: https://rubygems.org/
|
10
|
-
specs:
|
11
|
-
base64 (0.3.0)
|
12
|
-
date (3.4.1)
|
13
|
-
diff-lcs (1.6.2)
|
14
|
-
dotenv (3.1.8)
|
15
|
-
erb (5.0.2)
|
16
|
-
event_stream_parser (1.0.0)
|
17
|
-
faraday (2.13.4)
|
18
|
-
faraday-net_http (>= 2.0, < 3.5)
|
19
|
-
json
|
20
|
-
logger
|
21
|
-
faraday-multipart (1.1.1)
|
22
|
-
multipart-post (~> 2.0)
|
23
|
-
faraday-net_http (3.4.1)
|
24
|
-
net-http (>= 0.5.0)
|
25
|
-
faraday-retry (2.3.2)
|
26
|
-
faraday (~> 2.0)
|
27
|
-
io-console (0.8.1)
|
28
|
-
irb (1.15.2)
|
29
|
-
pp (>= 0.6.0)
|
30
|
-
rdoc (>= 4.0.0)
|
31
|
-
reline (>= 0.4.2)
|
32
|
-
json (2.13.2)
|
33
|
-
logger (1.7.0)
|
34
|
-
marcel (1.0.4)
|
35
|
-
multipart-post (2.4.1)
|
36
|
-
net-http (0.6.0)
|
37
|
-
uri
|
38
|
-
pp (0.6.2)
|
39
|
-
prettyprint
|
40
|
-
prettier_print (1.2.1)
|
41
|
-
prettyprint (0.2.0)
|
42
|
-
psych (5.2.6)
|
43
|
-
date
|
44
|
-
stringio
|
45
|
-
rake (13.3.0)
|
46
|
-
rdoc (6.14.2)
|
47
|
-
erb
|
48
|
-
psych (>= 4.0.0)
|
49
|
-
reline (0.6.2)
|
50
|
-
io-console (~> 0.5)
|
51
|
-
rspec (3.13.0)
|
52
|
-
rspec-core (~> 3.13.0)
|
53
|
-
rspec-expectations (~> 3.13.0)
|
54
|
-
rspec-mocks (~> 3.13.0)
|
55
|
-
rspec-core (3.13.4)
|
56
|
-
rspec-support (~> 3.13.0)
|
57
|
-
rspec-expectations (3.13.5)
|
58
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
59
|
-
rspec-support (~> 3.13.0)
|
60
|
-
rspec-mocks (3.13.5)
|
61
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
62
|
-
rspec-support (~> 3.13.0)
|
63
|
-
rspec-support (3.13.4)
|
64
|
-
ruby_llm (1.5.1)
|
65
|
-
base64
|
66
|
-
event_stream_parser (~> 1)
|
67
|
-
faraday (>= 1.10.0)
|
68
|
-
faraday-multipart (>= 1)
|
69
|
-
faraday-net_http (>= 1)
|
70
|
-
faraday-retry (>= 1)
|
71
|
-
marcel (~> 1.0)
|
72
|
-
zeitwerk (~> 2)
|
73
|
-
stringio (3.1.7)
|
74
|
-
syntax_tree (6.2.0)
|
75
|
-
prettier_print (>= 1.2.0)
|
76
|
-
uri (1.0.3)
|
77
|
-
zeitwerk (2.7.3)
|
78
|
-
|
79
|
-
PLATFORMS
|
80
|
-
ruby
|
81
|
-
x86_64-linux
|
82
|
-
|
83
|
-
DEPENDENCIES
|
84
|
-
irb
|
85
|
-
rake (~> 13.0)
|
86
|
-
rspec (~> 3.0)
|
87
|
-
sylvia!
|
88
|
-
syntax_tree (= 6.2.0)
|
89
|
-
|
90
|
-
BUNDLED WITH
|
91
|
-
2.6.9
|
data/package.json
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "sylvia",
|
3
|
-
"version": "1.0.0",
|
4
|
-
"description": "TODO: Delete this and the text below, and describe your gem",
|
5
|
-
"main": "index.js",
|
6
|
-
"directories": {
|
7
|
-
"example": "examples",
|
8
|
-
"lib": "lib"
|
9
|
-
},
|
10
|
-
"scripts": {
|
11
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
12
|
-
},
|
13
|
-
"repository": {
|
14
|
-
"type": "git",
|
15
|
-
"url": "git+https://github.com/whdzera/sylvia.git"
|
16
|
-
},
|
17
|
-
"keywords": [],
|
18
|
-
"author": "",
|
19
|
-
"license": "ISC",
|
20
|
-
"bugs": {
|
21
|
-
"url": "https://github.com/whdzera/sylvia/issues"
|
22
|
-
},
|
23
|
-
"homepage": "https://github.com/whdzera/sylvia#readme",
|
24
|
-
"devDependencies": {
|
25
|
-
"prettier": "^3.5.3",
|
26
|
-
"@prettier/plugin-ruby": "^4.0.4"
|
27
|
-
}
|
28
|
-
}
|