appydave-tools 0.15.0 → 0.17.0

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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/AGENTS.md +22 -0
  4. data/CHANGELOG.md +19 -0
  5. data/CLAUDE.md +318 -79
  6. data/README.md +390 -81
  7. data/bin/archive_project.rb +249 -0
  8. data/bin/configuration.rb +21 -1
  9. data/bin/generate_manifest.rb +357 -0
  10. data/bin/subtitle_manager.rb +18 -12
  11. data/bin/subtitle_processor.rb +158 -0
  12. data/bin/sync_from_ssd.rb +236 -0
  13. data/bin/vat +623 -0
  14. data/docs/README.md +169 -0
  15. data/docs/archive/codebase-audit-2025-01.md +424 -0
  16. data/docs/archive/documentation-framework-proposal.md +808 -0
  17. data/docs/archive/purpose-and-philosophy.md +110 -0
  18. data/docs/archive/test-coverage-quick-wins.md +342 -0
  19. data/docs/archive/tool-discovery.md +199 -0
  20. data/docs/archive/tool-documentation-analysis.md +592 -0
  21. data/docs/configuration/.env.example +19 -0
  22. data/docs/configuration/README.md +394 -0
  23. data/docs/configuration/channels.example.json +26 -0
  24. data/docs/configuration/settings.example.json +6 -0
  25. data/docs/development/CODEX-recommendations.md +123 -0
  26. data/docs/development/README.md +100 -0
  27. data/docs/development/cli-architecture-patterns.md +1604 -0
  28. data/docs/development/pattern-comparison.md +284 -0
  29. data/docs/prd-unified-brands-configuration.md +792 -0
  30. data/docs/project-brand-systems-analysis.md +934 -0
  31. data/docs/tools/bank-reconciliation.md +269 -0
  32. data/docs/tools/cli-actions.md +444 -0
  33. data/docs/tools/configuration.md +329 -0
  34. data/docs/{usage → tools}/gpt-context.md +118 -7
  35. data/docs/tools/index.md +324 -0
  36. data/docs/tools/move-images.md +295 -0
  37. data/docs/tools/name-manager.md +322 -0
  38. data/docs/tools/prompt-tools.md +209 -0
  39. data/docs/tools/subtitle-processor.md +242 -0
  40. data/docs/tools/youtube-automation.md +258 -0
  41. data/docs/tools/youtube-manager.md +248 -0
  42. data/docs/vat/dam-vision.md +123 -0
  43. data/docs/vat/session-summary-2025-11-09.md +297 -0
  44. data/docs/vat/usage.md +508 -0
  45. data/docs/vat/vat-testing-plan.md +801 -0
  46. data/lib/appydave/tools/configuration/models/brands_config.rb +238 -0
  47. data/lib/appydave/tools/configuration/models/config_base.rb +7 -0
  48. data/lib/appydave/tools/configuration/models/settings_config.rb +4 -0
  49. data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/clean.rb +1 -1
  50. data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/join.rb +5 -2
  51. data/lib/appydave/tools/vat/config.rb +153 -0
  52. data/lib/appydave/tools/vat/config_loader.rb +91 -0
  53. data/lib/appydave/tools/vat/manifest_generator.rb +239 -0
  54. data/lib/appydave/tools/vat/project_listing.rb +198 -0
  55. data/lib/appydave/tools/vat/project_resolver.rb +132 -0
  56. data/lib/appydave/tools/vat/s3_operations.rb +560 -0
  57. data/lib/appydave/tools/version.rb +1 -1
  58. data/lib/appydave/tools.rb +11 -5
  59. data/package.json +1 -1
  60. metadata +85 -14
  61. data/docs/dam/overview.md +0 -28
  62. data/lib/mj-paste-test/main.rb +0 -35
  63. data/lib/mj-paste-test/prompts.txt +0 -18
  64. data/lib/mj-paste-test/readme-leonardo.md +0 -0
  65. /data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/_doc-clean.md +0 -0
  66. /data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/_doc-join.md +0 -0
  67. /data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/_doc-todo.md +0 -0
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.15.0
4
+ version: 0.17.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: 2025-11-08 00:00:00.000000000 Z
11
+ date: 2025-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '8'
27
+ - !ruby/object:Gem::Dependency
28
+ name: aws-sdk-s3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: clipboard
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pstore
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: ruby-openai
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +178,10 @@ dependencies:
150
178
  - - ">="
151
179
  - !ruby/object:Gem::Version
152
180
  version: '0'
