From 36832060d0746be5dab3bcb2b1f7b7af1b569195 Mon Sep 17 00:00:00 2001 From: Ein Anderssono Date: Mon, 15 Jun 2026 00:41:49 +0200 Subject: [PATCH] docs: clarify Apple Silicon release target --- AGENT.md | 14 ++++++++++++++ CHANGELOG.md | 2 ++ Makefile | 2 +- README.md | 13 ++++++++++++- RELEASE_NOTES.md | 6 ++++-- USERGUIDE.md | 3 +++ cmd/photoscli/main.go | 3 +++ 7 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 AGENT.md diff --git a/AGENT.md b/AGENT.md new file mode 100644 index 0000000..387bc60 --- /dev/null +++ b/AGENT.md @@ -0,0 +1,14 @@ +# AGENT.md + +- Project: `photoscli`, macOS Apple Photos exporter, Go + cgo + Objective-C PhotoKit bridge. +- Release binary target: Apple Silicon only (`darwin/arm64`). Make this explicit in docs/assets. +- Module: `gitea.k3s.k0.nu/tools/photocli`. +- Run tests with `-tags=test`; tests use the C stub bridge, not real PhotoKit. +- Required before any release: `go test -tags=test -race -count=1 -coverprofile=coverage.out ./...` must show 100% for all packages, then `make pipeline`, then `make package`. +- Never release below 100% coverage. +- Release assets must include: binary, `USERGUIDE.md`, and `photoscli--macos-arm64.zip`. +- Release page must use clear notes from `RELEASE_NOTES.md`; `CHANGELOG.md` must be updated too. +- Keep README concise; put practical user workflows in `USERGUIDE.md`. +- Manifest backends: JSONL default, SQLite optional via `modernc.org/sqlite`. +- Preserve manifest compatibility and migration behavior. +- Do not commit generated artifacts from `bin/` or coverage files. diff --git a/CHANGELOG.md b/CHANGELOG.md index 646087b..9e73289 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ Backup integrity and recovery release. - Add `retry-failed --clear-on-success`. - Add `status` command with text and JSON output. - Update release workflow to publish release notes from `RELEASE_NOTES.md`. +- Rename release zip assets to include `macos-arm64` and document Apple Silicon-only releases. +- Add `AGENT.md` with the minimal project/release rules for future agents. - Keep `CHANGELOG.md` as the canonical release history. ## v0.5.0 diff --git a/Makefile b/Makefile index 5559319..dd187df 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ BINARY := ./bin/photoscli MODULE := gitea.k3s.k0.nu/tools/photocli VERSION := 0.6.0 -RELEASE_ZIP := ./bin/photoscli-$(VERSION)-macos.zip +RELEASE_ZIP := ./bin/photoscli-$(VERSION)-macos-arm64.zip RELEASE_NOTES := RELEASE_NOTES.md BRIDGE_DIR := bridge LDFLAGS := -X main.version=$(VERSION) diff --git a/README.md b/README.md index de1a99d..188f216 100644 --- a/README.md +++ b/README.md @@ -26,12 +26,23 @@ For a practical step-by-step manual with recommended backup workflows, recovery ## Requirements +- Apple Silicon Mac, M1/M2/M3/M4 or newer (`darwin/arm64`). - macOS with Apple Photos. - Go 1.25 or newer. - Xcode command-line tools. - Photos privacy permission for the built binary or terminal app. -The production build uses cgo and links against Apple frameworks through the Objective-C bridge in `bridge/`. +The provided release binary is Apple Silicon only. Intel Macs are not currently a supported release target. The production build uses cgo and links against Apple frameworks through the Objective-C bridge in `bridge/`. + +## Release Assets + +Release zip files are named with the supported architecture: + +```text +photoscli--macos-arm64.zip +``` + +The zip contains the Apple Silicon binary plus README, USERGUIDE, and CHANGELOG. ## Build diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bf4f179..3b717d2 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -22,6 +22,8 @@ This release focuses on backup integrity, recovery workflows, and clearer operat ## Assets -- `photoscli`: macOS binary. -- `photoscli-0.6.0-macos.zip`: binary plus README, USERGUIDE, and CHANGELOG. +- `photoscli`: Apple Silicon macOS binary (`darwin/arm64`). +- `photoscli-0.6.0-macos-arm64.zip`: Apple Silicon binary plus README, USERGUIDE, and CHANGELOG. - `USERGUIDE.md`: standalone user guide. + +Intel Macs are not currently a supported release target. diff --git a/USERGUIDE.md b/USERGUIDE.md index 6fffc5f..76b6b04 100644 --- a/USERGUIDE.md +++ b/USERGUIDE.md @@ -30,6 +30,7 @@ It is not intended to replace Apple Photos, iCloud Photos, or Time Machine. Thin You need: +- An Apple Silicon Mac, M1/M2/M3/M4 or newer. The prebuilt release binary is `darwin/arm64` only. - macOS. - Apple Photos library available on the machine. - Photos permission granted to the terminal app or binary. @@ -50,6 +51,8 @@ Run the binary directly: If you install or copy it somewhere else, replace `./bin/photoscli` in examples with `photoscli`. +Intel Macs are not currently a supported release target. If Intel support is added later, release assets will include a separate architecture-specific package. + ## First Run And Permissions Start with a harmless command: diff --git a/cmd/photoscli/main.go b/cmd/photoscli/main.go index f87e60c..ddb8324 100644 --- a/cmd/photoscli/main.go +++ b/cmd/photoscli/main.go @@ -105,6 +105,9 @@ DESCRIPTION originals, keep resumable manifests, log structured export events, and verify backup integrity. + Prebuilt releases target Apple Silicon Macs only (darwin/arm64: M1/M2/M3/M4 + or newer). Intel Macs are not currently a supported release target. + The tool is intended for repeatable backups. By default it records exported asset IDs in a manifest so later runs can skip work already completed.