# MacroDeck (CLI prototype) Runs a command automatically when files change in a watched folder — the automation primitive behind rules like "when a screenshot lands in Downloads, move it to Documents/Screenshots". Working prototype of the automation engine — see ../plan.md for the full product plan (text expansion, clipboard variables, and global mouse/keyboard macros are OS UI-automation features and are still on the roadmap; this build is the folder-watch trigger engine only). ## Build from source Requires Go 1.24+, no external dependencies. go build -o macrodeck . Cross-compile for another platform: GOOS=windows GOARCH=amd64 go build -o macrodeck.exe . GOOS=darwin GOARCH=arm64 go build -o macrodeck . ## Usage macrodeck watch --run "" [--ext .png,.jpg] [--interval 2s] [--run-existing] [--once] Polls and runs --run (with {file} substituted for the triggered file's path) whenever a file is added or changed. Polling is deliberate: it keeps this one static binary dependency-free and identical in behavior on every OS, at the cost of latency bounded by --interval rather than being instant. --once does a single pass over existing files and exits — useful for testing a rule, or for running MacroDeck from cron / Task Scheduler instead of as a background daemon. ## Prebuilt binaries See ../downloads/ for prebuilt binaries (Windows/macOS/Linux) and CHECKSUMS.txt for their SHA-256 hashes. These are unsigned indie builds — Windows SmartScreen and macOS Gatekeeper will warn on first run, which is expected until a code-signing certificate is in place (see the build plan's risk section).