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 +4 -4
- data/.rubocop.yml +2 -0
- data/CHANGELOG.md +12 -0
- data/CLAUDE.md +70 -0
- data/bin/dam +18 -6
- data/docs/README.md +1 -0
- data/docs/dam/batch-s3-listing-requirements.md +780 -0
- data/docs/guides/tools/video-file-namer.md +400 -0
- data/lib/appydave/tools/dam/project_listing.rb +218 -110
- data/lib/appydave/tools/dam/s3_operations.rb +110 -59
- data/lib/appydave/tools/version.rb +1 -1
- data/package.json +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: de41c00a018f0a3d86bbcd55b61be1fb13dc29b64f9c8a17fb814ba232ae253f
|
|
4
|
+
data.tar.gz: 823c49af94f5f79d1e9187682fd2d0c7060bc9f5062633f1c7e08a95241f697e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 #
|
|
974
|
-
dam list
|
|
975
|
-
dam list
|
|
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 ✅
|