Readme
Documentation format rule: this package uses .txt, .html, and .json documentation. Required .md documentation is not used.
MyAnythingList Daily Build Auto Uploader
----------------------------------------
**No IIS, PHP, MySQL, Apache, Node.js, Docker, or local web server required.**
Start with:
QUICK-START.txt
docs/simple-windows-setup-no-server-required.txt
Purpose:
Download a verified MyAnythingList daily build ZIP, extract only the approved app/defaults/docs payload locally, and mirror that approved local date folder to the configured S3 beta daily-builds location.
It ignores normal Chrome downloads and refuses ZIPs that do not match the exact MyAnythingList daily build pattern.
Intended workflow:
1. Download `index_beta_YYYY-MM-DD-v###.zip` into your normal download/default directory.
2. The watcher notices only matching `index_beta_YYYY-MM-DD-v###.zip` ZIPs.
3. It waits until the file is stable.
4. It validates the ZIP contents, then extracts only the approved app/defaults/docs files into the matching local daily-builds date folder.
5. It syncs the extracted files to the configured S3 prefix.
6. You open the hosted S3/CloudFront daily build URL and test.
No S3 Browser manual sort/upload dance should be required.
Requirements
------------
- Windows 11
- PowerShell 5.1 or later
- AWS CLI v2 installed
- AWS credentials already configured on the PC
- Permission to upload to the configured S3 bucket/prefix
Check AWS CLI:
aws --version
aws sts get-caller-identity
First setup
-----------
1. Edit:
config\settings.ps1
2. Set your real values:
$Settings.S3Bucket = "YOUR-BUCKET-NAME"
$Settings.S3PrefixTemplate = "beta/_daily-builds/{date}/"
$Settings.DownloadWatchFolder = "$env:USERPROFILE\Downloads"
$Settings.LocalDailyBuildsRoot = "C:\YOUR\LOCAL\_daily-builds"
3. For the first run, keep:
$Settings.DryRun = $true
4. Run:
powershell -ExecutionPolicy Bypass -File .\scripts\run-once.ps1
5. If the dry run looks correct, set:
$Settings.DryRun = $false
6. Install the silent startup watcher:
powershell -ExecutionPolicy Bypass -File .\scripts\install-scheduled-task.ps1
Manual one-time upload
----------------------
powershell -ExecutionPolicy Bypass -File .\scripts\run-once.ps1
Start watcher in the current window
-----------------------------------
powershell -ExecutionPolicy Bypass -File .\scripts\watch-downloads.ps1
Install background watcher
--------------------------
powershell -ExecutionPolicy Bypass -File .\scripts\install-scheduled-task.ps1
Uninstall background watcher
----------------------------
powershell -ExecutionPolicy Bypass -File .\scripts\uninstall-scheduled-task.ps1
Core rule
---------
The public app build remains standalone. This uploader is only a developer convenience layer.
The uploader must never become a requirement for the public beta to work.
Strict processing rule
----------------------
The watcher only processes files matching:
index_beta_YYYY-MM-DD-v###.zip
The ZIP must contain only approved MyAnythingList daily build payload files:
index_beta_YYYY-MM-DD-v###.html
_MyAnythingList-defaults.txt
docs/YYYY-MM-DD/v###/en-us/controllable-parameters.html
It refuses normal downloads, screenshots, PDFs, unrelated ZIPs, partial Chrome downloads, and ZIP files containing unexpected payloads.
File Explorer timestamp sorting rule
------------------------------------
After extracting an approved daily build, v006 touches the extracted app/defaults/docs payload and local date folder to the current local time so the newest extracted build appears at the top when sorted by Date modified.
Developer-local package timestamp rule
--------------------------------------
Package HHMM must be the actual America/Los_Angeles local time when the artifact is created. Do not invent, estimate, round forward, or use a future timestamp.