# MyAnythingList Daily Build Auto Uploader Settings # Edit this file first. $Settings = [ordered]@{} # Watch folder where browser downloads daily build ZIPs. $Settings.DownloadWatchFolder = "$env:USERPROFILE\Downloads" # Local root where date folders are extracted. # Example final folder: # C:\Users\Ken\Downloads\_daily-builds\2026-06-29\ $Settings.LocalDailyBuildsRoot = "$env:USERPROFILE\Downloads\_daily-builds" # ZIP filename pattern. $Settings.ZipPattern = "index_beta_*.zip" # Extra validation beyond FileSystemWatcher pattern. $Settings.StrictZipFileNameRegex = "^index_beta_\\d{4}-\\d{2}-\\d{2}-v\\d{3}\\.zip$" $Settings.RequireApprovedZipContentsOnly = $true $Settings.ApprovedPayloadMode = "app-defaults-docs-only" # S3 bucket name only, no s3:// prefix. # Example: # $Settings.S3Bucket = "8k.art" $Settings.S3Bucket = "CHANGE-ME-BUCKET" # S3 prefix template. {date} becomes YYYY-MM-DD parsed from the ZIP filename. # Example target: # s3://8k.art/beta/_daily-builds/2026-06-29/ $Settings.S3PrefixTemplate = "beta/_daily-builds/{date}/" # Optional CloudFront/site URL for log output only. $Settings.PublicUrlTemplate = "https://8k.art/beta/_daily-builds/{date}/" # true = show what would happen without uploading. # Set to false only after the first dry-run looks correct. $Settings.DryRun = $true # If true, deletes files on S3 that no longer exist locally during sync. # Recommended false for safety. $Settings.DeleteRemoteRemovedFiles = $false # How long a newly downloaded ZIP must remain unchanged before processing. $Settings.FileStableSeconds = 4 # Reprocess same ZIP if it changes size or modified time. $Settings.AllowReprocessChangedZip = $true # Log folder relative to this package root. $Settings.LogFolder = "logs" # Scheduled task name. $Settings.ScheduledTaskName = "MyAnythingList Daily Build Auto Uploader" # Mirroring rule: # Extract approved payload locally, then mirror the approved local date folder to S3. # This script does not upload arbitrary files from Downloads. $Settings.MirrorOnlyApprovedExtractedPayload = $true # File Explorer / local workflow sorting: # After extracting an approved daily build, set extracted app/defaults/docs # files and local date folder timestamps to current local time so they appear # at the top when sorted by Date modified. $Settings.TouchExtractedPayloadToNow = $true $Settings.TouchLocalDateFolderToNow = $true