appydave-tools 0.41.0 → 0.43.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d87056ef6a0201fc1d722295aec17a46fa2c53a7581e9236db94369c8425ea9d
4
- data.tar.gz: 24eadac450c656d2c4f0e38b36a0683a2fa096c02df913d97c580d6c7e109c34
3
+ metadata.gz: abc6dfb0d67bcfeae2ed2bd59c51e5926b35948c57957226975a19f02ab835b1
4
+ data.tar.gz: dfb7b9e5a59260a87a9741edee11d2eb91cde891bf724ab7e312d40cdce78d7d
5
5
  SHA512:
6
- metadata.gz: 4390b2ec24eda2540a79fcb9dc0edea9c40d9d50e2cbf9720c56fa624071677a1e97f15be23f1cc63a7dbcb56c2a453bd28722154f0fbe0376689f6992110a79
7
- data.tar.gz: fc43acf77aeb8c132cc1ed02172366b4eadfee12b50bcbe138694cfc4ff1e00fd6fbfb847a12046ee0b81576fdb9a18214a9a88d341e7fb05d65b95407d77517
6
+ metadata.gz: 494ba66d882da3ed30f0ae7adb93a1459d45b550aca1f04d15d636b2fac16dc423f2a94125dbf0489cb42b662d859d7da915a110adb2a61248f9728d8f1e273f
7
+ data.tar.gz: b3d7dae675807d99fe02c612eb25fc6d0627e4eb34af4da153c4e7c56b242b23589b0711e0ba15120be4afb1eb7c797716fdfdbb4c92776e43680a70dff28478
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [0.42.0](https://github.com/appydave/appydave-tools/compare/v0.41.0...v0.42.0) (2025-11-21)
2
+
3
+
4
+ ### Features
5
+
6
+ * enhance DAM CLI with version flag, improved help system, and better error messages ([086ee99](https://github.com/appydave/appydave-tools/commit/086ee99dca632c797a2783880b5eb038f7a2d6ed))
7
+
8
+ # [0.41.0](https://github.com/appydave/appydave-tools/compare/v0.40.0...v0.41.0) (2025-11-21)
9
+
10
+
11
+ ### Features
12
+
13
+ * improve DAM UX - better error messages, timestamps, and status display ([cba0cc7](https://github.com/appydave/appydave-tools/commit/cba0cc70851005a57331956df6b648c173bc0846))
14
+
1
15
  # [0.40.0](https://github.com/appydave/appydave-tools/compare/v0.39.0...v0.40.0) (2025-11-21)
2
16
 
3
17
 
data/bin/dam CHANGED
@@ -34,12 +34,29 @@ class VatCLI
34
34
  }
35
35
  end
36
36
 
37
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
37
38
  def run
38
39
  command, *args = ARGV
39
40
 
41
+ # Handle --version and -v flags
42
+ if ['--version', '-v'].include?(command)
43
+ puts "DAM (Digital Asset Management) v#{Appydave::Tools::VERSION}"
44
+ puts 'Part of appydave-tools gem'
45
+ exit
46
+ end
47
+
40
48
  if command.nil?
41
49
  puts 'DAM - Video Asset Tools'
50
+ puts "Version: #{Appydave::Tools::VERSION}"
51
+ puts ''
42
52
  puts 'Usage: dam [command] [options]'
53
+ puts ''
54
+ puts 'Common commands:'
55
+ puts ' dam list # List all brands'
56
+ puts ' dam list <brand> # List projects for a brand'
57
+ puts ' dam status <brand> # Show brand status'
58
+ puts ' dam s3-up <brand> <project> # Upload to S3'
59
+ puts ''
43
60
  puts "Run 'dam help' for more information."
44
61
  exit
45
62
  end
@@ -47,20 +64,31 @@ class VatCLI
47
64
  if @commands.key?(command)
48
65
  @commands[command].call(args)
49
66
  else
50
- puts "Unknown command: #{command}"
51
- puts "Run 'dam help' for available commands."
67
+ puts "Unknown command: #{command}"
68
+ puts ''
69
+ puts 'Available commands:'
70
+ puts ' list, status, manifest'
71
+ puts ' s3-up, s3-down, s3-status, s3-cleanup-remote, s3-cleanup-local'
72
+ puts ' archive, sync-ssd'
73
+ puts ' repo-status, repo-sync, repo-push'
74
+ puts ' s3-share, s3-discover, s3-scan'
75
+ puts ''
76
+ puts "Run 'dam help' for detailed information."
52
77
  exit 1
53
78
  end
54
79
  end
80
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
55
81
 
56
82
  private
57
83
 
58
84
  # Show help information
59
- # rubocop:disable Metrics/CyclomaticComplexity
85
+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
60
86
  def help_command(args)
61
87
  topic = args[0]
62
88
 
63
89
  case topic
90
+ when 'help'
91
+ show_help_about_help
64
92
  when 'brands'
65
93
  show_brands_help
66
94
  when 'workflows'
@@ -80,11 +108,24 @@ class VatCLI
80
108
  puts "⚠️ '#{topic}' is deprecated. Use the new command name instead:\n\n"
81
109
  new_name = topic == 's3-cleanup' ? 's3-cleanup-remote' : 's3-cleanup-local'
82
110
  show_s3_help(new_name)
83
- else
111
+ when nil
84
112
  show_main_help
113
+ else
114
+ puts "❌ Unknown help topic: #{topic}"
115
+ puts ''
116
+ puts 'Available help topics:'
117
+ puts ' dam help brands # Brand shortcuts and configuration'
118
+ puts ' dam help workflows # FliVideo and Storyline workflows'
119
+ puts ' dam help config # Configuration setup'
120
+ puts ' dam help list # List command usage'
121
+ puts ' dam help s3-up # S3 upload command'
122
+ puts ' dam help s3-down # S3 download command'
123
+ puts ' dam help s3-status # S3 status command'
124
+ puts ''
125
+ puts "Run 'dam help' for general help."
85
126
  end
86
127
  end
87
- # rubocop:enable Metrics/CyclomaticComplexity
128
+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
88
129
 
89
130
  # List brands and projects
90
131
  def list_command(args)
@@ -729,6 +770,39 @@ class VatCLI
729
770
  HELP
730
771
  end
731
772
 
773
+ def show_help_about_help
774
+ puts <<~HELP
775
+ DAM Help System
776
+
777
+ The DAM CLI provides contextual help for all commands and concepts.
778
+
779
+ Usage:
780
+ dam help Show general help (all commands)
781
+ dam help <topic> Show help for specific topic
782
+
783
+ Available Help Topics:
784
+ brands Brand shortcuts and naming (appydave, voz, aitldr, etc.)
785
+ workflows FliVideo vs Storyline workflows explained
786
+ config Configuration file setup and paths
787
+ list List command usage and pattern matching
788
+ s3-up S3 upload command details
789
+ s3-down S3 download command details
790
+ s3-status S3 sync status command details
791
+
792
+ Tips:
793
+ - Most commands support --dry-run to preview actions
794
+ - Brand shortcuts are case-insensitive (ad, AD, Ad all work)
795
+ - Use patterns like 'b6*' to match multiple projects
796
+ - Run 'dam --version' to check your installed version
797
+
798
+ Examples:
799
+ dam help brands # Learn about brand configuration
800
+ dam help workflows # Understand video workflows
801
+ dam help config # Setup configuration files
802
+ dam help s3-up # S3 upload command help
803
+ HELP
804
+ end
805
+
732
806
  def show_brands_help
733
807
  puts <<~HELP
734
808
  Available Brands
@@ -61,6 +61,12 @@ module Appydave
61
61
 
62
62
  if projects.empty?
63
63
  puts "⚠️ No projects found for brand: #{brand}"
64
+ puts ''
65
+ puts ' This could mean:'
66
+ puts ' - The brand exists but has no project directories'
67
+ puts ' - The manifest needs updating'
68
+ puts ''
69
+ puts " Try: dam manifest #{brand_arg}"
64
70
  return
65
71
  end
66
72
 
@@ -105,6 +111,13 @@ module Appydave
105
111
 
106
112
  if matches.empty?
107
113
  puts "⚠️ No projects found matching pattern: #{pattern}"
114
+ puts ''
115
+ puts ' Pattern tips:'
116
+ puts ' - Use * for wildcards: b6* matches b60-b69'
117
+ puts ' - Use ? for single character: b6? matches b60-b69'
118
+ puts ' - Patterns are case-insensitive'
119
+ puts ''
120
+ puts " Try: dam list #{brand_arg} # See all projects"
108
121
  return
109
122
  end
110
123
 
@@ -123,7 +136,8 @@ module Appydave
123
136
  end
124
137
 
125
138
  # Print table header
126
- puts "Projects matching '#{pattern}' in #{brand}:"
139
+ match_count = matches.size
140
+ puts "#{match_count} project#{'s' if match_count != 1} matching '#{pattern}' in #{brand}:"
127
141
  puts 'PROJECT SIZE LAST MODIFIED PATH'
128
142
  puts '-' * 120
129
143
 
@@ -67,7 +67,10 @@ module Appydave
67
67
  .map { |path| File.basename(path) }
68
68
  .sort
69
69
 
70
- raise "❌ No projects found matching pattern '#{pattern}' in #{projects_dir}" if matches.empty?
70
+ if matches.empty?
71
+ raise "❌ No projects found matching pattern '#{pattern}'\n " \
72
+ "Try: dam list #{brand} # See all available projects"
73
+ end
71
74
 
72
75
  matches
73
76
  end
@@ -444,6 +444,8 @@ module Appydave
444
444
 
445
445
  unless Dir.exist?(project_dir)
446
446
  puts "❌ Project not found: #{project_dir}"
447
+ puts ''
448
+ puts " Try: dam list #{brand} # See available projects"
447
449
  return
448
450
  end
449
451
 
@@ -48,7 +48,11 @@ module Appydave
48
48
 
49
49
  unless project_entry
50
50
  puts '❌ Project not found in manifest'
51
- puts " Run: dam manifest #{brand}"
51
+ puts ''
52
+ puts ' This project exists locally but is not in the manifest.'
53
+ puts ''
54
+ puts " Try: dam manifest #{brand} # Regenerate manifest"
55
+ puts " Or: dam list #{brand} # See tracked projects"
52
56
  return
53
57
  end
54
58
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.41.0'
5
+ VERSION = '0.43.0'
6
6
  end
7
7
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appydave-tools",
3
- "version": "0.41.0",
3
+ "version": "0.43.0",
4
4
  "description": "AppyDave YouTube Automation Tools",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appydave-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.41.0
4
+ version: 0.43.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys