appydave-tools 0.10.4 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.md +1 -2
- data/bin/gpt_context.rb +37 -30
- data/docs/usage/gpt-context.md +96 -0
- data/lib/appydave/tools/gpt_context/file_collector.rb +43 -15
- data/lib/appydave/tools/gpt_context/options.rb +28 -0
- data/lib/appydave/tools/gpt_context/output_handler.rb +36 -0
- data/lib/appydave/tools/version.rb +1 -1
- data/lib/appydave/tools.rb +3 -0
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eee6c36595a4e874d3c74f65698ca89d68f8c324a4d0482fa77f8f53de8a3029
|
4
|
+
data.tar.gz: 744aaa75b3c1ec2dc9ac065b2931fcdef45b4ad713bcbb5771d3fef96de10bbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce5e8b078060a8f548c350bfcad02efce169c3d8922f1177656ed76df44adbaac99ba1712a2247f3f1af6eb1a819c6a5ff0e4b1d46a02709d2ff972cd4f22ae1
|
7
|
+
data.tar.gz: aa8422a814f69703c3444ace26576eda05c1777d81eb15178582331ec0b60bab47d89918debb31d4a4707ea7a6bf69186a17c05e2c7faacd414fa5b668b06c1d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
+
# [0.11.0](https://github.com/klueless-io/appydave-tools/compare/v0.10.4...v0.11.0) (2024-10-16)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* gpt context improvements ([1a1db97](https://github.com/klueless-io/appydave-tools/commit/1a1db976317d1b6056d14e226a5635c3b7dea83d))
|
7
|
+
|
8
|
+
|
9
|
+
### Features
|
10
|
+
|
11
|
+
* gpt_context has improved options, this may break some previous calls ([21c984a](https://github.com/klueless-io/appydave-tools/commit/21c984a61d215da93783a3df55f10301cae55e1c))
|
12
|
+
|
13
|
+
## [0.10.4](https://github.com/klueless-io/appydave-tools/compare/v0.10.3...v0.10.4) (2024-10-09)
|
14
|
+
|
15
|
+
|
16
|
+
### Bug Fixes
|
17
|
+
|
18
|
+
* cleanup code base before building documenation ([e473c44](https://github.com/klueless-io/appydave-tools/commit/e473c44546d8f0f5a35461fae263c348e7e2c58f))
|
19
|
+
* cleanup code base before building documenation ([38d8fb4](https://github.com/klueless-io/appydave-tools/commit/38d8fb46929e7c055308aa0b918c18a56fcd5842))
|
20
|
+
* cleanup code base before building documenation ([8dad12a](https://github.com/klueless-io/appydave-tools/commit/8dad12aadb9952f0174df45caed91c9e96070294))
|
21
|
+
* cleanup code base before building documenation ([eddfcc7](https://github.com/klueless-io/appydave-tools/commit/eddfcc78e39c93bfd4de6482690cc66cf90cc54a))
|
22
|
+
* extend prompt tools ([a628d08](https://github.com/klueless-io/appydave-tools/commit/a628d08fcdda521b7d148f0bab3261b879fca07d))
|
23
|
+
* extending bank reconciliation ([b435a20](https://github.com/klueless-io/appydave-tools/commit/b435a20237ef40a8a7d0a4f365ccd3eafdfcce1a))
|
24
|
+
* extending bank reconciliation ([b7878df](https://github.com/klueless-io/appydave-tools/commit/b7878dff0bca4ff1a3af7db19c280a8c245b6c3b))
|
25
|
+
|
1
26
|
## [0.10.3](https://github.com/klueless-io/appydave-tools/compare/v0.10.2...v0.10.3) (2024-06-17)
|
2
27
|
|
3
28
|
|
data/README.md
CHANGED
data/bin/gpt_context.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
+
# GPT Chats:
|
5
|
+
# https://chatgpt.com/c/670df475-04f4-8002-a758-f5711bf433eb
|
6
|
+
|
4
7
|
# Usage:
|
5
8
|
# ./bin/gpt_context.rb -d -i 'lib/openai_101/tools/**/*.rb'
|
6
9
|
# ./bin/gpt_context.rb -d -i 'lib/openai_101/tools/**/*' -e 'node_modules/**/*' -e 'package-lock.json' -e 'lib/openai_101/tools/prompts/*.txt'
|
@@ -11,39 +14,42 @@ $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
|
|
11
14
|
|
12
15
|
require 'appydave/tools'
|
13
16
|
|
14
|
-
options =
|
15
|
-
|
16
|
-
|
17
|
-
format: 'tree,content',
|
18
|
-
line_limit: nil,
|
19
|
-
debug: 'none'
|
20
|
-
}
|
17
|
+
options = Appydave::Tools::GptContext::Options.new(
|
18
|
+
working_directory: nil
|
19
|
+
)
|
21
20
|
|
22
21
|
OptionParser.new do |opts|
|
23
22
|
opts.banner = 'Usage: gather_content.rb [options]'
|
24
23
|
|
25
24
|
opts.on('-i', '--include PATTERN', 'Pattern or file to include (can be used multiple times)') do |pattern|
|
26
|
-
options
|
25
|
+
options.include_patterns << pattern
|
27
26
|
end
|
28
27
|
|
29
28
|
opts.on('-e', '--exclude PATTERN', 'Pattern or file to exclude (can be used multiple times)') do |pattern|
|
30
|
-
options
|
29
|
+
options.exclude_patterns << pattern
|
31
30
|
end
|
32
31
|
|
33
|
-
opts.on('-f', '--format FORMAT', 'Output format: content or
|
34
|
-
options
|
32
|
+
opts.on('-f', '--format FORMAT', 'Output format: content, tree, or json, if not provided then both are used') do |format|
|
33
|
+
options.format = format
|
35
34
|
end
|
36
35
|
|
37
36
|
opts.on('-l', '--line-limit LIMIT', 'Limit the number of lines included from each file') do |limit|
|
38
|
-
options
|
37
|
+
options.line_limit = limit.to_i
|
39
38
|
end
|
40
39
|
|
41
|
-
#
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
40
|
+
# New option for specifying base directory
|
41
|
+
opts.on('-b', '--base-dir DIRECTORY', 'Set the base directory to gather files from') do |directory|
|
42
|
+
options.working_directory = directory
|
43
|
+
end
|
44
|
+
|
45
|
+
# Debug output options
|
46
|
+
opts.on('-d', '--debug [MODE]', 'Enable debug mode [none, info, params, debug]', 'none', 'info', 'params', 'debug') do |debug|
|
47
|
+
options.debug = debug || 'info'
|
48
|
+
end
|
49
|
+
|
50
|
+
# Output targets: clipboard or file
|
51
|
+
opts.on('-o', '--output TARGET', 'Output target: clipboard, or a file path (can be used multiple times)') do |target|
|
52
|
+
options.output_target << target
|
47
53
|
end
|
48
54
|
|
49
55
|
opts.on_tail('-h', '--help', 'Show this message') do
|
@@ -59,7 +65,7 @@ OptionParser.new do |opts|
|
|
59
65
|
end
|
60
66
|
end.parse!
|
61
67
|
|
62
|
-
if options
|
68
|
+
if options.include_patterns.empty? && options.exclude_patterns.empty? && options.format.nil?
|
63
69
|
script_name = File.basename($PROGRAM_NAME, File.extname($PROGRAM_NAME))
|
64
70
|
|
65
71
|
puts 'No options provided to GPT Context. Please specify patterns to include or exclude.'
|
@@ -67,24 +73,25 @@ if options[:include_patterns].empty? && options[:exclude_patterns].empty? && opt
|
|
67
73
|
exit
|
68
74
|
end
|
69
75
|
|
70
|
-
|
76
|
+
if options.output_target.empty?
|
77
|
+
puts 'No output target provided. Will default to `clipboard`. You can set the output target using -o'
|
78
|
+
options.output_target << 'clipboard'
|
79
|
+
end
|
80
|
+
|
81
|
+
pp options if options.debug == 'params'
|
71
82
|
|
72
|
-
|
73
|
-
include_patterns: options[:include_patterns],
|
74
|
-
exclude_patterns: options[:exclude_patterns],
|
75
|
-
format: options[:format],
|
76
|
-
line_limit: options[:line_limit],
|
77
|
-
working_directory: Dir.pwd
|
78
|
-
)
|
83
|
+
options.working_directory ||= Dir.pwd
|
79
84
|
|
85
|
+
gatherer = Appydave::Tools::GptContext::FileCollector.new(options)
|
80
86
|
content = gatherer.build
|
81
87
|
|
82
|
-
if %w[
|
88
|
+
if %w[info debug].include?(options.debug)
|
83
89
|
puts '-' * 80
|
84
90
|
puts content
|
85
91
|
puts '-' * 80
|
86
92
|
end
|
87
93
|
|
88
|
-
|
94
|
+
output_handler = Appydave::Tools::GptContext::OutputHandler.new(content, options)
|
95
|
+
output_handler.execute
|
89
96
|
|
90
|
-
|
97
|
+
pp options if options.debug == 'debug'
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# GPT Context Usage Guide
|
2
|
+
|
3
|
+
This guide provides a comprehensive reference for using the `gpt_context` tool. Below you'll find examples of different use cases and command line invocations to help you effectively use `gpt_context` for gathering and organizing your project files. These examples will help you remember how to leverage various options available in `gpt_context`.
|
4
|
+
|
5
|
+
## Overview
|
6
|
+
|
7
|
+
`gpt_context` is a command line utility designed to collect, filter, and organize context from different files within a project. It allows for gathering files based on include and exclude patterns, visualizing the project structure, and exporting collected information in multiple formats, such as content, tree, or JSON.
|
8
|
+
|
9
|
+
### Common Options
|
10
|
+
- **`-i` or `--include`**: Specify patterns or files to include (multiple entries allowed).
|
11
|
+
- **`-e` or `--exclude`**: Specify patterns or files to exclude (multiple entries allowed).
|
12
|
+
- **`-f` or `--format`**: Define output format (`content`, `tree`, or `json`). If not provided, then `tree` followed by `content` is used by defaultboth are used by default.
|
13
|
+
- **`-d` or `--debug`**: Enable debug mode (e.g., `info`, `params`, `debug`). The default is `info` and this is how output to console is invoked. (Yes I know, it should be part of the --output option as well)
|
14
|
+
- **`-o` or `--output`**: Set the output target (`clipboard` or a file path). The default is `clipboard`, I know this is potentially desctructive.
|
15
|
+
- **`-l` or `--line-limit`**: Limit the number of lines included from each file.
|
16
|
+
- **`-b` or `--base-dir`**: Set the base directory to gather files from. Current working directory is used if not supplied
|
17
|
+
|
18
|
+
## Usage Examples
|
19
|
+
|
20
|
+
### 1. Gathering File Contents
|
21
|
+
To gather the content of specific files and print it to the console, you can use the `-f content` format option:
|
22
|
+
|
23
|
+
```sh
|
24
|
+
$ gpt_context -i "**/gpt_context.rb" -i "**/gpt_context/*.rb" -d -f content
|
25
|
+
```
|
26
|
+
**Explanation**: This command collects the content of all Ruby files matching the specified patterns (`gpt_context.rb` and files in the `gpt_context` directory). It includes debug output (`-d`) to log the content to the console during execution. The is stored in the clipboard in content format.
|
27
|
+
|
28
|
+
### 2. Displaying Directory Structure as a Tree
|
29
|
+
To visualize the structure of the included files as a tree, use the `-f tree` option:
|
30
|
+
|
31
|
+
```sh
|
32
|
+
$ gpt_context -i "**/gpt_context.rb" -i "**/gpt_context/*.rb" -d -f tree
|
33
|
+
```
|
34
|
+
**Explanation**: This command collects files based on the patterns and using the `-d` prints them in a tree-like structure. The tree is also loaded into the clipboard by default. This is useful for understanding the overall organization of files within the project.
|
35
|
+
|
36
|
+
### 3. Exporting File Data as JSON
|
37
|
+
You can export the gathered file data as JSON by using the `-f json` format option, along with specifying an output file:
|
38
|
+
|
39
|
+
```sh
|
40
|
+
$ gpt_context -i "**/gpt_context.rb" -i "**/gpt_context/*.rb" -f json -o somefile.json
|
41
|
+
```
|
42
|
+
**Explanation**: This command collects files and outputs the gathered data in JSON format. The result is saved to `somefile.json` (`-o somefile.json`). There is no `-d` so there will be no console output, also the `-o` will replace the default which is `clipboard` and so the only output in this case is the file which will go into the working directory. This is helpful when you need a structured representation of your project files, such as for further processing or analysis.
|
43
|
+
|
44
|
+
### 4. Combining Multiple Formats
|
45
|
+
You can generate multiple formats at once by specifying them in a comma-separated list:
|
46
|
+
|
47
|
+
```sh
|
48
|
+
$ gpt_context -i "**/gpt_context.rb" -i "**/gpt_context/*.rb" -f tree,content
|
49
|
+
```
|
50
|
+
**Explanation**: This command gathers the files and produces both a tree view and concatenated content output. The combined output can help visualize both the structure and content of your project files. This would be the default if you did not use `-f`, but interestling you can reverse them `-f content,tree` if you want the tree at the bottom of the concatenated output.
|
51
|
+
|
52
|
+
### 5. Limiting the Number of Lines Collected
|
53
|
+
To limit the number of lines collected from each file, use the `-l` option:
|
54
|
+
|
55
|
+
```sh
|
56
|
+
$ gpt_context -i "**/*.rb" -l 10
|
57
|
+
```
|
58
|
+
**Explanation**: This command gathers the first 10 lines from each Ruby file in the current directory and its subdirectories. This can be useful for getting an overview without including complete files.
|
59
|
+
|
60
|
+
### 6. Setting the Working Directory
|
61
|
+
You can specify a base directory to gather files from by using the `-b` option:
|
62
|
+
|
63
|
+
```sh
|
64
|
+
$ gpt_context -b "lib/" -i "**/*.rb" -f tree
|
65
|
+
```
|
66
|
+
**Explanation**: This command sets the base directory to `lib/` and gathers all Ruby files within it, displaying the output in a tree format. This helps scope your collection to a specific part of your project.
|
67
|
+
|
68
|
+
## Debugging Tips
|
69
|
+
- **Debugging Mode**: The `-d` option can be followed by levels like `info`, `params`, or `debug` to control the verbosity of debug output.
|
70
|
+
- `params`: Prints out the parameters being used.
|
71
|
+
- `debug`: Provides detailed output, which can be helpful for troubleshooting issues.
|
72
|
+
|
73
|
+
Example:
|
74
|
+
```sh
|
75
|
+
$ gpt_context -i "**/*.rb" -d debug -f content
|
76
|
+
```
|
77
|
+
This will provide detailed debug output while collecting file contents.
|
78
|
+
|
79
|
+
## Output Targets
|
80
|
+
- **Clipboard**: By default, if no output target is specified, the content is copied to the clipboard.
|
81
|
+
- **File Output**: Use the `-o` option with a file path to save the output to a file.
|
82
|
+
|
83
|
+
Example:
|
84
|
+
```sh
|
85
|
+
$ gpt_context -i "**/*.rb" -o output.txt
|
86
|
+
```
|
87
|
+
This saves the gathered content to `output.txt`.
|
88
|
+
|
89
|
+
## Summary
|
90
|
+
The `gpt_context` tool is versatile for gathering, visualizing, and exporting project context in various formats. Whether you need a structured view of your files, a quick JSON export, or just the content concatenated, these examples should help you remember how to leverage the tool's full capabilities effectively.
|
91
|
+
|
92
|
+
Feel free to expand this guide with more examples as you explore new ways to use `gpt_context`!
|
93
|
+
|
94
|
+
## References
|
95
|
+
|
96
|
+
- [ChatGPT Documentation](https://chatgpt.com/c/670f2150-08b4-8002-b2d7-04aff6fe304f)
|
@@ -6,32 +6,33 @@ module Appydave
|
|
6
6
|
module GptContext
|
7
7
|
# Gathers file names and content based on include and exclude patterns
|
8
8
|
class FileCollector
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
@
|
13
|
-
@
|
14
|
-
@
|
15
|
-
@
|
16
|
-
@line_limit = line_limit
|
9
|
+
def initialize(options)
|
10
|
+
@options = options
|
11
|
+
@include_patterns = options.include_patterns
|
12
|
+
@exclude_patterns = options.exclude_patterns
|
13
|
+
@format = options.format
|
14
|
+
@working_directory = options.working_directory
|
15
|
+
@line_limit = options.line_limit
|
17
16
|
end
|
18
17
|
|
19
18
|
def build
|
20
|
-
FileUtils.cd(working_directory) if working_directory && Dir.exist?(working_directory)
|
19
|
+
FileUtils.cd(@working_directory) if @working_directory && Dir.exist?(@working_directory)
|
21
20
|
|
22
|
-
formats = format.split(',')
|
21
|
+
formats = @format.split(',')
|
23
22
|
result = formats.map do |fmt|
|
24
23
|
case fmt
|
25
24
|
when 'tree'
|
26
25
|
build_tree
|
27
26
|
when 'content'
|
28
27
|
build_content
|
28
|
+
when 'json'
|
29
|
+
build_json
|
29
30
|
else
|
30
31
|
''
|
31
32
|
end
|
32
33
|
end.join("\n\n")
|
33
34
|
|
34
|
-
FileUtils.cd(Dir.home) if working_directory
|
35
|
+
FileUtils.cd(Dir.home) if @working_directory
|
35
36
|
|
36
37
|
result
|
37
38
|
end
|
@@ -41,7 +42,7 @@ module Appydave
|
|
41
42
|
def build_content
|
42
43
|
concatenated_content = []
|
43
44
|
|
44
|
-
include_patterns.each do |pattern|
|
45
|
+
@include_patterns.each do |pattern|
|
45
46
|
Dir.glob(pattern).each do |file_path|
|
46
47
|
next if excluded?(file_path) || File.directory?(file_path)
|
47
48
|
|
@@ -55,7 +56,7 @@ module Appydave
|
|
55
56
|
|
56
57
|
def read_file_content(file_path)
|
57
58
|
lines = File.readlines(file_path)
|
58
|
-
return lines.first(line_limit).join if line_limit
|
59
|
+
return lines.first(@line_limit).join if @line_limit
|
59
60
|
|
60
61
|
lines.join
|
61
62
|
end
|
@@ -63,7 +64,7 @@ module Appydave
|
|
63
64
|
def build_tree
|
64
65
|
tree_view = {}
|
65
66
|
|
66
|
-
include_patterns.each do |pattern|
|
67
|
+
@include_patterns.each do |pattern|
|
67
68
|
Dir.glob(pattern).each do |file_path|
|
68
69
|
next if excluded?(file_path)
|
69
70
|
|
@@ -93,8 +94,35 @@ module Appydave
|
|
93
94
|
output
|
94
95
|
end
|
95
96
|
|
97
|
+
def build_json
|
98
|
+
json_output = {
|
99
|
+
'tree' => {},
|
100
|
+
'content' => []
|
101
|
+
}
|
102
|
+
|
103
|
+
# Building tree structure in JSON
|
104
|
+
@include_patterns.each do |pattern|
|
105
|
+
Dir.glob(pattern).each do |file_path|
|
106
|
+
next if excluded?(file_path)
|
107
|
+
|
108
|
+
path_parts = file_path.split('/')
|
109
|
+
insert_into_tree(json_output['tree'], path_parts)
|
110
|
+
|
111
|
+
# Building content structure in JSON
|
112
|
+
next if excluded?(file_path) || File.directory?(file_path)
|
113
|
+
|
114
|
+
json_output['content'] << {
|
115
|
+
'file' => file_path,
|
116
|
+
'content' => read_file_content(file_path)
|
117
|
+
}
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
JSON.pretty_generate(json_output)
|
122
|
+
end
|
123
|
+
|
96
124
|
def excluded?(file_path)
|
97
|
-
exclude_patterns.any? { |pattern| File.fnmatch(pattern, file_path, File::FNM_PATHNAME | File::FNM_DOTMATCH) }
|
125
|
+
@exclude_patterns.any? { |pattern| File.fnmatch(pattern, file_path, File::FNM_PATHNAME | File::FNM_DOTMATCH) }
|
98
126
|
end
|
99
127
|
end
|
100
128
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Appydave
|
4
|
+
module Tools
|
5
|
+
module GptContext
|
6
|
+
# Struct with keyword_init: true to allow named parameters
|
7
|
+
Options = Struct.new(
|
8
|
+
:include_patterns,
|
9
|
+
:exclude_patterns,
|
10
|
+
:format,
|
11
|
+
:line_limit,
|
12
|
+
:debug,
|
13
|
+
:output_target,
|
14
|
+
:working_directory,
|
15
|
+
keyword_init: true
|
16
|
+
) do
|
17
|
+
def initialize(**args)
|
18
|
+
super
|
19
|
+
self.include_patterns ||= []
|
20
|
+
self.exclude_patterns ||= []
|
21
|
+
self.format ||= 'tree,content'
|
22
|
+
self.debug ||= 'none'
|
23
|
+
self.output_target ||= []
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Appydave
|
4
|
+
module Tools
|
5
|
+
module GptContext
|
6
|
+
# OutputHandler is responsible for writing the output to the desired target
|
7
|
+
class OutputHandler
|
8
|
+
def initialize(content, options)
|
9
|
+
@content = content
|
10
|
+
@output_targets = options.output_target
|
11
|
+
@working_directory = options.working_directory
|
12
|
+
end
|
13
|
+
|
14
|
+
def execute
|
15
|
+
@output_targets.each do |target|
|
16
|
+
case target
|
17
|
+
when 'clipboard'
|
18
|
+
Clipboard.copy(@content)
|
19
|
+
when /^.+$/
|
20
|
+
write_to_file(target)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
attr_reader :content, :output_targets, :working_directory
|
28
|
+
|
29
|
+
def write_to_file(target)
|
30
|
+
resolved_path = Pathname.new(target).absolute? ? target : File.join(working_directory, target)
|
31
|
+
File.write(resolved_path, content)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/appydave/tools.rb
CHANGED
@@ -7,6 +7,7 @@ require 'json'
|
|
7
7
|
require 'open3'
|
8
8
|
require 'openai'
|
9
9
|
require 'optparse'
|
10
|
+
require 'pathname'
|
10
11
|
require 'k_log'
|
11
12
|
require 'active_model'
|
12
13
|
|
@@ -34,7 +35,9 @@ require 'appydave/tools/cli_actions/prompt_completion_action'
|
|
34
35
|
require 'appydave/tools/cli_actions/get_video_action'
|
35
36
|
require 'appydave/tools/cli_actions/update_video_action'
|
36
37
|
|
38
|
+
require 'appydave/tools/gpt_context/options'
|
37
39
|
require 'appydave/tools/gpt_context/file_collector'
|
40
|
+
require 'appydave/tools/gpt_context/output_handler'
|
38
41
|
|
39
42
|
require 'appydave/tools/configuration/openai'
|
40
43
|
require 'appydave/tools/configuration/configurable'
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "appydave-tools",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.11.1",
|
4
4
|
"lockfileVersion": 3,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "appydave-tools",
|
9
|
-
"version": "0.
|
9
|
+
"version": "0.11.1",
|
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.11.1
|
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-10-
|
11
|
+
date: 2024-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -165,6 +165,7 @@ files:
|
|
165
165
|
- bin/subtitle_master.rb
|
166
166
|
- bin/youtube_automation.rb
|
167
167
|
- bin/youtube_manager.rb
|
168
|
+
- docs/usage/gpt-context.md
|
168
169
|
- images.log
|
169
170
|
- lib/appydave/tools.rb
|
170
171
|
- lib/appydave/tools/cli_actions/_doc.md
|
@@ -184,6 +185,8 @@ files:
|
|
184
185
|
- lib/appydave/tools/debuggable.rb
|
185
186
|
- lib/appydave/tools/gpt_context/_doc.md
|
186
187
|
- lib/appydave/tools/gpt_context/file_collector.rb
|
188
|
+
- lib/appydave/tools/gpt_context/options.rb
|
189
|
+
- lib/appydave/tools/gpt_context/output_handler.rb
|
187
190
|
- lib/appydave/tools/llm/models/llm_info.rb
|
188
191
|
- lib/appydave/tools/llm/openai_completion.rb
|
189
192
|
- lib/appydave/tools/name_manager/_doc.md
|