appydave-tools 0.69.0 → 0.70.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: a24c15bc4b23513bde2a68019a63077e627f4a32908dedc8c2af882892809984
4
- data.tar.gz: 8c77419c2ce675ac8340ee450a02f7e530d2c59dbbd06c7573e5ec27a8069d6e
3
+ metadata.gz: de41c00a018f0a3d86bbcd55b61be1fb13dc29b64f9c8a17fb814ba232ae253f
4
+ data.tar.gz: 823c49af94f5f79d1e9187682fd2d0c7060bc9f5062633f1c7e08a95241f697e
5
5
  SHA512:
6
- metadata.gz: cb2f7b0f3828607d232a98164058fb1d5c01a90782dcb110a9ac34ed884035482503ae97a57f8ae8850bd23857475fb74fb3788ee48783170c9c6090cdec83ea
7
- data.tar.gz: f9cb457726c269bdeee39113683ac60f75c0931425bf7dbd79539e7c4ca784b55d2ef3ab9337ca377d01086a58f965f97bb7fbc12bbbfdf87b91dde10dcde47d
6
+ metadata.gz: 64de9b070797bfff4451d3f87843c95eeb9e91eb63dfceae8ff3767d482d42b1a6b0313bcaae0225562562f59d245d14604becf9b5d73a433895e7f318fe085c
7
+ data.tar.gz: e427734ec01fdad21b17c78208b2a85899f382dde7ee6a04ae5e5cf38a51e08ebd671e671d1953458d839db548d3e99d9def1b6ea5ee70514cf482beb25ff1db
data/.rubocop.yml CHANGED
@@ -21,6 +21,7 @@ Metrics/BlockLength:
21
21
  - "**/spec/**/*"
22
22
  - "*.gemspec"
23
23
  - "bin/gpt_context.rb"
24
+ - "lib/appydave/tools/dam/project_listing.rb"
24
25
  AllowedMethods:
25
26
  - configure
26
27
  - context
@@ -73,6 +74,7 @@ Naming/VariableNumber:
73
74
  Naming/MethodParameterName:
74
75
  AllowedNames:
75
76
  - as
77
+ - s3
76
78
  Style/EmptyMethod:
77
79
  Exclude:
