agent rules: first rule "Do it, don't ask" (agents-core and every adapter, README, store-pitfalls lead, first-release, declarations and console skills); the agent runs the real command after the dry run, the owner presses only final public or irreversible buttons and answers compliance facts in one batch; handoff text removed from skills; tests/do-it-dont-ask.test.ts. Pitfall 26
This commit is contained in:
parent
fc524cd2d4
commit
dfc28c15f8
22 changed files with 393 additions and 105 deletions
|
|
@ -10,10 +10,12 @@ or `bun <toolchain>/cli/index.ts`; agents can also use the `storebound mcp` tool
|
|||
Config: `storebound.config.ts`; credentials: `ASC_KEY_ID`, `ASC_ISSUER_ID`, `ASC_P8` (env or
|
||||
`.storebound/credentials.json`, gitignored). All commands are idempotent and have `--dry`. Run `storebound check` first.
|
||||
|
||||
**Ask the owner before submitting for review, releasing, or canceling a submission.** The final "Submit for Review"
|
||||
of a first version is the owner's click. Shared agent rules: `docs/agents-core.md` of the toolchain.
|
||||
**Do it, don't ask** (first rule in AGENTS.md / `docs/agents-core.md` of the toolchain): you run every step below
|
||||
yourself, API steps with storebound and UI steps in App Store Connect with your browser tool, and verify each. The
|
||||
owner only presses Submit for Review, Release, App Privacy Publish, cancels a submission or accepts agreements, and
|
||||
answers the compliance facts no file proves, all in one batch at the start.
|
||||
|
||||
## Steps (API = storebound, UI = App Store Connect / Xcode by hand)
|
||||
## Steps (API = storebound, UI = App Store Connect, driven by you with your browser tool; Local = this machine)
|
||||
|
||||
1. **UI · API key.** App Store Connect > Users and Access > Integrations > App Store Connect API > Team Keys > +
|
||||
(Admin or App Manager). Download `AuthKey_<KEYID>.p8` once, keep it in `~/.appstoreconnect/private_keys/`, note the
|
||||
|
|
@ -49,21 +51,23 @@ of a first version is the owner's click. Shared agent rules: `docs/agents-core.m
|
|||
description / keywords / promo / URLs). Run it with `--dry` first and show the owner the plan: the version decision
|
||||
(keep, update the editable version's string, create, or refuse with the reason), the build, and per locale create /
|
||||
update with old -> new per field. Locales still marked `status=draft` / `status=translate` are skipped until
|
||||
`listing reviewed` (`--include-drafts` only when the owner says so). The real run asks in a terminal and applies
|
||||
exactly that plan. Then `storebound apple release --phased on`: manual release + phased
|
||||
`listing reviewed` (`--include-drafts` only when the owner says so). Then run it yourself with `--yes`: it
|
||||
applies exactly that plan. Then `storebound apple release --phased on`: manual release + phased
|
||||
release is the default for every version (`release-management`).
|
||||
8. **API · Screenshots.** `store-screenshots` skill, then
|
||||
`storebound apple screenshots > .storebound/asc-shots.log 2>&1 &` (6.9" + 6.5" per locale, MD5-idempotent).
|
||||
9. **API · App info.** `storebound apple appinfo` (`--dry` first: old -> new per field): categories, age rating declaration, content rights, Free price,
|
||||
all territories. The **first** availability record of a new app may be refused by the public API (an error on
|
||||
POST /v2/appAvailabilities); then set it once in App Store Connect > Pricing and Availability and re-run (later runs only read it).
|
||||
POST /v2/appAvailabilities); then set it once in App Store Connect > Pricing and Availability with your browser
|
||||
tool and re-run (later runs only read it).
|
||||
10. **API · Review details.** `storebound apple review-details` (contact from `.storebound/credentials.json`
|
||||
`reviewContact`, or `--contact-from <Apple ID of another app of the team>`; notes from the config). Apps behind a
|
||||
sign-in: the demo account from `.storebound/` (`review-access` skill). Apps with accounts: in-app deletion
|
||||
(`account-deletion` skill).
|
||||
11. **API + UI · In-app purchases and subscriptions.** `store-iap-setup` and `store-subscriptions` skills. First
|
||||
IAPs and subscriptions go to review **with** this version.
|
||||
12. **UI · App Privacy.** `store-declarations` skill (nutrition labels), then **Publish**.
|
||||
12. **UI · App Privacy.** `store-declarations` skill (nutrition labels; you fill and save them), then the owner
|
||||
presses **Publish**.
|
||||
13. **Preflight.** `storebound validate --apple` until it shows no blocker (`store-preflight`).
|
||||
14. **UI · Submit.** Version page > Add for Review (with the IAPs in the same draft submission) > Submit for Review
|
||||
(owner). Release type MANUAL means the owner presses "Release" after approval.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue