docs: clarify Apple Silicon release target
pipeline / test (push) Has been cancelled
pipeline / build (push) Has been cancelled

This commit is contained in:
Ein Anderssono
2026-06-15 00:41:49 +02:00
parent 05188e5451
commit 36832060d0
7 changed files with 39 additions and 4 deletions
+14
View File
@@ -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-<version>-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.
+2
View File
@@ -15,6 +15,8 @@ Backup integrity and recovery release.
- Add `retry-failed --clear-on-success`. - Add `retry-failed --clear-on-success`.
- Add `status` command with text and JSON output. - Add `status` command with text and JSON output.
- Update release workflow to publish release notes from `RELEASE_NOTES.md`. - 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. - Keep `CHANGELOG.md` as the canonical release history.
## v0.5.0 ## v0.5.0
+1 -1
View File
@@ -1,7 +1,7 @@
BINARY := ./bin/photoscli BINARY := ./bin/photoscli
MODULE := gitea.k3s.k0.nu/tools/photocli MODULE := gitea.k3s.k0.nu/tools/photocli
VERSION := 0.6.0 VERSION := 0.6.0
RELEASE_ZIP := ./bin/photoscli-$(VERSION)-macos.zip RELEASE_ZIP := ./bin/photoscli-$(VERSION)-macos-arm64.zip
RELEASE_NOTES := RELEASE_NOTES.md RELEASE_NOTES := RELEASE_NOTES.md
BRIDGE_DIR := bridge BRIDGE_DIR := bridge
LDFLAGS := -X main.version=$(VERSION) LDFLAGS := -X main.version=$(VERSION)
+12 -1
View File
@@ -26,12 +26,23 @@ For a practical step-by-step manual with recommended backup workflows, recovery
## Requirements ## Requirements
- Apple Silicon Mac, M1/M2/M3/M4 or newer (`darwin/arm64`).
- macOS with Apple Photos. - macOS with Apple Photos.
- Go 1.25 or newer. - Go 1.25 or newer.
- Xcode command-line tools. - Xcode command-line tools.
- Photos privacy permission for the built binary or terminal app. - 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-<version>-macos-arm64.zip
```
The zip contains the Apple Silicon binary plus README, USERGUIDE, and CHANGELOG.
## Build ## Build
+4 -2
View File
@@ -22,6 +22,8 @@ This release focuses on backup integrity, recovery workflows, and clearer operat
## Assets ## Assets
- `photoscli`: macOS binary. - `photoscli`: Apple Silicon macOS binary (`darwin/arm64`).
- `photoscli-0.6.0-macos.zip`: binary plus README, USERGUIDE, and CHANGELOG. - `photoscli-0.6.0-macos-arm64.zip`: Apple Silicon binary plus README, USERGUIDE, and CHANGELOG.
- `USERGUIDE.md`: standalone user guide. - `USERGUIDE.md`: standalone user guide.
Intel Macs are not currently a supported release target.
+3
View File
@@ -30,6 +30,7 @@ It is not intended to replace Apple Photos, iCloud Photos, or Time Machine. Thin
You need: You need:
- An Apple Silicon Mac, M1/M2/M3/M4 or newer. The prebuilt release binary is `darwin/arm64` only.
- macOS. - macOS.
- Apple Photos library available on the machine. - Apple Photos library available on the machine.
- Photos permission granted to the terminal app or binary. - 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`. 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 ## First Run And Permissions
Start with a harmless command: Start with a harmless command:
+3
View File
@@ -105,6 +105,9 @@ DESCRIPTION
originals, keep resumable manifests, log structured export events, and verify originals, keep resumable manifests, log structured export events, and verify
backup integrity. 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 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. asset IDs in a manifest so later runs can skip work already completed.