153
- description: " AppyDave YouTube Automation Tools\n"
181
+ description: |2
182
+ AppyDave Tools is a consolidated productivity toolkit for YouTube content creation workflow.
183
+ Includes single-purpose utilities for AI context gathering, subtitle processing, YouTube management, and more.
184
+ All tools in one codebase for easier maintenance, each operates independently.
154
185
  email:
155
186
  - david@ideasmen.com.au
156
187
  executables:
@@ -170,6 +201,7 @@ files:
170
201
  - ".releaserc.json"
171
202
  - ".rspec"
172
203
  - ".rubocop.yml"
204
+ - AGENTS.md
173
205
  - CHANGELOG.md
174
206
  - CLAUDE.md
175
207
  - CODE_OF_CONDUCT.md
@@ -178,19 +210,54 @@ files:
178
210
  - LICENSE.txt
179
211
  - README.md
180
212
  - Rakefile
213
+ - bin/archive_project.rb
181
214
  - bin/bank_reconciliation.rb
182
215
  - bin/configuration.rb
183
216
  - bin/console
217
+ - bin/generate_manifest.rb
184
218
  - bin/gpt_context.rb
185
219
  - bin/move_images.rb
186
220
  - bin/prompt_tools.rb
187
221
  - bin/setup
188
222
  - bin/subtitle_manager-old.rb
189
223
  - bin/subtitle_manager.rb
224
+ - bin/subtitle_processor.rb
225
+ - bin/sync_from_ssd.rb
226
+ - bin/vat
190
227
  - bin/youtube_automation.rb
191
228
  - bin/youtube_manager.rb
192
- - docs/dam/overview.md
193
- - docs/usage/gpt-context.md
229
+ - docs/README.md
230
+ - docs/archive/codebase-audit-2025-01.md
231
+ - docs/archive/documentation-framework-proposal.md
232
+ - docs/archive/purpose-and-philosophy.md
233
+ - docs/archive/test-coverage-quick-wins.md
234
+ - docs/archive/tool-discovery.md
235
+ - docs/archive/tool-documentation-analysis.md
236
+ - docs/configuration/.env.example
237
+ - docs/configuration/README.md
238
+ - docs/configuration/channels.example.json
239
+ - docs/configuration/settings.example.json
240
+ - docs/development/CODEX-recommendations.md
241
+ - docs/development/README.md
242
+ - docs/development/cli-architecture-patterns.md
243
+ - docs/development/pattern-comparison.md
244
+ - docs/prd-unified-brands-configuration.md
245
+ - docs/project-brand-systems-analysis.md
246
+ - docs/tools/bank-reconciliation.md
247
+ - docs/tools/cli-actions.md
248
+ - docs/tools/configuration.md
249
+ - docs/tools/gpt-context.md
250
+ - docs/tools/index.md
251
+ - docs/tools/move-images.md
252
+ - docs/tools/name-manager.md
253
+ - docs/tools/prompt-tools.md
254
+ - docs/tools/subtitle-processor.md
255
+ - docs/tools/youtube-automation.md
256
+ - docs/tools/youtube-manager.md
257
+ - docs/vat/dam-vision.md
258
+ - docs/vat/session-summary-2025-11-09.md
259
+ - docs/vat/usage.md
260
+ - docs/vat/vat-testing-plan.md
194
261
  - exe/ad_config
195
262
  - exe/gpt_context
196
263
  - exe/prompt_tools
@@ -207,6 +274,7 @@ files:
207
274
  - lib/appydave/tools/configuration/_doc.md
208
275
  - lib/appydave/tools/configuration/config.rb
209
276
  - lib/appydave/tools/configuration/configurable.rb
277
+ - lib/appydave/tools/configuration/models/brands_config.rb
210
278
  - lib/appydave/tools/configuration/models/channels_config.rb
211
279
  - lib/appydave/tools/configuration/models/config_base.rb
212
280
  - lib/appydave/tools/configuration/models/settings_config copy.xrb
@@ -224,15 +292,21 @@ files:
224
292
  - lib/appydave/tools/name_manager/project_name.rb
225
293
  - lib/appydave/tools/prompt_tools/_doc.md
226
294
  - lib/appydave/tools/prompt_tools/prompt_completion.rb
227
- - lib/appydave/tools/subtitle_manager/_doc-clean.md
228
- - lib/appydave/tools/subtitle_manager/_doc-join.md
229
- - lib/appydave/tools/subtitle_manager/_doc-todo.md
230
- - lib/appydave/tools/subtitle_manager/clean.rb
231
- - lib/appydave/tools/subtitle_manager/join.rb
295
+ - lib/appydave/tools/subtitle_processor/_doc-clean.md
296
+ - lib/appydave/tools/subtitle_processor/_doc-join.md
297
+ - lib/appydave/tools/subtitle_processor/_doc-todo.md
298
+ - lib/appydave/tools/subtitle_processor/clean.rb
299
+ - lib/appydave/tools/subtitle_processor/join.rb
232
300
  - lib/appydave/tools/types/array_type.rb