78
80
  - "**/spec/**/*"
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # [0.69.0](https://github.com/appydave/appydave-tools/compare/v0.68.0...v0.69.0) (2025-11-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * disable RedundantFormat cop for intentional header formatting ([e4f03be](https://github.com/appydave/appydave-tools/commit/e4f03be70e101e704a617cc9d0f5bf5df9474070))
7
+
8
+
9
+ ### Features
10
+
11
+ * add fuzzy brand matching and improve table alignment ([bce8309](https://github.com/appydave/appydave-tools/commit/bce83093b3834b2f6a3c70d2fa5854b88f88d48b))
12
+
1
13
  # [0.68.0](https://github.com/appydave/appydave-tools/compare/v0.67.0...v0.68.0) (2025-11-22)
2
14
 
3
15
 
data/CLAUDE.md CHANGED
@@ -48,6 +48,76 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
48
48
  - **Shareable individually** - Tools can be featured in standalone videos
49
49
  - **Language flexible** - Currently Ruby, could be rewritten if needed
50
50
 
51
+ ## Documentation Discovery Protocol
52
+
53
+ **CRITICAL: When user asks about recent changes, work completed, or project history:**
54
+
55
+ ### 1. ALWAYS Check Existing Documentation FIRST
56
+
57
+ **Check in this order:**
58
+
59
+ 1. **CHANGELOG.md** (PRIMARY SOURCE for recent changes)
60
+ - Location: `/CHANGELOG.md`
61
+ - Contains: Complete version history (v0.0.2 → current)
62
+ - Organized by: Semantic version with Features/Fixes categorized
63
+ - Updated: Automatically via semantic-release on every release
64
+ - **Use this for:** "What changed recently?", "What work was done?", "Sprint summary"
65
+
66
+ 2. **Git log** (SECONDARY - only if CHANGELOG lacks detail)
67
+ - Use for: Commit-level detail, specific date ranges, author information
68
+ - Command: `git log --since="1 week ago" --oneline`
69
+
70
+ 3. **docs/ folders** (TERTIARY - for architecture/design decisions)
71
+ - `docs/code-quality/` - Audit reports, retrospectives, UAT plans
72
+ - `docs/dam/` - DAM-specific requirements and architecture
73
+ - `docs/usage/` - Tool usage guides
74
+
75
+ ### 2. Before Creating New Documentation
76
+
77
+ **ALWAYS verify:**
78
+ - ✅ Does it already exist in CHANGELOG.md?
79
+ - ✅ Does it exist in docs/ folders?
80
+ - ✅ Does it exist in existing markdown files?
81
+ - ✅ Is it redundant with automated changelogs?
82
+
83
+ **Only create new documentation if:**
84
+ - ❌ Information doesn't exist anywhere
85
+ - ❌ Existing docs have gaps
86
+ - ❌ New perspective/format is genuinely needed
87
+
88
+ ### 3. Common Mistakes to Avoid
89
+
90
+ **DON'T:**
91
+ - ❌ Jump straight to `git log` without checking CHANGELOG.md
92
+ - ❌ Suggest creating new changelogs when CHANGELOG.md exists
93
+ - ❌ Recreate information that's already in automated systems
94
+ - ❌ Ignore existing documentation
95
+
96
+ **DO:**
97
+ - ✅ Trust CHANGELOG.md as source of truth for version history
98
+ - ✅ Use existing docs before creating new ones
99
+ - ✅ Reference existing documentation in responses
100
+ - ✅ Supplement (not replace) existing docs
101
+
102
+ ### Example: User Asks "What work was done recently?"
103
+
104
+ **Correct approach:**
105
+ ```
106
+ 1. Read CHANGELOG.md
107
+ 2. Summarize recent versions (e.g., v0.60.0 → v0.69.0)
108
+ 3. Group features by theme
109
+ 4. Reference specific versions/commits
110
+ 5. Supplement with git log if more detail needed
111
+ ```
112
+
113
+ **Incorrect approach:**
114
+ ```
115
+ ❌ Run git log first
116
+ ❌ Manually count commits
117
+ ❌ Suggest creating new changelog
118
+ ❌ Ignore existing CHANGELOG.md
119
+ ```
120
+
51
121
  ## Common Commands
52
122
 
53
123
  ### Development Setup
data/bin/dam CHANGED
@@ -130,6 +130,7 @@ class VatCLI
130
130
  # List brands and projects
131
131
  def list_command(args)
132
132
  detailed = args.include?('--detailed')
133
+ s3 = args.include?('--s3')
133
134
  args = args.reject { |arg| arg.start_with?('--') || arg.start_with?('-') }
134
135
 
135
136
  brand_arg = args[0]
@@ -137,13 +138,13 @@ class VatCLI
137
138
 
138
139
  if brand_arg.nil?
139
140
  # List all brands with summary
140
- Appydave::Tools::Dam::ProjectListing.list_brands_with_counts(detailed: detailed)
141
+ Appydave::Tools::Dam::ProjectListing.list_brands_with_counts(detailed: detailed, s3: s3)
141
142
  elsif pattern_arg
142
143
  # Pattern matching
143
144
  Appydave::Tools::Dam::ProjectListing.list_with_pattern(brand_arg, pattern_arg)
144
145
  else
145
146
  # Specific brand
146
- Appydave::Tools::Dam::ProjectListing.list_brand_projects(brand_arg, detailed: detailed)
147
+ Appydave::Tools::Dam::ProjectListing.list_brand_projects(brand_arg, detailed: detailed, s3: s3)
147
148
  end
148
149
  rescue StandardError => e
149
150
  puts "❌ Error: #{e.message}"
@@ -956,7 +957,7 @@ class VatCLI
956
957
  puts <<~HELP
957
958
  List Command
958
959
 
959
- Usage: dam list [brand] [pattern]
960
+ Usage: dam list [brand] [pattern] [--s3] [--detailed]
960
961
 
961
962
  Modes:
962
963
  1. List all brands with summary:
@@ -969,10 +970,21 @@ class VatCLI
969
970
  dam list appydave 'b6*' # All projects b60-b69
970
971
  dam list appydave 'b4*' # All projects b40-b49
971
972
 
973
+ Options:
974
+ --s3 Show S3 sync status (slower, makes AWS API calls)
975
+ --detailed Show extended metadata (PATH, SSD, file counts)
976
+
972
977
  Examples:
973
- dam list # Tabular: brand, project count, size, modified
974
- dam list voz # Tabular: all VOZ projects with size/date
975
- dam list appydave 'b6*' # Tabular: b60-b69 projects with size/date
978
+ dam list # Fast: brand, project count, size, modified, git
979
+ dam list --s3 # Slower: adds S3 SYNC column
980
+ dam list voz # Fast: all VOZ projects (no S3 column)
981
+ dam list voz --s3 # Slower: VOZ projects with S3 sync status
982
+ dam list appydave 'b6*' # Fast: b60-b69 projects
983
+ dam list appydave --detailed --s3 # Comprehensive: all columns including S3
984
+
985
+ Performance Note:
986
+ The --s3 flag makes AWS API calls for each project, which can be slow.
987
+ Default view omits S3 status for faster performance.
976
988
  HELP
977
989
  end
978
990
 
data/docs/README.md CHANGED
@@ -11,6 +11,7 @@
11
11
  - **[DAM - Digital Asset Management](./guides/tools/dam/)** - Video project storage orchestration
12
12
  - [Usage Guide](./guides/tools/dam/dam-usage.md) ✅
13
13
  - [Testing Plan](./guides/tools/dam/dam-testing-plan.md) ✅
14
+ - **[VideoFileNamer](./guides/tools/video-file-namer.md)** - Generate structured video segment filenames ✅
14
15
  - **[GPT Context](./guides/tools/gpt-context.md)** - Gather files for AI context ✅
15
16
  - **[YouTube Manager](./guides/tools/youtube-manager.md)** - Manage YouTube metadata ✅
16
17
  - **[Subtitle Processor](./guides/tools/subtitle-processor.md)** - Clean/merge SRT files ✅