appydave-tools 0.17.0 → 0.18.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.
@@ -1,6 +1,6 @@
1
- # VAT (Video Asset Tools) - Usage Guide
1
+ # DAM (Digital Asset Management) - Usage Guide
2
2
 
3
- **VAT** is a unified CLI for managing video projects across local storage, S3 cloud collaboration, and SSD archival storage.
3
+ **DAM** is a unified CLI for managing video projects across local storage, S3 cloud collaboration, and SSD archival storage.
4
4
 
5
5
  ## Table of Contents
6
6
 
@@ -21,22 +21,22 @@
21
21
  gem install appydave-tools
22
22
 
23
23
  # Initialize configuration
24
- vat init
24
+ dam init
25
25
 
26
26
  # List available brands
27
- vat list
27
+ dam list
28
28
 
29
29
  # List projects for a brand
30
- vat list appydave
30
+ dam list appydave
31
31
 
32
32
  # Upload files to S3 for collaboration
33
- vat s3-up appydave b65
33
+ dam s3-up appydave b65
34
34
 
35
35
  # Download files from S3
36
- vat s3-down appydave b65
36
+ dam s3-down appydave b65
37
37
 
38
38
  # Check sync status
39
- vat s3-status appydave b65
39
+ dam s3-status appydave b65
40
40
  ```
41
41
 
42
42
  ---
@@ -52,14 +52,14 @@ gem install appydave-tools
52
52
  ### Initialize Configuration
53
53
 
54
54
  ```bash
55
- vat init
55
+ dam init
56
56
  ```
57
57
 
58
- This creates `~/.vat-config` pointing to your video projects directory.
58
+ This creates `~/.dam-config` pointing to your video projects directory.
59
59
 
60
60
  ### AWS CLI Setup
61
61
 
62
- VAT uses the AWS CLI for S3 operations. Install and configure:
62
+ DAM uses the AWS CLI for S3 operations. Install and configure:
63
63
 
64
64
  ```bash
65
65
  # Install AWS CLI (macOS)
@@ -73,9 +73,9 @@ aws configure
73
73
 
74
74
  ## Configuration
75
75
 
76
- ### System Configuration (`~/.vat-config`)
76
+ ### System Configuration (`~/.dam-config`)
77
77
 
78
- Created by `vat init`:
78
+ Created by `dam init`:
79
79
 
80
80
  ```bash
81
81
  VIDEO_PROJECTS_ROOT=/Users/yourname/dev/video-projects
@@ -105,37 +105,37 @@ SSD_BASE=/Volumes/T7/youtube-PUBLISHED/appydave
105
105
 
106
106
  ### Initialization & Help
107
107
 
108
- #### `vat init`
109
- Initialize VAT configuration.
108
+ #### `dam init`
109
+ Initialize DAM configuration.
110
110
 
111
111
  ```bash
112
- vat init
112
+ dam init
113
113
  ```
114
114
 
115
- #### `vat help [command]`
115
+ #### `dam help [command]`
116
116
  Show help information.
117
117
 
118
118
  ```bash
119
- vat help # Overview
120
- vat help s3-up # Command-specific help
121
- vat help brands # List available brands
122
- vat help workflows # Explain FliVideo vs Storyline
119
+ dam help # Overview
120
+ dam help s3-up # Command-specific help
121
+ dam help brands # List available brands
122
+ dam help workflows # Explain FliVideo vs Storyline
123
123
  ```
124
124
 
125
125
  ### Project Discovery
126
126
 
127
- #### `vat list [--summary] [brand] [pattern]`
127
+ #### `dam list [--summary] [brand] [pattern]`
128
128
  List brands and projects.
129
129
 
130
130
  **Mode 1: Brands only (clean list)**
131
131
  ```bash
132
- vat list
132
+ dam list
133
133
  # Output: Brands: appydave, aitldr, joy, kiros, ss, voz
134
134
  ```
135
135
 
136
136
  **Mode 2: Brands with project counts (summary)**
137
137
  ```bash
138
- vat list --summary
138
+ dam list --summary
139
139
  # Output:
140
140
  # appydave: 27 projects
141
141
  # voz: 3 projects
@@ -144,31 +144,31 @@ vat list --summary
144
144
 
145
145
  **Mode 3: Specific brand's projects**