233
301
  - lib/appydave/tools/types/base_model.rb
234
302
  - lib/appydave/tools/types/hash_type.rb
235
303
  - lib/appydave/tools/types/indifferent_access_hash.rb
304
+ - lib/appydave/tools/vat/config.rb
305
+ - lib/appydave/tools/vat/config_loader.rb
306
+ - lib/appydave/tools/vat/manifest_generator.rb
307
+ - lib/appydave/tools/vat/project_listing.rb
308
+ - lib/appydave/tools/vat/project_resolver.rb
309
+ - lib/appydave/tools/vat/s3_operations.rb
236
310
  - lib/appydave/tools/version.rb
237
311
  - lib/appydave/tools/youtube_automation/_doc.md
238
312
  - lib/appydave/tools/youtube_automation/gpt_agent.rb
@@ -245,9 +319,6 @@ files:
245
319
  - lib/appydave/tools/youtube_manager/reports/video_details_report.rb
246
320
  - lib/appydave/tools/youtube_manager/update_video.rb
247
321
  - lib/appydave/tools/youtube_manager/youtube_base.rb
248
- - lib/mj-paste-test/main.rb
249
- - lib/mj-paste-test/prompts.txt
250
- - lib/mj-paste-test/readme-leonardo.md
251
322
  - package.json
252
323
  - sig/appydave/tools.rbs
253
324
  homepage: http://appydave.com/gems/appydave-tools
@@ -276,5 +347,5 @@ requirements: []
276
347
  rubygems_version: 3.4.20
277
348
  signing_key:
278
349
  specification_version: 4
279
- summary: AppyDave YouTube Automation Tools
350
+ summary: AppyDave productivity toolkit - CLI utilities for YouTube workflow automation
280
351
  test_files: []
