appydave-tools 0.18.3 → 0.18.5
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/CHANGELOG.md +15 -0
- data/docs/dam/{vat-testing-plan.md → dam-testing-plan.md} +118 -46
- data/docs/dam/usage.md +58 -5
- data/lib/appydave/tools/version.rb +1 -1
- data/package.json +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 94b533e9d8174f22fe36c1dbc435b1051ddef31ac461184741958e75ae451c47
|
|
4
|
+
data.tar.gz: 252ea976c625cd3a473c46e219e4595e7f568d6f5fdbb96060b8e399cb52fd48
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1078bed7c6b2b0f4144af45d572a96c10ffa8e31d34f6dc100bc4094a847be67b500dfdf00c8e67a790e71f5e6946d29105fd37466f4412a9326dbdc509d139a
|
|
7
|
+
data.tar.gz: aa2c82acd177c562f5950b0610c05d4b278e76e44b9bd3af68d89a946dd8ffeb9cfc8359dd3e91f13d738058e7c0504978f9772640a3025bb3b2905044eec5d3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [0.18.4](https://github.com/appydave/appydave-tools/compare/v0.18.3...v0.18.4) (2025-11-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* document dry-run and force flag support for all DAM commands in usage guide and test plan ([b4f54da](https://github.com/appydave/appydave-tools/commit/b4f54da17589b31c029d5ef62c92af8b3724ee2f))
|
|
7
|
+
|
|
8
|
+
## [0.18.3](https://github.com/appydave/appydave-tools/compare/v0.18.2...v0.18.3) (2025-11-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* resolve archived structure detection and range folder calculation for DAM manifest and sync ([dec1400](https://github.com/appydave/appydave-tools/commit/dec1400c561f11959fb6aecd7761e916ca525082))
|
|
14
|
+
* resolve rubocop violations in manifest_generator (refactor build_project_entry, simplify SSD check) ([ced61be](https://github.com/appydave/appydave-tools/commit/ced61be41c3da352831d46e3486968f5ee55842c))
|
|
15
|
+
|
|
1
16
|
## [0.18.2](https://github.com/appydave/appydave-tools/compare/v0.18.1...v0.18.2) (2025-11-10)
|
|
2
17
|
|
|
3
18
|
|
|
@@ -30,17 +30,32 @@
|
|
|
30
30
|
**Commands - Phase 2 Complete** (CLI args + auto-detect):
|
|
31
31
|
- ✅ `dam s3-down` - Download from S3
|
|
32
32
|
- ✅ `dam s3-status` - Check sync status
|
|
33
|
-
- ✅ `dam s3-cleanup` - Delete S3 files
|
|
33
|
+
- ✅ `dam s3-cleanup-remote` / `s3-cleanup-local` - Delete S3/local files
|
|
34
34
|
|
|
35
|
-
**Commands -
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
35
|
+
**Commands - Phase 3 Complete** (Archive & Manifest):
|
|
36
|
+
- ✅ `dam manifest` - Generate project manifest (supports `--all` for all brands)
|
|
37
|
+
- ✅ `dam archive` - Archive to SSD with dry-run and force options
|
|
38
|
+
- ✅ `dam sync-ssd` - Restore light files from SSD (dry-run supported)
|
|
39
39
|
|
|
40
|
-
**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
**Git Repository Management Scripts - Intentionally Not Migrated**:
|
|
41
|
+
|
|
42
|
+
These are **shell scripts** for managing the multi-repo video-projects git structure, NOT video asset management commands:
|
|
43
|
+
|
|
44
|
+
- ❌ `status-all.sh` - Runs `git status` on all v-* brand repos (git workflow, not asset management)
|
|
45
|
+
- ❌ `sync-all.sh` - Runs `git pull` on all v-* brand repos (git workflow, not asset management)
|
|
46
|
+
- ❌ `clone-all.sh` - Clones all v-* brand repos if missing (git workflow, not asset management)
|
|
47
|
+
|
|
48
|
+
**Why not migrated:**
|
|
49
|
+
1. These manage **git repositories**, not **video assets**
|
|
50
|
+
2. They loop through brand folders running git commands
|
|
51
|
+
3. They're workflow automation for the video-projects repo structure
|
|
52
|
+
4. They belong in `/video-projects/v-shared/`, not in the appydave-tools gem
|
|
53
|
+
5. Different use case: repo management vs. video file management
|
|
54
|
+
|
|
55
|
+
**If you want these migrated:** We could add `dam repo-status`, `dam repo-sync`, `dam repo-clone` commands, but they would:
|
|
56
|
+
- Need Ruby implementations of multi-repo git operations
|
|
57
|
+
- Duplicate functionality that shell scripts handle well
|
|
58
|
+
- Mix concerns (video assets vs. git repos)
|
|
44
59
|
|
|
45
60
|
---
|
|
46
61
|
|
|
@@ -113,6 +128,62 @@ dam list
|
|
|
113
128
|
|
|
114
129
|
---
|
|
115
130
|
|
|
131
|
+
## Command Safety Features Reference
|
|
132
|
+
|
|
133
|
+
### Dry-Run and Force Flag Support
|
|
134
|
+
|
|
135
|
+
All filesystem-modifying commands support `--dry-run` to preview changes before execution:
|
|
136
|
+
|
|
137
|
+
| Command | Dry-Run Support | Force Flag Required | What It Does |
|
|
138
|
+
|---------|----------------|---------------------|--------------|
|
|
139
|
+
| **s3-up** | ✅ Yes | No | Preview files to upload to S3 |
|
|
140
|
+
| **s3-down** | ✅ Yes | No | Preview files to download from S3 |
|
|
141
|
+
| **s3-cleanup-remote** | ✅ Yes | **Yes (`--force`)** | Preview S3 files to delete |
|
|
142
|
+
| **s3-cleanup-local** | ✅ Yes | **Yes (`--force`)** | Preview local s3-staging files to delete |
|
|
143
|
+
| **archive** | ✅ Yes | Optional (`--force` = delete local) | Preview project copy to SSD |
|
|
144
|
+
| **sync-ssd** | ✅ Yes | No | Preview light files to restore from SSD |
|
|
145
|
+
|
|
146
|
+
### Read-Only Commands (No Dry-Run Needed)
|
|
147
|
+
|
|
148
|
+
These commands only read data and don't modify files:
|
|
149
|
+
|
|
150
|
+
| Command | Type | What It Does |
|
|
151
|
+
|---------|------|--------------|
|
|
152
|
+
| **list** | Read-only | List brands/projects |
|
|
153
|
+
| **manifest** | Generates JSON | Generate `projects.json` manifest |
|
|
154
|
+
| **s3-status** | Read-only | Check sync status |
|
|
155
|
+
| **help** | Read-only | Show help information |
|
|
156
|
+
|
|
157
|
+
### Force Flag Behavior
|
|
158
|
+
|
|
159
|
+
Commands requiring `--force` provide extra protection for destructive operations:
|
|
160
|
+
|
|
161
|
+
- **s3-cleanup-remote**: Must use `--force` to delete S3 files (prevents accidental deletion)
|
|
162
|
+
- **s3-cleanup-local**: Must use `--force` to delete local staging files
|
|
163
|
+
- **archive**: Optional `--force` flag deletes local copy after successful SSD backup
|
|
164
|
+
- Without `--force`: Copies to SSD, keeps local copy intact
|
|
165
|
+
- With `--force`: Copies to SSD, then deletes local copy (frees disk space)
|
|
166
|
+
|
|
167
|
+
### Safety Testing Workflow
|
|
168
|
+
|
|
169
|
+
**Always test with dry-run first:**
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# 1. Preview with dry-run
|
|
173
|
+
dam s3-up appydave b65 --dry-run
|
|
174
|
+
dam s3-cleanup-remote appydave b65 --force --dry-run
|
|
175
|
+
dam archive appydave b63 --dry-run
|
|
176
|
+
|
|
177
|
+
# 2. Review output carefully
|
|
178
|
+
|
|
179
|
+
# 3. Execute if safe
|
|
180
|
+
dam s3-up appydave b65
|
|
181
|
+
dam s3-cleanup-remote appydave b65 --force
|
|
182
|
+
dam archive appydave b63
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
116
187
|
## Test Suite
|
|
117
188
|
|
|
118
189
|
### Phase 1: Unit Tests (Automated - RSpec)
|
|
@@ -579,51 +650,51 @@ done
|
|
|
579
650
|
|
|
580
651
|
---
|
|
581
652
|
|
|
582
|
-
##
|
|
653
|
+
## ✅ All DAM Commands Implemented
|
|
583
654
|
|
|
584
|
-
|
|
655
|
+
All video asset management commands have been successfully migrated and are fully functional:
|
|
585
656
|
|
|
586
|
-
|
|
657
|
+
### Phase 1: Core Commands
|
|
658
|
+
- ✅ `dam help` - Comprehensive help system
|
|
659
|
+
- ✅ `dam list` - Project discovery with 4 modes
|
|
587
660
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
**Priority**: Low (utility command, not core workflow)
|
|
661
|
+
### Phase 2: S3 Collaboration
|
|
662
|
+
- ✅ `dam s3-up` - Upload to S3 with dry-run
|
|
663
|
+
- ✅ `dam s3-down` - Download from S3 with dry-run
|
|
664
|
+
- ✅ `dam s3-status` - Check sync status
|
|
665
|
+
- ✅ `dam s3-cleanup-remote` - Delete S3 files (force + dry-run)
|
|
666
|
+
- ✅ `dam s3-cleanup-local` - Delete local staging (force + dry-run)
|
|
595
667
|
|
|
596
|
-
|
|
668
|
+
### Phase 3: Archive & Manifest
|
|
669
|
+
- ✅ `dam manifest` - Generate project manifest (single brand or `--all`)
|
|
670
|
+
- ✅ `dam archive` - Archive to SSD (dry-run + optional force)
|
|
671
|
+
- ✅ `dam sync-ssd` - Restore light files from SSD (dry-run)
|
|
597
672
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
**Status**: Copied but needs CLI arg support
|
|
604
|
-
**Priority**: Medium (used for completed projects)
|
|
673
|
+
### All Commands Support:
|
|
674
|
+
- **CLI args**: `dam <command> <brand> <project>`
|
|
675
|
+
- **Auto-detect**: Works from project directory (where applicable)
|
|
676
|
+
- **Dry-run**: All destructive operations support `--dry-run`
|
|
677
|
+
- **Force flags**: Extra safety for deletions
|
|
605
678
|
|
|
606
679
|
---
|
|
607
680
|
|
|
608
|
-
|
|
609
|
-
```bash
|
|
610
|
-
# Current: bin/sync_from_ssd.rb
|
|
611
|
-
# Expected: dam sync-ssd appydave
|
|
612
|
-
```
|
|
613
|
-
**Status**: Copied but needs CLI arg support
|
|
614
|
-
**Priority**: Medium (used for recovery)
|
|
681
|
+
## Git Repository Scripts - Separate Concern
|
|
615
682
|
|
|
616
|
-
|
|
683
|
+
The following shell scripts are **intentionally not migrated** as they manage git repositories, not video assets:
|
|
617
684
|
|
|
618
|
-
###
|
|
685
|
+
### `/video-projects/v-shared/*.sh`
|
|
619
686
|
|
|
620
|
-
|
|
687
|
+
- `status-all.sh` - Runs `git status` on all v-* brand repos
|
|
688
|
+
- `sync-all.sh` - Runs `git pull` on all v-* brand repos
|
|
689
|
+
- `clone-all.sh` - Clones missing v-* brand repos
|
|
621
690
|
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
691
|
+
**Why separate:**
|
|
692
|
+
1. Different domain: Git repository management vs. video asset management
|
|
693
|
+
2. Different tools: Shell + git commands vs. Ruby + AWS/file operations
|
|
694
|
+
3. Different location: Belongs in video-projects workspace, not in distributed gem
|
|
695
|
+
4. Shell scripts work perfectly for this use case
|
|
625
696
|
|
|
626
|
-
**
|
|
697
|
+
**If migration is desired:** Could add `dam repo-status/sync/clone` but would duplicate working shell functionality and mix concerns.
|
|
627
698
|
|
|
628
699
|
---
|
|
629
700
|
|
|
@@ -683,14 +754,15 @@ These are repository management scripts, not DAM commands:
|
|
|
683
754
|
- [x] `dam s3-up` - Upload to S3
|
|
684
755
|
- [x] `dam s3-down` - Download from S3 ⭐ Phase 2 complete
|
|
685
756
|
- [x] `dam s3-status` - Check sync status ⭐ Phase 2 complete
|
|
686
|
-
- [x] `dam s3-cleanup` - Delete S3 files ⭐ Phase 2 complete
|
|
757
|
+
- [x] `dam s3-cleanup-remote` / `s3-cleanup-local` - Delete S3/local files ⭐ Phase 2 complete
|
|
758
|
+
- [x] `dam manifest` - Generate project manifest ⭐ Phase 3 complete
|
|
759
|
+
- [x] `dam archive` - Archive to SSD (dry-run + force) ⭐ Phase 3 complete
|
|
760
|
+
- [x] `dam sync-ssd` - Sync from SSD (dry-run) ⭐ Phase 3 complete
|
|
687
761
|
|
|
688
762
|
### ⏳ Pending Implementation
|
|
689
763
|
|
|
690
|
-
**Commands
|
|
691
|
-
- [
|
|
692
|
-
- [ ] `dam archive` - Archive to SSD
|
|
693
|
-
- [ ] `dam sync-ssd` - Sync from SSD
|
|
764
|
+
**Commands**:
|
|
765
|
+
- [x] All DAM commands ✅ COMPLETE
|
|
694
766
|
|
|
695
767
|
**Testing**:
|
|
696
768
|
- [ ] Manual integration tests (Phase 2)
|
data/docs/dam/usage.md
CHANGED
|
@@ -561,17 +561,70 @@ dam s3-down
|
|
|
561
561
|
dam s3-status
|
|
562
562
|
```
|
|
563
563
|
|
|
564
|
-
###
|
|
564
|
+
### Command Safety Features
|
|
565
565
|
|
|
566
|
-
|
|
566
|
+
#### Dry-Run Support
|
|
567
|
+
|
|
568
|
+
All filesystem-modifying commands support `--dry-run` to preview changes before execution:
|
|
569
|
+
|
|
570
|
+
| Command | Dry-Run Support | Force Flag Required | What It Previews |
|
|
571
|
+
|---------|----------------|---------------------|------------------|
|
|
572
|
+
| **s3-up** | ✅ Yes | No | Files to upload to S3 |
|
|
573
|
+
| **s3-down** | ✅ Yes | No | Files to download from S3 |
|
|
574
|
+
| **s3-cleanup-remote** | ✅ Yes | **Yes (`--force`)** | S3 files to delete |
|
|
575
|
+
| **s3-cleanup-local** | ✅ Yes | **Yes (`--force`)** | Local s3-staging files to delete |
|
|
576
|
+
| **archive** | ✅ Yes | Optional (`--force` = delete local) | Project to copy to SSD |
|
|
577
|
+
| **sync-ssd** | ✅ Yes | No | Light files to restore from SSD |
|
|
578
|
+
|
|
579
|
+
#### Read-Only Commands (No Dry-Run Needed)
|
|
580
|
+
|
|
581
|
+
These commands only read data and don't modify files:
|
|
582
|
+
|
|
583
|
+
| Command | Type | What It Does |
|
|
584
|
+
|---------|------|--------------|
|
|
585
|
+
| **list** | Read-only | List brands/projects |
|
|
586
|
+
| **manifest** | Generates JSON | Generate `projects.json` manifest |
|
|
587
|
+
| **s3-status** | Read-only | Check sync status |
|
|
588
|
+
| **help** | Read-only | Show help information |
|
|
589
|
+
|
|
590
|
+
#### Safety Workflow Examples
|
|
591
|
+
|
|
592
|
+
**Always preview destructive operations first:**
|
|
567
593
|
|
|
568
594
|
```bash
|
|
595
|
+
# Preview S3 upload
|
|
569
596
|
dam s3-up appydave b65 --dry-run
|
|
570
|
-
|
|
571
|
-
dam s3-
|
|
572
|
-
|
|
597
|
+
# Review output, then execute
|
|
598
|
+
dam s3-up appydave b65
|
|
599
|
+
|
|
600
|
+
# Preview S3 cleanup (requires --force)
|
|
601
|
+
dam s3-cleanup-remote appydave b65 --force --dry-run
|
|
602
|
+
# Review output, then execute
|
|
603
|
+
dam s3-cleanup-remote appydave b65 --force
|
|
604
|
+
|
|
605
|
+
# Preview archive (with or without local deletion)
|
|
606
|
+
dam archive appydave b63 --dry-run # Copy only
|
|
607
|
+
dam archive appydave b63 --force --dry-run # Copy + delete local
|
|
608
|
+
# Review output, then execute
|
|
609
|
+
dam archive appydave b63 # Copy only
|
|
610
|
+
dam archive appydave b63 --force # Copy + delete local
|
|
611
|
+
|
|
612
|
+
# Preview SSD sync
|
|
613
|
+
dam sync-ssd appydave --dry-run
|
|
614
|
+
# Review output, then execute
|
|
615
|
+
dam sync-ssd appydave
|
|
573
616
|
```
|
|
574
617
|
|
|
618
|
+
#### Force Flag Behavior
|
|
619
|
+
|
|
620
|
+
Commands requiring `--force` provide extra protection for destructive operations:
|
|
621
|
+
|
|
622
|
+
- **s3-cleanup-remote**: Must use `--force` to delete S3 files (prevents accidental deletion)
|
|
623
|
+
- **s3-cleanup-local**: Must use `--force` to delete local staging files
|
|
624
|
+
- **archive**: Optional `--force` flag deletes local copy after successful SSD backup
|
|
625
|
+
- Without `--force`: Copies to SSD, keeps local copy intact
|
|
626
|
+
- With `--force`: Copies to SSD, then deletes local copy (frees disk space)
|
|
627
|
+
|
|
575
628
|
### Interactive Selection
|
|
576
629
|
|
|
577
630
|
When multiple projects match short name:
|
data/package.json
CHANGED
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.18.
|
|
4
|
+
version: 0.18.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cruwys
|
|
@@ -241,10 +241,10 @@ files:
|
|
|
241
241
|
- docs/configuration/README.md
|
|
242
242
|
- docs/configuration/channels.example.json
|
|
243
243
|
- docs/configuration/settings.example.json
|
|
244
|
+
- docs/dam/dam-testing-plan.md
|
|
244
245
|
- docs/dam/dam-vision.md
|
|
245
246
|
- docs/dam/session-summary-2025-11-09.md
|
|
246
247
|
- docs/dam/usage.md
|
|
247
|
-
- docs/dam/vat-testing-plan.md
|
|
248
248
|
- docs/dam/windows-testing-guide.md
|
|
249
249
|
- docs/development/CODEX-recommendations.md
|
|
250
250
|
- docs/development/README.md
|