146
146
  ```bash
147
- vat list appydave
147
+ dam list appydave
148
148
  # Output: Lists all AppyDave projects
149
149
  ```
150
150
 
151
151
  **Mode 3b: Pattern matching**
152
152
  ```bash
153
- vat list appydave 'b6*'
153
+ dam list appydave 'b6*'
154
154
  # Output: Lists b60, b61, b62...b69 projects
155
155
  ```
156
156
 
157
157
  ### S3 Sync Commands
158
158
 
159
- #### `vat s3-up [brand] [project] [--dry-run]`
159
+ #### `dam s3-up [brand] [project] [--dry-run]`
160
160
  Upload files from local `s3-staging/` to S3.
161
161
 
162
162
  ```bash
163
163
  # With explicit args
164
- vat s3-up appydave b65
164
+ dam s3-up appydave b65
165
165
 
166
166
  # Auto-detect from current directory
167
167
  cd ~/dev/video-projects/v-appydave/b65-project
168
- vat s3-up
168
+ dam s3-up
169
169
 
170
170
  # Dry-run (preview without uploading)
171
- vat s3-up appydave b65 --dry-run
171
+ dam s3-up appydave b65 --dry-run
172
172
  ```
173
173
 
174
174
  **What it does:**
@@ -176,19 +176,19 @@ vat s3-up appydave b65 --dry-run
176
176
  - Skips files already in sync (MD5 comparison)
177
177
  - Shows progress and summary
178
178
 
179
- #### `vat s3-down [brand] [project] [--dry-run]`
179
+ #### `dam s3-down [brand] [project] [--dry-run]`
180
180
  Download files from S3 to local `s3-staging/`.
181
181
 
182
182
  ```bash
183
183
  # With explicit args
184
- vat s3-down appydave b65
184
+ dam s3-down appydave b65
185
185
 
186
186
  # Auto-detect
187
187
  cd ~/dev/video-projects/v-appydave/b65-project
188
- vat s3-down
188
+ dam s3-down
189
189
 
190
190
  # Dry-run
191
- vat s3-down voz boy-baker --dry-run
191
+ dam s3-down voz boy-baker --dry-run
192
192
  ```
193
193
 
194
194
  **What it does:**
@@ -196,11 +196,11 @@ vat s3-down voz boy-baker --dry-run
196
196
  - Skips files already in sync
197
197
  - Creates `s3-staging/` if it doesn't exist
198
198
 
199
- #### `vat s3-status [brand] [project]`
199
+ #### `dam s3-status [brand] [project]`
200
200
  Check sync status between local and S3.
201
201
 
202
202
  ```bash
203
- vat s3-status appydave b65
203
+ dam s3-status appydave b65
204
204
  ```
205
205
 
206
206
  **Output:**
@@ -222,46 +222,136 @@ Status:
222
222
  ⚠️ Out of sync (file changed): 0
223
223
  ```
224
224
 
225
- #### `vat s3-cleanup [brand] [project] [--dry-run] [--force]`
225
+ #### `dam s3-cleanup-remote [brand] [project] [--dry-run] [--force]`
226
226
  Delete S3 staging files for a project.
227
227
 
228
228
  ```bash
229
229
  # Preview what would be deleted
230
- vat s3-cleanup appydave b65 --dry-run
230
+ dam s3-cleanup-remote appydave b65 --dry-run
231
231
 
232
232
  # Delete with confirmation prompt
233
- vat s3-cleanup appydave b65
233
+ dam s3-cleanup-remote appydave b65
234
234
 
235
235
  # Delete without confirmation
236
- vat s3-cleanup appydave b65 --force
236
+ dam s3-cleanup-remote appydave b65 --force
237
237
  ```
238
238
 
239
239
  **Warning:** This deletes files from S3. Use `--dry-run` first!
240
240
 
241
+ **Note:** The old `dam s3-cleanup` command still works but shows a deprecation warning.
242
+
243
+ #### `dam s3-cleanup-local [brand] [project] [--dry-run] [--force]`
244
+ Delete local s3-staging files for a project.
245
+
246
+ ```bash
247
+ # Preview what would be deleted
248
+ dam s3-cleanup-local appydave b65 --dry-run
249
+
250
+ # Delete with confirmation prompt
251
+ dam s3-cleanup-local appydave b65
252
+
253
+ # Delete without confirmation
254
+ dam s3-cleanup-local appydave b65 --force
255
+ ```
256
+
257
+ **Warning:** This deletes local files in the s3-staging directory. Use `--dry-run` first!
258
+
241
259
  ### Project Management
242
260
 
243
- #### `vat manifest [brand]`
244
- Generate project manifest for a brand.
261
+ #### `dam manifest [brand] [--all]`
262
+ Generate project manifest for a brand (tracks projects across local + SSD storage).
245
263
 
246
264
  ```bash
