From 0d04445bf3c85dcb385dedc49aa6582171de226d Mon Sep 17 00:00:00 2001 From: SkateSpots Date: Mon, 12 Oct 2026 22:55:44 +0700 Subject: [PATCH] docs: record zsp non-interactive publish + empty zsp.env gotchas --- AGENTS.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 2f093be..5bcd9c4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2077,6 +2077,18 @@ Rules: ⚠️ `zsp` reads the **version from the built APK** (synced from `package.json` by `android:build`) — bump **only** `package.json`. Publish needs the **signer awake** (open Amber in the foreground). `SIGN_WITH=browser` fails here (no NIP-07 extension). + ⚠️ **`zsp publish` prompts interactively** (signer/confirm) — with no TTY it dies + with `prompt failed: … /dev/tty`. Always pass **`--quiet`** (auto-yes, no + spinners) and, for a dry run, **`--offline`** (signs, uploads nothing; events to + stdout). ⚠️ The env file **`~/.config/skatespots/zsp.env`** (600, outside the + repo) holds `SIGN_WITH` — **as of 2026-10-12 it was an empty template** + (`SIGN_WITH=` with no value), so publishing requires filling it (or exporting + SIGN_WITH in the shell). ⚠️ **Do not `source` that file blindly**: a + `bunker://?relay=…&secret=…` value contains `&`, which backgrounds the + assignment (`SIGN_WITH` ends up unset). Extract it safely instead: + `SIGN_WITH="$(sed -n 's/^SIGN_WITH=//p' ~/.config/skatespots/zsp.env)"; export SIGN_WITH`. + Complete non-interactive publish: + `SIGN_WITH="$(sed -n 's/^SIGN_WITH=//p' ~/.config/skatespots/zsp.env)"; export SIGN_WITH; zsp publish --quiet zapstore.yaml` ### Relay archive (dataset backup) - **Transfer content between keys (`scripts/transfer-content.mjs`, 2026-10-04):**