appydave-tools 0.18.5 → 0.20.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: 94b533e9d8174f22fe36c1dbc435b1051ddef31ac461184741958e75ae451c47
4
- data.tar.gz: 252ea976c625cd3a473c46e219e4595e7f568d6f5fdbb96060b8e399cb52fd48
3
+ metadata.gz: fa0d28f2da43b19537700a122baaea2401ea5c7b545d687a1bff64150d1c7d88
4
+ data.tar.gz: 98b8575d8af3b09e0dbc025b076d9b221d0d5b28705ee714a2483f74022c73c6
5
5
  SHA512:
6
- metadata.gz: 1078bed7c6b2b0f4144af45d572a96c10ffa8e31d34f6dc100bc4094a847be67b500dfdf00c8e67a790e71f5e6946d29105fd37466f4412a9326dbdc509d139a
7
- data.tar.gz: aa2c82acd177c562f5950b0610c05d4b278e76e44b9bd3af68d89a946dd8ffeb9cfc8359dd3e91f13d738058e7c0504978f9772640a3025bb3b2905044eec5d3
6
+ metadata.gz: 2f3c69c161ac3b1ca8642db8d1f6a15317510956ffe396635d6bf2f49e1be6bc6b22c4b5b9e9694b9b40ffbb9214da8487979078740a68a0b2dcec7c07a42ba1
7
+ data.tar.gz: de05f01bba2420b7c287cd28ac499ca56af5b7277c88522d867280e27be99d821baf2cb9d389beefe0c3e6573b6eee6095c0eafdd1a2806f1e49ec782f0de54f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [0.19.0](https://github.com/appydave/appydave-tools/compare/v0.18.5...v0.19.0) (2025-11-10)
2
+
3
+
4
+ ### Features
5
+
6
+ * Phase 1: add git_remote, S3 tracking, and hasStorylineJson to manifest ([4622271](https://github.com/appydave/appydave-tools/commit/4622271a9e1a01a7145981db4837ed9b69e8f721))
7
+
8
+ ## [0.18.5](https://github.com/appydave/appydave-tools/compare/v0.18.4...v0.18.5) (2025-11-10)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * update test plan to reflect all DAM commands completed (manifest, archive, sync-ssd) and clarify git repo scripts ([ac1436a](https://github.com/appydave/appydave-tools/commit/ac1436a09c4ae32009f1b98dc697da9a87f1c4ee))
14
+
1
15
  ## [0.18.4](https://github.com/appydave/appydave-tools/compare/v0.18.3...v0.18.4) (2025-11-10)
2
16
 
3
17
 
data/bin/dam CHANGED
@@ -13,6 +13,7 @@ class VatCLI
13
13
  @commands = {
14
14
  'help' => method(:help_command),
15
15
  'list' => method(:list_command),
16
+ 'status' => method(:status_command),
16
17
  's3-up' => method(:s3_up_command),
17
18
  's3-down' => method(:s3_down_command),
18
19
  's3-status' => method(:s3_status_command),
@@ -21,6 +22,9 @@ class VatCLI
21
22
  'archive' => method(:archive_command),
22
23
  'manifest' => method(:manifest_command),
23
24
  'sync-ssd' => method(:sync_ssd_command),
25
+ 'repo-status' => method(:repo_status_command),
26
+ 'repo-sync' => method(:repo_sync_command),
27
+ 'repo-push' => method(:repo_push_command),
24
28
  # Deprecated aliases (for backward compatibility)
25
29
  's3-cleanup' => method(:s3_cleanup_remote_command),
26
30
  'cleanup-local' => method(:s3_cleanup_local_command)
@@ -262,6 +266,112 @@ class VatCLI
262
266
  exit 1
263
267
  end
264
268
 
269
+ # Show unified status (local/S3/SSD/git)
270
+ def status_command(args)
271
+ args = args.reject { |arg| arg.start_with?('--') }
272
+ brand_arg = args[0]
273
+ project_arg = args[1]
274
+
275
+ if brand_arg.nil?
276
+ # Auto-detect from PWD
277
+ brand, project_id = Appydave::Tools::Dam::ProjectResolver.detect_from_pwd
278
+ if brand.nil?
279
+ puts '❌ Could not auto-detect brand from current directory'
280
+ puts 'Usage: dam status <brand> [project]'
281
+ exit 1
282
+ end
283
+ brand_key = brand
284
+ else
285
+ brand_key = brand_arg
286
+ project_id = project_arg ? Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg) : nil
287
+ end
288
+
289
+ status = Appydave::Tools::Dam::Status.new(brand_key, project_id)
290
+ status.show
291
+ rescue StandardError => e
292
+ puts "❌ Error: #{e.message}"
293
+ exit 1
294
+ end
295
+
296
+ # Show git status for brand repositories
297
+ def repo_status_command(args)
298
+ all = args.include?('--all')
299
+ args = args.reject { |arg| arg.start_with?('--') }
300
+ brand_arg = args[0]
301
+
302
+ if all
303
+ # Show status for all brands
304
+ Appydave::Tools::Dam::RepoStatus.new.show_all
305
+ elsif brand_arg
306
+ # Show status for specific brand
307
+ Appydave::Tools::Dam::RepoStatus.new(brand_arg).show
308
+ else
309
+ puts 'Usage: dam repo-status <brand> [--all]'
310
+ puts ''
311
+ puts 'Check git status for brand repositories.'
312
+ puts ''
313
+ puts 'Examples:'
314
+ puts ' dam repo-status appydave # Show git status for AppyDave brand'
315
+ puts ' dam repo-status --all # Show git status for all brands'
316
+ exit 1
317
+ end
318
+ rescue StandardError => e
319
+ puts "❌ Error: #{e.message}"
320
+ exit 1
321
+ end
322
+
323
+ # Sync (pull) brand repositories
324
+ def repo_sync_command(args)
325
+ all = args.include?('--all')
326
+ args = args.reject { |arg| arg.start_with?('--') }
327
+ brand_arg = args[0]
328
+
329
+ if all
330
+ # Sync all brands
331
+ Appydave::Tools::Dam::RepoSync.new.sync_all
332
+ elsif brand_arg
333
+ # Sync specific brand
334
+ Appydave::Tools::Dam::RepoSync.new(brand_arg).sync
335
+ else
336
+ puts 'Usage: dam repo-sync <brand> [--all]'
337
+ puts ''
338
+ puts 'Pull updates for brand repositories.'
339
+ puts ''
340
+ puts 'Examples:'
341
+ puts ' dam repo-sync appydave # Pull updates for AppyDave brand'
342
+ puts ' dam repo-sync --all # Pull updates for all brands'
343
+ exit 1
344
+ end
345
+ rescue StandardError => e
346
+ puts "❌ Error: #{e.message}"
347
+ exit 1
348
+ end
349
+
350
+ # Push brand repository changes
351
+ def repo_push_command(args)
352
+ args = args.reject { |arg| arg.start_with?('--') }
353
+ brand_arg = args[0]
354
+ project_arg = args[1]
355
+
356
+ if brand_arg.nil?
357
+ puts 'Usage: dam repo-push <brand> [project]'
358
+ puts ''
359
+ puts 'Push changes for brand repository.'
360
+ puts ''
361
+ puts 'Examples:'
362
+ puts ' dam repo-push appydave # Push all changes for AppyDave brand'
363
+ puts ' dam repo-push appydave b65 # Validate project exists before push'
364
+ exit 1
365
+ end
366
+
367
+ project_id = project_arg ? Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg) : nil
368
+
369
+ Appydave::Tools::Dam::RepoPush.new(brand_arg, project_id).push
370
+ rescue StandardError => e
371
+ puts "❌ Error: #{e.message}"
372
+ exit 1
373
+ end
374
+
265
375
  # Parse S3 command arguments
266
376
  def parse_s3_args(args, command)
267
377
  dry_run = args.include?('--dry-run')