247
- vat manifest appydave
265
+ # Generate manifest for specific brand
266
+ dam manifest appydave
267
+
268
+ # Generate manifests for all configured brands
269
+ dam manifest --all
270
+ ```
271
+
272
+ **What it does:**
273
+ - Scans local and SSD storage locations
274
+ - Tracks project distribution (local only, SSD only, or both)
275
+ - Calculates disk usage statistics
276
+ - Validates project ID formats
277
+ - Outputs `projects.json` in brand directory
278
+
279
+ **Example output:**
248
280
  ```
281
+ 📊 Generating manifest for appydave...
249
282
 
250
- #### `vat archive [brand] [project] [--dry-run]`
251
- Archive project to SSD backup.
283
+ Generated /path/to/v-appydave/projects.json
284
+ Found 27 unique projects
285
+
286
+ Distribution:
287
+ Local only: 15
288
+ SSD only: 8
289
+ Both locations: 4
290
+
291
+ Disk Usage:
292
+ Local: 45.3 GB
293
+ SSD: 120.7 GB
294
+
295
+ 🔍 Running validations...
296
+ ✅ All validations passed!
297
+ ```
298
+
299
+ #### `dam archive [brand] [project] [--dry-run] [--force]`
300
+ Archive completed project to SSD backup location.
252
301
 
253
302
  ```bash
254
- vat archive appydave b63
255
- vat archive appydave b63 --dry-run
303
+ # Preview archive operation
304
+ dam archive appydave b63 --dry-run
305
+
306
+ # Copy to SSD (leaves local copy intact)
307
+ dam archive appydave b63
308
+
309
+ # Copy to SSD and delete local copy
310
+ dam archive appydave b63 --force
256
311
  ```
257
312
 
258
- #### `vat sync-ssd [brand]`
259
- Sync light files from SSD for brand.
313
+ **What it does:**
314
+ - Copies entire project directory to SSD backup location
315
+ - Verifies SSD is mounted before archiving
316
+ - Shows project size before copying
317
+ - Optional: Delete local copy after successful archive (--force)
318
+
319
+ **Configuration:** Uses `ssd_backup` location from `brands.json` config.
320
+
321
+ #### `dam sync-ssd [brand] [--dry-run]`
322
+ Restore light files (subtitles, images, docs) from SSD to local for archived projects.
323
+
324
+ **Important:** Does NOT sync heavy video files (MP4, MOV, etc.)
260
325
 
261
326
  ```bash
262
- vat sync-ssd appydave
327
+ # Sync all AppyDave projects from SSD
328
+ dam sync-ssd appydave
329
+
330
+ # Preview what would be synced
331
+ dam sync-ssd appydave --dry-run
332
+
333
+ # Sync VOZ projects
334
+ dam sync-ssd voz
263
335
  ```
264
336
 
337
+ **What it does:**
338
+ - Reads `projects.json` manifest to find projects on SSD
339
+ - Syncs ALL eligible projects for the brand (not one at a time)
340
+ - Only copies light files: `.srt`, `.vtt`, `.jpg`, `.png`, `.md`, `.txt`, `.json`, `.yml`
341
+ - Excludes heavy files: `.mp4`, `.mov`, `.avi`, `.mkv`, `.webm`
342
+ - Creates `archived/{range}/{project}/` directory structure
343
+ - Skips files already synced (size comparison)
344
+
345
+ **Requirements:**
346
+ - Must have `projects.json` manifest (run: `dam manifest <brand>` first)
347
+ - SSD must be mounted
348
+ - Projects must exist on SSD
349
+
350
+ **Use Cases:**
351
+ - Restore subtitles and images without huge video files
352
+ - Access project documentation from archived projects
353
+ - Prepare project for re-editing (get metadata, then manually copy videos if needed)
354
+
265
355
  ---
266
356
 
267
357
  ## Examples
@@ -276,7 +366,7 @@ mkdir -p s3-staging
276
366
  cp ~/Downloads/intro-footage.mp4 s3-staging/
277
367
 
278
368
  # Upload to S3
279
- vat s3-up appydave b65
369
+ dam s3-up appydave b65
280
370
  ```
