docs: desktop.md (coverage map, More tools tab), CHANGELOG Unreleased

This commit is contained in:
CRTkafa 2026-10-21 05:03:34 +07:00
parent dc6bb088a1
commit eebb3a830b
2 changed files with 32 additions and 1 deletions

View file

@ -18,6 +18,21 @@
- **One-line errors for missing required values:** `apple listing` without `--version` says "--version <x.y.z> is
required (storebound apple status shows the editable version)"; the same for privacy-manifest `--ios`, adhoc
export `--archive`, edit `--ops` and resubmit `--build`. A flag given without a value counts as missing.
- **Every CLI command is reachable in the desktop app.** A new **More tools** tab gives each command without a
screen of its own (play build / upload / share / app-id, apple build / upload / signing / adhoc, bundle, IAP review,
Header and Search Results, custom product pages, in-app events, pre-orders, what's new, listing translate / check,
ASO rank / competitors / suggest, captures, fonts, JPEG copies, triage, originality, privacy manifest, ads scan,
Apple Ads reports, web, RevenueCat diff, PPP sheet, workflows, install for an AI tool) one typed form with the
command's own options, built from the method's schema; never a free-text shell. Reads run there; writes show the
dry run, then the native dialog, then run with the confirm token. Owner-only steps (offer codes, win-back,
promoted enable, pre-order enable / end, custom page and event submit, TestFlight expire, Apple Ads changes,
RevenueCat sync, shots login) are listed with their terminal command to copy. New desktop methods in `serve`:
`play.build`, `play.upload`, `play.share`, `play.app_id`, `apple.build`, `apple.upload`, `apple.signing_ensure`,
`apple.adhoc_register`, `apple.adhoc_export`, `shots.fonts`, `shots.jpeg`, `agent.install`.
- **docs/desktop-coverage.md** (generated by `bun tools/gen-desktop-coverage.ts` from `cli/lib/desktop-coverage.ts`):
every command with its window place and methods; 92 commands, 88 covered, 4 not for the desktop (`mcp`, `serve`,
`desktop`, `api`). `tests/desktop-coverage.test.ts` fails when a command has no place, names a method the window
never calls, or is marked not-for-desktop without being on the short list.
## 0.8.21 · 2026-10-20

View file

@ -349,6 +349,22 @@ and account names only), the same file the desktop reads. A workspace account's
| `inspect --listing-text --json` (new) | Listings export (Markdown) |
| `import fastlane` | First-run guide, App folders, store-only app banner (`project_import_fastlane`: plan in a native dialog first) |
**Every command, one place (desktop-coverage.md).** `cli/lib/desktop-coverage.ts` maps each CLI command to the
window place and the methods that run it (serve methods, or `host:` commands of src-tauri); `bun
tools/gen-desktop-coverage.ts` writes [desktop-coverage.md](desktop-coverage.md) from it and
`tests/desktop-coverage.test.ts` fails when a command has no place, names a method the window never calls, or is
"not for the desktop" outside the short list (`mcp`, `serve`, `desktop`, `api`). A new command needs an entry there.
**More tools tab** (`src/screens/tabs/Tools.tsx`). The commands without a screen of their own (`TOOLBOX` in the
coverage map: build and upload, ad-hoc devices, store features, text and ASO, captures, quality, Apple Ads, workflows
and AI tools) get one form each, built from the method's argument schema (`system.methods`): enums as selects,
booleans as checkboxes, strings with the sidecar's pattern; empty fields keep the command's defaults. Never a
free-text shell: the sidecar validates every value. Reads run and show the command's output; writes go through
`useWrite` (dry run, native dialog, confirm token; build, upload, signing and device registration have their own
question answered by that token). Owner-only steps without a window button (`OWNER_STEPS`: offer codes, win-back,
promoted enable, pre-order enable / end, custom page and event submit, TestFlight expire, Apple Ads changes,
RevenueCat sync, shots login) are listed with their terminal command and a Copy button.
**Exports.** Every screen registers what it can save (`src/ui/Exports.tsx`): the "Export" menu at the top right of
the top bar and the "Export" group of the command palette. Files: prices CSV (the `prices import` format), listings
(md), reviews CSV, health report (md), catalog parity (md), store readiness report (md), store declarations (md),
@ -375,7 +391,7 @@ note first.
tracking, encryption, sign-in, contact), highlighted in amber, each with how to answer.
- **First run.** The guide now starts with the studio (pick or create, with a colour), so the keys added two steps
later land in it; the app step offers add / start / import from fastlane side by side.
- **Tabs.** Eleven app tabs fit 1440 px; narrower windows scroll the tab bar sideways instead of wrapping.
- **Tabs.** Twelve app tabs (More tools last) fit 1440 px; narrower windows scroll the tab bar sideways instead of wrapping.
R&D on a fastlane importer and a RevenueCat adapter: `docs/research/fastlane-revenuecat.md`.