appydave-tools 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -0
- data/CHANGELOG.md +8 -0
- data/bin/gpt_context.rb +16 -9
- data/lib/appydave/tools/gpt_context/file_collector.rb +16 -9
- data/lib/appydave/tools/version.rb +1 -1
- data/lib/appydave/tools.rb +7 -5
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f8d11a7aa2efb787554cb3146098cc7ab0885394420af910840424e8a70a544
|
4
|
+
data.tar.gz: 4153b36add667b7d250bfb7932cea34b4324f856f3d9e2a0370e00c298b8ecce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d53f5bb5e624f3869da4d45901a145b9752ae490ea5fcf82cff902420bb1deb17113c5dd3d1e24671c7f57071c184023398c40be4ecc6c59f460c21a859591f3
|
7
|
+
data.tar.gz: 488a91fa38b828e10bfeb4e70aace941a4814fcbb1b8d0fab3a6e7f7748383ffb8c67b94380197a31ea14192e702bd08471db15532f8b9490f4d64bbebb7c8c2
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# [0.1.0](https://github.com/klueless-io/appydave-tools/compare/v0.0.2...v0.1.0) (2024-05-08)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* gpt context gatherer ([0c8089c](https://github.com/klueless-io/appydave-tools/commit/0c8089c60258a6032ea2b1fa0796a43cdd8f28c2))
|
7
|
+
* gpt context gatherer ([fe07156](https://github.com/klueless-io/appydave-tools/commit/fe0715699ad40379a1f0a1a99193d191a74e500b))
|
8
|
+
|
1
9
|
## [0.0.2](https://github.com/klueless-io/appydave-tools/compare/v0.0.1...v0.0.2) (2024-05-07)
|
2
10
|
|
3
11
|
|
data/bin/gpt_context.rb
CHANGED
@@ -7,15 +7,15 @@
|
|
7
7
|
#
|
8
8
|
# Get GPT Context Gatherer code
|
9
9
|
# ./bin/gpt_context.rb -i 'bin/**/*gather*.rb' -i 'lib/openai_101/tools/**/*gather*.rb'
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
$LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
|
11
|
+
|
12
|
+
require 'appydave/tools'
|
13
13
|
|
14
14
|
options = {
|
15
15
|
include_patterns: [],
|
16
16
|
exclude_patterns: [],
|
17
17
|
format: nil,
|
18
|
-
debug:
|
18
|
+
debug: 'none'
|
19
19
|
}
|
20
20
|
|
21
21
|
OptionParser.new do |opts|
|
@@ -33,8 +33,12 @@ OptionParser.new do |opts|
|
|
33
33
|
options[:format] = format
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
|
36
|
+
# None - No debug output
|
37
|
+
# Output - Output the content to the console, this is the same as found in the clipboard
|
38
|
+
# Params - Output the options that were passed to the script
|
39
|
+
# Debug - Output content, options and debug information
|
40
|
+
opts.on('-d', '--debug [MODE]', 'Enable debug mode [none, output, params, debug]', 'none', 'output', 'params', 'debug') do |debug|
|
41
|
+
options[:debug] = debug || 'output'
|
38
42
|
end
|
39
43
|
|
40
44
|
opts.on_tail('-h', '--help', 'Show this message') do
|
@@ -58,20 +62,23 @@ if options[:include_patterns].empty? && options[:exclude_patterns].empty? && opt
|
|
58
62
|
exit
|
59
63
|
end
|
60
64
|
|
61
|
-
pp options if options[:debug]
|
65
|
+
pp options if options[:debug] == 'params'
|
62
66
|
|
63
67
|
gatherer = Appydave::Tools::GptContext::FileCollector.new(
|
64
68
|
include_patterns: options[:include_patterns],
|
65
69
|
exclude_patterns: options[:exclude_patterns],
|
66
|
-
format: options[:format]
|
70
|
+
format: options[:format],
|
71
|
+
working_directory: Dir.pwd
|
67
72
|
)
|
68
73
|
|
69
74
|
content = gatherer.build
|
70
75
|
|
71
|
-
if options[:debug]
|
76
|
+
if %w[output debug].include?(options[:debug])
|
72
77
|
puts '-' * 80
|
73
78
|
puts content
|
74
79
|
puts '-' * 80
|
75
80
|
end
|
76
81
|
|
82
|
+
pp options if options[:debug] == 'debug'
|
83
|
+
|
77
84
|
Clipboard.copy(content)
|
@@ -6,21 +6,28 @@ module Appydave
|
|
6
6
|
module GptContext
|
7
7
|
# Gathers file names and content based on include and exclude patterns
|
8
8
|
class FileCollector
|
9
|
-
attr_reader :include_patterns, :exclude_patterns, :format
|
9
|
+
attr_reader :include_patterns, :exclude_patterns, :format, :working_directory
|
10
10
|
|
11
|
-
def initialize(include_patterns: [], exclude_patterns: [], format: nil)
|
11
|
+
def initialize(include_patterns: [], exclude_patterns: [], format: nil, working_directory: nil)
|
12
12
|
@include_patterns = include_patterns
|
13
13
|
@exclude_patterns = exclude_patterns
|
14
14
|
@format = format
|
15
|
+
@working_directory = working_directory
|
15
16
|
end
|
16
17
|
|
17
18
|
def build
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
FileUtils.cd(working_directory) if working_directory && Dir.exist?(working_directory)
|
20
|
+
|
21
|
+
result = case format
|
22
|
+
when 'tree'
|
23
|
+
build_tree
|
24
|
+
else
|
25
|
+
build_content
|
26
|
+
end
|
27
|
+
|
28
|
+
FileUtils.cd(Dir.home) if working_directory
|
29
|
+
|
30
|
+
result
|
24
31
|
end
|
25
32
|
|
26
33
|
private
|
@@ -74,7 +81,7 @@ module Appydave
|
|
74
81
|
end
|
75
82
|
|
76
83
|
def excluded?(file_path)
|
77
|
-
exclude_patterns.any? { |pattern| File.fnmatch(pattern, file_path) }
|
84
|
+
exclude_patterns.any? { |pattern| File.fnmatch(pattern, file_path, File::FNM_PATHNAME | File::FNM_DOTMATCH) }
|
78
85
|
end
|
79
86
|
end
|
80
87
|
end
|
data/lib/appydave/tools.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'optparse'
|
4
|
+
require 'clipboard'
|
5
|
+
require 'fileutils'
|
4
6
|
|
7
|
+
require 'appydave/tools/version'
|
5
8
|
require 'appydave/tools/gpt_context/file_collector'
|
6
9
|
|
7
10
|
module Appydave
|
@@ -14,8 +17,7 @@ module Appydave
|
|
14
17
|
end
|
15
18
|
|
16
19
|
if ENV.fetch('KLUE_DEBUG', 'false').downcase == 'true'
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
puts "#{namespace.ljust(35)} : #{version.ljust(9)} : #{file_path}"
|
20
|
+
$LOADED_FEATURES.find { |f| f.include?('appydave/tools/version') }
|
21
|
+
Appydave::Tools::VERSION.ljust(9)
|
22
|
+
# puts "#{namespace.ljust(35)} : #{version.ljust(9)} : #{file_path}"
|
21
23
|
end
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "appydave-tools",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.2.0",
|
4
4
|
"lockfileVersion": 3,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "appydave-tools",
|
9
|
-
"version": "0.
|
9
|
+
"version": "0.2.0",
|
10
10
|
"devDependencies": {
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
12
12
|
"@semantic-release/changelog": "^6.0.3",
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appydave-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clipboard
|