281
371
 
282
372
  **Jan (downloads from S3):**
@@ -284,40 +374,40 @@ vat s3-up appydave b65
284
374
  cd ~/dev/video-projects/v-appydave/b65-guy-monroe
285
375
 
286
376
  # Check what's available
287
- vat s3-status appydave b65
377
+ dam s3-status appydave b65
288
378
 
289
379
  # Download files
290
- vat s3-down appydave b65
380
+ dam s3-down appydave b65
291
381
 
292
382
  # Edit files in s3-staging/
293
383
  # ...
294
384
 
295
385
  # Upload edited files back
296
- vat s3-up appydave b65
386
+ dam s3-up appydave b65
297
387
  ```
298
388
 
299
389
  ### Example 2: Pattern Matching
300
390
 
301
391
  ```bash
302
392
  # List all b60-series projects
303
- vat list appydave 'b6*'
393
+ dam list appydave 'b6*'
304
394
 
305
395
  # List all completed projects
306
- vat list appydave 'b[1-5]*'
396
+ dam list appydave 'b[1-5]*'
307
397
  ```
308
398
 
309
399
  ### Example 3: Cleanup After Project Completion
310
400
 
311
401
  ```bash
312
402
  # Archive to SSD
313
- vat archive appydave b63
403
+ dam archive appydave b63
314
404
 
315
405
  # Verify sync status
316
- vat s3-status appydave b63
406
+ dam s3-status appydave b63
317
407
 
318
408
  # Clean up S3 (saves storage costs)
319
- vat s3-cleanup appydave b63 --dry-run # Preview
320
- vat s3-cleanup appydave b63 --force # Execute
409
+ dam s3-cleanup-remote appydave b63 --dry-run # Preview
410
+ dam s3-cleanup-remote appydave b63 --force # Execute
321
411
  ```
322
412
 
323
413
  ---
@@ -332,7 +422,7 @@ vat s3-cleanup appydave b63 --force # Execute
332
422
 
333
423
  **Short Name Support:**
334
424
  ```bash
335
- vat s3-up appydave b65 # Expands to full project name
425
+ dam s3-up appydave b65 # Expands to full project name
336
426
  ```
337
427
 
338
428
  **Typical Flow:**
@@ -350,7 +440,7 @@ vat s3-up appydave b65 # Expands to full project name
350
440
 
351
441
  **Full Name Required:**
352
442
  ```bash
353
- vat s3-up voz boy-baker # Use full project name
443
+ dam s3-up voz boy-baker # Use full project name
354
444
  ```
355
445
 
356
446
  **Typical Flow:**
@@ -364,7 +454,7 @@ vat s3-up voz boy-baker # Use full project name
364
454
 
365
455
  ## Brand Shortcuts
366
456
 
367
- VAT supports brand shortcuts for faster typing:
457
+ DAM supports brand shortcuts for faster typing:
368
458
 
369
459
  | Shortcut | Full Name | Purpose |
370
460
  |----------|-----------|---------|
@@ -378,12 +468,12 @@ VAT supports brand shortcuts for faster typing:
378
468
  **Usage:**
379
469
  ```bash
380
470
  # Both are equivalent
381
- vat list appydave
382
- vat list v-appydave
471
+ dam list appydave
472
+ dam list v-appydave
383
473
 
384
474
  # Both are equivalent
385
- vat s3-up joy project-name
386
- vat s3-up v-beauty-and-joy project-name
475
+ dam s3-up joy project-name
476
+ dam s3-up v-beauty-and-joy project-name
387
477
  ```
388
478
 
389
479
  ---
@@ -394,19 +484,19 @@ vat s3-up v-beauty-and-joy project-name
394
484
 
395
485
  **Solution:**
396
486
  ```bash