data/docs/dam/overview.md DELETED
@@ -1,28 +0,0 @@
1
- # DAM - Digital Asset Management
2
-
3
- Digital Asset Management (DAM) is a system that stores, organizes, and retrieves digital assets such as images, videos, and other multimedia files.
4
-
5
- DAM systems are used by organizations to manage their digital assets efficiently and effectively.
6
-
7
- This document provides an overview of digital asset management (dam) from the point of view of AppyDave and FliVideo.
8
-
9
- > This is a preliminary document that needs to be moved to the appropriate file and project location.
10
-
11
- ## Stories
12
-
13
- As a content creator, I want to keep track of the different brands hat I'm running where a business unit represents brand
14
- As a content creator, I want to manage the types of projects and extra configuration associated with each brand
15
- As a content creator, I want to be able to find assets associated with a project and brand
16
- As a contact creator, I may need to split specific projects across multiple drive locations For short and long-term storage and for team sharing
17
- As a contact creator, I need to be able to easily create a new project for a brand and have it sequentially labelled in an appropriate location
18
- As a content creator, I need a new project to be initialised based on the brand/project configuration
19
- As a content creator, I need tools that will automatically transfer files to project folder locations based on source, file type, and naming convention
20
- As a contact creator, I need to be able to create, remove, rename, update, list, project files
21
- As a contact creator, I need to be able to archive or reverse archive project files
22
- As a content creator, I need to be able to work with video transcriptions for use by various AI tools
23
- As content creator, I need a well-defined project, naming convention.
24
- As a content creator, I need configurable project structures and rules
25
- As content creator, I need a well-defined asset, naming Convention
26
- As a contact creator, I need assets to be stored in various locations within the project using smart rules
27
-
28
-
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'io/console'
4
-
5
- # input_prompts_filename = 'prompts.txt'
6
- input_prompts_filename = '/Users/davidcruwys/dev/ai-prompts/midjourney/documentation/clean-prompts/input.txt'
7
- output_prompts_filename = '/Users/davidcruwys/dev/ai-prompts/midjourney/documentation/clean-prompts/processed.txt'
8
-
9
- count = 1
10
-
11
- File.readlines(input_prompts_filename).each do |line|
12
- raw_prompt = line.strip
13
-
14
- prompt = "/imagine prompt: #{raw_prompt}"
15
-
16
- display_prompt = "#{count} :: #{prompt}"
17
- puts display_prompt
18
-
19
- IO.popen('pbcopy', 'w') { |f| f << prompt }
20
- File.open(output_prompts_filename, 'a') { |f| f.puts raw_prompt }
21
-
22
- count += 1
23
-
24
- lines = File.readlines(input_prompts_filename)
25
- lines.delete_at(0)
26
- File.write(input_prompts_filename, lines.join)
27
-
28
- if (count % 8).zero?
29
- puts 'Press any key to continue...'
30
- $stdin.getch
31
- puts "\n"
32
- else
33
- sleep(5)
34
- end
35
- end
@@ -1,18 +0,0 @@
1
- 3D, software and app IT business, illustration, iphone, tablet, computer, graphs, datas, light green, white, grey --v 4
2
- Small and cute urban laboratory, 3d blender render, soft smooth lighting, rain background,100mm lens, 4k UHD, isometric, tilt – shift --v 5
3
- Small and cute urban laboratory, 3d blender render, soft smooth lighting, rain background,100mm lens, 4k UHD, isometric, tilt – shift --v 4
4
- clean gradient knolling 3D illustration design for professional saas software office automation, colored gradient blue white green and warm sunshine accents and neutral colors, with abstract lines, behance, dribbble --v 4
5
- ultra realistic tetris pattern , 5-Dimensional, Nonagon, Star Prism, Polygon, Happy Accidents, Refreshing, Strong, Binary, Hexadecimal, ray tracing, global illumination, octane render,metallic, shiny --v 4
6
- Tilt shift, depth of field, low poly, starry night, solid simple mobile game asset, diorama, tilt shift,depth of field, cute isometric clear view of cute [Marina Bay Sands], fairytale, orientalism, soft pastel colors, starry mystical night – time, volumetric lighting, dramatic lighting, vibrant colors,triadic color harmony, stars and moon on dark background, motes, dustlights, air particles,stardusts, vibrant vivid sharp clear, made with blender 3D, in the style of artstation and behance --v 5
7
- sustainability and blockchain theme, no text, showing crypto icons, information flow, mixing 3D and vector styles, images only, --v 4
8
- cryptocurrency data charts, white background, white, concept art. 3d rendering illustration. vivid colors, depth of field, dramatic lighting, sharp focus, epic composition, 8k, UHD, natural light, photo realistic, maximum texture, HDR, FStop 1.8, High octane render, Unreal engine 5, photoshoot, DSLR, cinematic lighting, highly detailed, ray tracing, Cinematic, Photoshoot, Dramatic, DSLR, Ultra-Wide Angle, 32k, Ultra-HD, Super-Resolution, Bokeh blue soft light background, Backlight, AMOLED, Cinematic Lighting, Volumetric Lighting --v 4
9
- pixel cubes vector svg, brain as brain cloud with colorful flashes social impact and with a total white background photo in Kodak Color 400, professional photography, insta style, photographic style, Unreal Engine, Cinematic, Color Grading, Editorial Photography, Photography, Photoshoot, White Balance, background white, 32k --v 5
10
- finance charts, white background, white, concept art. 3d rendering illustration. vivid colors, depth of field, dramatic lighting, sharp focus, epic composition, 8k, UHD, natural light, photo realistic, maximum texture, HDR, FStop 1.8, High octane render, Unreal engine 5, photoshoot, DSLR, cinematic lighting, highly detailed, ray tracing, Cinematic, Photoshoot, Dramatic, DSLR, Ultra-Wide Angle, 32k, Ultra-HD, Super-Resolution, Bokeh blue soft light background, Backlight, AMOLED, Cinematic Lighting, Volumetric Lighting --v 4
11
- facebook cover, marketing charts, only charts displayed on various screens of Apple devices, laptop, mobile, 4k --v 4
12
- cup of coffee over a table, table with charts, volumetric ligh --v 4
13
- color cube wide gamut pantone all colors color space --v 5
14
- block network graph universe parallel connections 3D --v 5
15
- Tilt-shift futuristic city, night, skylines, ciberpunk by Felipe Pantone --v 4
16
- make a pop art deco epic city, tilt shift, with trees and topiary, a river running through the city, Cinematography, ultra detailed, 8k, photorealistic,hd, octane render, digitally rendered, award-winning photograph, timeless beauty, cinematic lighting, sophisticated color palette, cinematic focus, symmetrical balance, glowing, octane render, trending on artstation, 3d rendered, 3d --v 4
17
- 3D isometric drawing, Asian restaurant, cyberpunk --v 4
18
- architect paper plan, on a desk, realistic picture, modern, design, 8k, --v 4
File without changes