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

@ -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`.