397
- vat init
487
+ dam init
398
488
  ```
399
489
 
400
490
  ### "Brand directory not found"
401
491
 
402
492
  **Check available brands:**
403
493
  ```bash
404
- vat list
494
+ dam list
405
495
  ```
406
496
 
407
497
  **Verify config:**
408
498
  ```bash
409
- cat ~/.vat-config
499
+ cat ~/.dam-config
410
500
  ```
411
501
 
412
502
  ### "No project found matching 'b65'"
@@ -418,10 +508,10 @@ cat ~/.vat-config
418
508
  **Debug:**
419
509
  ```bash
420
510
  # List all projects
421
- vat list appydave
511
+ dam list appydave
422
512
 
423
513
  # Use full project name
424
- vat s3-up appydave b65-full-project-name
514
+ dam s3-up appydave b65-full-project-name
425
515
  ```
426
516
 
427
517
  ### "AWS credentials not found"
@@ -441,7 +531,7 @@ aws configure
441
531
  ### "Could not detect brand and project from current directory"
442
532
 
443
533
  **Solution:** Either:
444
- 1. Provide explicit args: `vat s3-up appydave b65`
534
+ 1. Provide explicit args: `dam s3-up appydave b65`
445
535
  2. Ensure you're in project directory: `cd v-appydave/b65-project`
446
536
 
447
537
  ### Files Not Syncing (Always "Skipped")
@@ -450,8 +540,8 @@ aws configure
450
540
 
451
541
  **Solution:** If you need to force re-upload, delete from S3 first:
452
542
  ```bash
453
- vat s3-cleanup appydave b65 --force
454
- vat s3-up appydave b65
543
+ dam s3-cleanup appydave b65 --force
544
+ dam s3-up appydave b65
455
545
  ```
456
546
 
457
547
  ---
@@ -466,9 +556,9 @@ All S3 commands support auto-detection:
466
556
  cd ~/dev/video-projects/v-appydave/b65-project
467
557
 
468
558
  # These auto-detect brand and project
469
- vat s3-up
470
- vat s3-down
471
- vat s3-status
559
+ dam s3-up
560
+ dam s3-down
561
+ dam s3-status
472
562
  ```
473
563
 
474
564
  ### Dry-Run Mode
@@ -476,9 +566,10 @@ vat s3-status
476
566
  Preview actions without making changes:
477
567
 
478
568
  ```bash
479
- vat s3-up appydave b65 --dry-run
480
- vat s3-down voz boy-baker --dry-run
481
- vat s3-cleanup aitldr movie-posters --dry-run
569
+ dam s3-up appydave b65 --dry-run
570
+ dam s3-down voz boy-baker --dry-run
571
+ dam s3-cleanup-remote aitldr movie-posters --dry-run
572
+ dam s3-cleanup-local appydave b65 --dry-run
482
573
  ```
483
574
 
484
575
  ### Interactive Selection
@@ -486,7 +577,7 @@ vat s3-cleanup aitldr movie-posters --dry-run
486
577
  When multiple projects match short name:
487
578
 
488
579
  ```bash
489
- vat s3-up appydave b65
580
+ dam s3-up appydave b65
490
581
  # Output:
491
582
  # ⚠️ Multiple projects match 'b65':
492
583
  # 1. b65-first-project
@@ -498,10 +589,10 @@ vat s3-up appydave b65
498
589
 
499
590
  ## See Also
500
591
 
501
- - **AWS Setup Guide:** [docs/usage/vat/aws-setup.md](./vat/aws-setup.md)
502
- - **Architecture:** [docs/usage/vat/architecture.md](./vat/architecture.md)
503
- - **Onboarding:** [docs/usage/vat/onboarding.md](./vat/onboarding.md)
504
- - **Integration Brief:** [docs/vat-integration-plan.md](../vat-integration-plan.md)
592
+ - **AWS Setup Guide:** [docs/usage/dam/aws-setup.md](./dam/aws-setup.md)
593
+ - **Architecture:** [docs/usage/dam/architecture.md](./dam/architecture.md)
594
+ - **Onboarding:** [docs/usage/dam/onboarding.md](./dam/onboarding.md)
595
+ - **Integration Brief:** [docs/dam-integration-plan.md](../dam-integration-plan.md)
505
596
 
506
597
  ---
507
598