vybekiit 0.7.23 → 0.7.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/global-skills/launch-agent-access/SKILL.md +26 -0
- package/dist/global-skills/launch-ai-listing/SKILL.md +30 -0
- package/dist/global-skills/launch-ai-screenshots/SKILL.md +33 -0
- package/dist/global-skills/launch-ci/SKILL.md +31 -0
- package/dist/global-skills/launch-doctor/SKILL.md +31 -0
- package/dist/global-skills/launch-insights/SKILL.md +26 -0
- package/dist/global-skills/launch-migrate/SKILL.md +27 -0
- package/dist/global-skills/launch-ota/SKILL.md +31 -0
- package/dist/global-skills/launch-plan/SKILL.md +25 -0
- package/dist/global-skills/launch-release/SKILL.md +34 -0
- package/dist/global-skills/launch-ship/SKILL.md +35 -0
- package/dist/global-skills/launch-snapshot/SKILL.md +31 -0
- package/dist/global-skills/launch-store-config/SKILL.md +37 -0
- package/dist/global-skills/launch-store-config/reference.md +26 -0
- package/dist/global-skills/launch-verify/SKILL.md +27 -0
- package/dist/global-skills/manifest.json +15 -1
- package/dist/global-skills/publish-app/SKILL.md +10 -4
- package/package.json +8 -8
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-agent-access
|
|
3
|
+
description: Use when the developer wants to drive Launch from AI tooling - wire the MCP server into an AI client, serve the read-only local dashboard, or scaffold the agent skills/rules into the repo. All local-only. Covers `launch mcp install`, `launch dashboard`, and `launch agents init`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Expose Launch to AI agents & a local dashboard
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- let Claude / Cursor drive Launch (set up MCP)
|
|
13
|
+
- open the local Launch dashboard
|
|
14
|
+
- scaffold the Launch agent skills / rules into this repo
|
|
15
|
+
- give an AI agent access to Launch
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch mcp install` - wire `launch mcp` into an AI client's config (auto-detects Claude Code / Cursor)
|
|
20
|
+
2. `npx launch dashboard` - serve a local, read-only web UI over apps, builds, accounts, and secrets
|
|
21
|
+
3. `npx launch agents init` - write Claude skills, Cursor rules, and the AGENTS.md Launch section into this repo
|
|
22
|
+
|
|
23
|
+
These are the on-ramps for agent-driven and at-a-glance use, all strictly local: `mcp install` exposes Launch's commands to an AI client, `dashboard` opens a read-only web view of your state, and `agents init` drops these very skills into the repo.
|
|
24
|
+
|
|
25
|
+
- `dashboard` is read-only and `mcp install` only edits a local client config - neither touches the store.
|
|
26
|
+
- `agents check` keeps the scaffolded skills in sync after Launch upgrades.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-ai-listing
|
|
3
|
+
description: Use when the developer wants AI to draft App Store / Google Play listing copy (name, subtitle, description, keywords, what's-new) into `store.config.json`, then review and ship it. Covers `launch ai listing`, previewing with `launch plan`, and `launch metadata push`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI-drafted store listing copy
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- draft / write the App Store or Play listing copy with AI
|
|
13
|
+
- generate store description and keywords
|
|
14
|
+
- improve the listing metadata
|
|
15
|
+
- fill in store.config.json copy automatically
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch ai listing` - draft App Store / Play listing copy with AI into store.config.json
|
|
20
|
+
2. `npx launch plan` - review the drafted listing as a read-only diff against the live store
|
|
21
|
+
3. `npx launch metadata push` - upload store.config.json to the live listing (metadata only; no binary)
|
|
22
|
+
|
|
23
|
+
`ai listing` writes drafted copy into `store.config.json` only - it changes nothing live. Treat the draft as a starting point: read it, edit it, then preview before pushing.
|
|
24
|
+
|
|
25
|
+
- Preview with `launch plan` (see the launch-plan skill) so you see exactly what the listing change would do before it goes out.
|
|
26
|
+
- `metadata push` is what actually updates the live listing - gate it behind a human review of the AI copy.
|
|
27
|
+
|
|
28
|
+
## Cautions
|
|
29
|
+
|
|
30
|
+
- AI-drafted copy is a draft - review it for accuracy and brand voice before shipping. `metadata push` changes the LIVE store listing, so preview with `launch plan` and get confirmation first.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-ai-screenshots
|
|
3
|
+
description: Use when the developer wants polished App Store or Google Play screenshots generated from real app screens. Covers installing and authenticating the Genshot companion, `launch ai screenshots`, store-dimension validation, `launch plan screenshots`, and the guarded upload through `launch sync`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI-generated store screenshots with Genshot
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- generate polished App Store or Google Play screenshots
|
|
13
|
+
- turn real app screens into store marketing creatives
|
|
14
|
+
- create localized screenshots with captions
|
|
15
|
+
- prepare screenshots before syncing a store listing
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch ai screenshots` - generate and validate store-ready screenshots from real screens; use --platform ios|android and --brief to steer the design
|
|
20
|
+
2. `npx launch plan screenshots` - review the generated screenshot diff against the live store without writing
|
|
21
|
+
3. `npx launch sync` - upload the reviewed screenshots with the rest of the declared listing
|
|
22
|
+
|
|
23
|
+
Before generation, make sure the companion is available: `npm install --save-dev @genshot/cli`, then `npx genshot login`. Browser OAuth stores the Genshot credential in the user account config; never put an API key in `launch.config.ts`.
|
|
24
|
+
|
|
25
|
+
- Put real source images under `<app>/screenshots/<locale>/<DISPLAY_TYPE>/`. Launch enhances those screens; it does not fabricate product UI.
|
|
26
|
+
- `launch ai screenshots` delegates to Genshot, identifies Launch as the client source, validates every returned image against the selected store, and promotes approved files into the listing tree.
|
|
27
|
+
- Use `--captions` for ordered marketing captions, `--locale` for localization, and `--device-types` only when overriding the supported default (`APP_IPHONE_67` for iOS or `phone` for Android).
|
|
28
|
+
- Review with `launch plan screenshots`. Uploading remains the separate `launch sync` action and requires human confirmation.
|
|
29
|
+
|
|
30
|
+
## Cautions
|
|
31
|
+
|
|
32
|
+
- Genshot generation spends Credits. If the developer did not directly request generation, show the selected sources, platform, count, and brief and get approval before running it.
|
|
33
|
+
- `launch sync` changes the LIVE store listing. Show the read-only screenshot plan and get explicit human confirmation before uploading.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-ci
|
|
3
|
+
description: Use when the developer wants to build and ship this app from CI - scaffold a GitHub Actions workflow on a hosted macOS / Linux runner, or run Launch unattended and headless. Covers `launch ci init` and the non-interactive, env-var-driven command flow.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CI on a hosted runner
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- set up CI / GitHub Actions to build and ship the app
|
|
13
|
+
- build and ship from a hosted runner without a local Mac
|
|
14
|
+
- run Launch unattended / headless
|
|
15
|
+
- wire up the release pipeline secrets
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch ci init` - write .github/workflows/launch.yml for a hosted runner (--android adds an Android job)
|
|
20
|
+
2. `npx launch doctor --yes` - non-interactive preflight inside the workflow
|
|
21
|
+
3. `npx launch build ios --yes` - unattended build + upload to the testing track
|
|
22
|
+
|
|
23
|
+
`ci init` writes a transparent, editable workflow (not a black-box action) wired to the same unattended commands Launch already supports.
|
|
24
|
+
|
|
25
|
+
- It installs `launch-store` globally on the runner, triggers on `workflow_dispatch` and pushed `v*` tags, and reads credentials from repository secrets decoded at runtime: `ASC_KEY_ID`, `ASC_ISSUER_ID`, `ASC_API_KEY_BASE64` (Android adds `PLAY_SERVICE_ACCOUNT_BASE64`, `ANDROID_KEYSTORE_BASE64`, and the key alias/passwords).
|
|
26
|
+
- Pass `--yes` on the safe commands; Launch also auto-detects CI and degrades to non-interactive on its own.
|
|
27
|
+
|
|
28
|
+
## Cautions
|
|
29
|
+
|
|
30
|
+
- Keep `launch release` (public production) OUT of an automatic CI trigger - put it behind a manual approval / protected environment so a push can't publish to the store unattended. CI should target the TESTING track by default.
|
|
31
|
+
- Supply credentials only via repository secrets decoded at runtime; never commit a `.p8`, keystore, or service-account JSON.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-doctor
|
|
3
|
+
description: Use when a Launch build is failing, the toolchain looks broken, signing or credentials won't resolve, or the developer asks to fix their build environment. Covers `launch doctor --fix` (toolchain) and `launch diagnose` (native build-log analysis).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Diagnose toolchain & build failures
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- the build is failing or broken - fix it
|
|
13
|
+
- fix the toolchain / install missing build tools
|
|
14
|
+
- diagnose a native build error
|
|
15
|
+
- signing or credentials won't resolve
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch doctor` - detect the iOS/Android toolchain and store-side blockers; --fix installs missing brew tools (--yes for CI)
|
|
20
|
+
2. `npx launch diagnose` - analyze the most recent build log (or a given logfile) and explain the native failure
|
|
21
|
+
3. `npx launch creds status` - show which Apple account and signing assets are active when signing fails
|
|
22
|
+
|
|
23
|
+
Start with `doctor` to separate environment problems from build problems, then `diagnose` to read the actual native failure.
|
|
24
|
+
|
|
25
|
+
- `doctor --fix` asks for consent, then installs missing iOS tools via Homebrew (`--yes` skips the prompt for CI/agents). `doctor --platform android` checks the Android toolchain.
|
|
26
|
+
- `diagnose` reads the newest log under `~/.launch/logs` (or a path you pass) and explains the failure in plain English. A config footgun check also runs at the head of every `build`.
|
|
27
|
+
- When signing is the problem, `creds status` shows the active account; `creds set-key` / `creds setup` fix a missing key or profile.
|
|
28
|
+
|
|
29
|
+
## Cautions
|
|
30
|
+
|
|
31
|
+
- `doctor --fix` installs build tools via Homebrew. It's safe to run, but review what it proposes; pass `--yes` only in CI where unattended installs are intended.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-insights
|
|
3
|
+
description: Use when the developer wants to read store performance - aggregated rating & review trends, individual customer reviews, or Sales & Trends / finance / analytics reports. All read-only, over the same API key. Covers `launch insights`, `launch reports`, and `launch reviews list`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ratings, reviews, sales & analytics insights
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- how is the app rated / how are reviews trending?
|
|
13
|
+
- read the latest customer reviews
|
|
14
|
+
- download a sales or finance report
|
|
15
|
+
- pull App Store analytics
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch insights` - aggregate rating & review trends across the App Store and Play (read-only)
|
|
20
|
+
2. `npx launch reports sales` - download a Sales & Trends report (gzipped TSV, or --json)
|
|
21
|
+
3. `npx launch reviews list` - list an app's customer reviews, newest first (filter by rating/territory)
|
|
22
|
+
|
|
23
|
+
`insights` is the aggregated cross-store view (ratings and review trends); drop to `reviews list` for the individual reviews and `reports` for the raw Sales & Trends / finance / analytics data.
|
|
24
|
+
|
|
25
|
+
- Everything here only reads - safe to run unattended.
|
|
26
|
+
- Reply to reviews with `launch reviews reply` (App Store) or `launch play-reviews reply` (Play) once you've read them.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-migrate
|
|
3
|
+
description: Use when the developer is moving an existing project onto Launch - importing an EAS or fastlane setup into a `launch.config.ts`, onboarding an app that already ships, or validating the resulting config. Covers `launch migrate eas`/`fastlane`, `launch adopt`, and `launch config validate`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Migrate from EAS / fastlane, or adopt a live app
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- migrate from Expo EAS / eas.json to Launch
|
|
13
|
+
- import an existing fastlane setup
|
|
14
|
+
- onboard an app that already ships on the store
|
|
15
|
+
- validate my launch.config.ts against the schema
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch migrate eas` - read eas.json/app.json and emit launch.config.ts, .env.example, store.config.json + a report
|
|
20
|
+
2. `npx launch migrate fastlane` - read fastlane config (Appfile/Fastfile/Matchfile...) and emit the same Launch config set + a report
|
|
21
|
+
3. `npx launch adopt` - onboard an already-shipping app: import its live App Store Connect setup into config
|
|
22
|
+
4. `npx launch config validate` - validate the config against the schema, reporting each problem by field path
|
|
23
|
+
|
|
24
|
+
Pick the migrator that matches the current setup: `migrate eas` for an Expo EAS project, `migrate fastlane` for a fastlane one, or `adopt` to pull a live App Store Connect setup into config. Each writes a `launch.config.ts` (plus `.env.example` and `store.config.json`) and a report of what it found.
|
|
25
|
+
|
|
26
|
+
- Migration only writes local config files - it touches no store and provisions nothing.
|
|
27
|
+
- Always finish with `config validate` to confirm the emitted config is schema-clean, then `launch plan` (see the launch-plan skill) to see how it compares to live state.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-ota
|
|
3
|
+
description: Use when the developer wants to publish an over-the-air JS / asset update to already-installed builds (Expo Updates protocol), inspect published updates, or roll back a bad update. Covers `launch update` and `launch updates`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Over-the-air updates & rollback
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- publish an OTA update / push a JS-only change without a rebuild
|
|
13
|
+
- ship a hotfix over the air
|
|
14
|
+
- list or inspect published updates
|
|
15
|
+
- roll back a bad update
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch update` - publish a code-signed OTA update to the channel (--channel, --platform; --dry-run rehearses)
|
|
20
|
+
2. `npx launch updates list` - list published updates for a channel
|
|
21
|
+
3. `npx launch updates view latest` - inspect an update by id (or 'latest')
|
|
22
|
+
4. `npx launch updates rollback` - reverse a bad update - promote a known-good one or drop clients to the embedded bundle
|
|
23
|
+
|
|
24
|
+
OTA updates ship only JS and asset changes the installed runtime can accept (same runtime version), code-signed and hosted on the user's own bucket. **Native** changes (new dependencies, config plugins, permissions) need a full `build` + `release`, not an update.
|
|
25
|
+
|
|
26
|
+
- `update --channel <name> --platform ios|android|all` publishes; `--dry-run` prints the layout without uploading. Avoid `--no-sign` (it lets anyone who can write the bucket push JS).
|
|
27
|
+
- `updates rollback` is the escape hatch - it promotes a known-good update or drops clients back to the embedded bundle.
|
|
28
|
+
|
|
29
|
+
## Cautions
|
|
30
|
+
|
|
31
|
+
- An OTA update reaches real users immediately. Rehearse with `--dry-run`, and confirm the channel and runtime version before publishing to a production channel.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-plan
|
|
3
|
+
description: Use when the developer wants to preview how `launch.config.ts` differs from the live App Store Connect / Google Play state, or fail CI when the store has drifted from config - the read-only half of store-config-as-code. Covers `launch plan [surface]` and `launch drift`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Store config as code: plan & drift
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- preview the store config diff before syncing
|
|
13
|
+
- what would `launch sync` change?
|
|
14
|
+
- detect or gate configuration drift in CI
|
|
15
|
+
- check that the live store still matches launch.config.ts
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch plan` - diff launch.config against live store state across every config-as-code surface (read-only)
|
|
20
|
+
2. `npx launch drift` - fail when live state has drifted from config - `plan --check` for CI
|
|
21
|
+
|
|
22
|
+
`plan` is the read-only preview behind `sync` / `metadata` / the Play reconcilers: it diffs config against live state across capabilities, IAPs, subscriptions, pricing, listing, and the rest of the config-as-code surfaces. `drift` is the same diff as a CI gate (exit non-zero on any difference).
|
|
23
|
+
|
|
24
|
+
- `plan [surface]` narrows the diff to one surface; bare `plan` covers them all.
|
|
25
|
+
- Use `drift` in CI to keep the store and `launch.config.ts` from silently diverging; apply changes with the launch-store-config skill once the plan looks right.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-release
|
|
3
|
+
description: Use when the developer wants to submit an already-built version to the PUBLIC App Store or Google Play production track, check review status, or steer a phased rollout (pause / resume / complete). Covers `launch release`, `launch status`, and `launch rollout`. This is the irreversible, outward-facing step - confirm with a human before submitting.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Public release & phased rollout
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- release the app to the App Store / production / make it public
|
|
13
|
+
- submit for review or go live
|
|
14
|
+
- check review or rollout status
|
|
15
|
+
- pause, resume, or complete a phased rollout
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch status` - show each app's store version, review state, and phased-rollout state (--json for CI)
|
|
20
|
+
2. `npx launch release ios` - submit the latest build to the PUBLIC production track - preview with --dry-run first
|
|
21
|
+
3. `npx launch rollout pause` - steer an iOS phased release: pause | resume | complete
|
|
22
|
+
4. `npx launch release-train start` - coordinate iOS + Android + OTA as one resumable release record (start | status | release | abort)
|
|
23
|
+
|
|
24
|
+
`release` is the deliberate public step, distinct from `build` (which only reaches the testing track). Always preview first.
|
|
25
|
+
|
|
26
|
+
- `release <platform> --dry-run` prints the release plan and touches nothing - run it, show the plan, then let a human trigger the real submit.
|
|
27
|
+
- iOS options: `--phased` opts into Apple's 7-day phased rollout, `--build latest|<n>` promotes an existing build instead of uploading, `--manual` holds the approved build for manual release, `--scheduled <iso>` schedules go-live.
|
|
28
|
+
- `status --watch` polls until review reaches a terminal verdict; `rollout pause|resume|complete` steers an in-progress phased release.
|
|
29
|
+
- Shipping iOS + Android (and an OTA leg) together? `release-train start` records the whole release as one resumable unit - `--hold` gates every leg until all are approved and releases them together, `--platform`/`--no-ota` scope it, and `status`/`release`/`abort` drive or unwind it.
|
|
30
|
+
|
|
31
|
+
## Cautions
|
|
32
|
+
|
|
33
|
+
- `launch release` makes the app PUBLIC and is hard to reverse. Run `launch release <platform> --dry-run`, show the plan, and get explicit human confirmation before the real submit.
|
|
34
|
+
- `rollout complete` accelerates a public rollout to 100% - confirm before running it.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-ship
|
|
3
|
+
description: Use when the developer wants to build, sign, and ship this Expo / React Native app to TestFlight or Google Play with Launch - first-time setup, provisioning signing credentials, producing a signed build, or uploading to the internal testing track. Covers `launch init`, `launch creds`, `launch doctor`, and `launch build`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Set up and ship to TestFlight / Play
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- ship the app to TestFlight or Play internal testing
|
|
13
|
+
- build and upload a test build
|
|
14
|
+
- set up code signing / credentials for the app
|
|
15
|
+
- onboard an existing (already-shipping) app to Launch
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch init` - scaffold launch.config.ts (+ .env.example); skip if it already exists
|
|
20
|
+
2. `npx launch adopt` - OPTIONAL - app already on the store? import its live App Store Connect setup into config
|
|
21
|
+
3. `npx launch creds set-key` - store the App Store Connect API key (.p8) in the OS keychain
|
|
22
|
+
4. `npx launch creds setup` - register the app id and create or reuse the cert + provisioning profile
|
|
23
|
+
5. `npx launch doctor` - verify the iOS/Android toolchain and config; add --fix to install missing tools
|
|
24
|
+
6. `npx launch build ios` - run the full pipeline and upload to TestFlight (use 'android' for Play; --no-submit builds only)
|
|
25
|
+
|
|
26
|
+
Run the steps in order. `init` writes the config, `creds` puts the signing material in the keychain, `doctor` catches toolchain and store-side blockers, and `build` produces a signed binary and uploads it to the **testing** track.
|
|
27
|
+
|
|
28
|
+
- `build` flags worth knowing: `--profile <name>` selects a build profile, `--no-submit` builds without uploading, `--dry-run` rehearses every step, `--explain` teaches as it runs, and `--remote [aws|user@host]` builds iOS without a local Mac.
|
|
29
|
+
- Manage testers after the upload with `launch testflight` (groups, add/remove testers, `testflight release` to push a build to a group). `launch builds` lists build history; `launch build:resign` re-signs a stored artifact without rebuilding.
|
|
30
|
+
- Android: `build android` signs with the upload keystore and uploads to the Play track (`--track internal|closed|open|production`).
|
|
31
|
+
|
|
32
|
+
## Cautions
|
|
33
|
+
|
|
34
|
+
- `build` uploads to the TESTING track only - that's safe. Putting the app in front of the PUBLIC is `launch release` (see the launch-release skill), which needs human confirmation.
|
|
35
|
+
- First-time `creds setup` provisions real signing assets in the Apple Developer account - expected during onboarding. Switching or removing an account later (`creds use|remove`) needs human confirmation.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-snapshot
|
|
3
|
+
description: Use when the developer wants to capture the live App Store Connect / Google Play state as a named baseline, compare baselines or live state, restore a listing back to a saved snapshot, or prune old snapshots. Covers `launch snapshot create`/`diff`/`restore`/`prune`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Snapshot & restore live store state
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- snapshot the current store state before a risky change
|
|
13
|
+
- what changed in the store since the last snapshot?
|
|
14
|
+
- restore / roll back the store listing to a saved snapshot
|
|
15
|
+
- clean up old snapshots
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch snapshot create` - capture live App Store + Play state into a named snapshot
|
|
20
|
+
2. `npx launch snapshot diff <name>` - compare a saved snapshot against another snapshot or live state (default: live)
|
|
21
|
+
3. `npx launch snapshot restore <name>` - restore a snapshot's App Store listing back to live - additive; previews unless --yes
|
|
22
|
+
4. `npx launch snapshot prune` - delete old user snapshots by --keep <n> and/or --older-than <days> (auto baselines untouched)
|
|
23
|
+
|
|
24
|
+
Take a `snapshot create` before any risky reconcile so you have a labelled baseline, then `snapshot diff` to see exactly what moved. `restore` writes the saved App Store listing back to live (other surfaces are preview-only for now).
|
|
25
|
+
|
|
26
|
+
- `snapshot diff <name>` defaults to comparing against live state; pass a second name to compare two saved snapshots.
|
|
27
|
+
- `snapshot prune` requires at least one of `--keep`/`--older-than` and never touches the automatic pre-sync baselines.
|
|
28
|
+
|
|
29
|
+
## Cautions
|
|
30
|
+
|
|
31
|
+
- `snapshot restore` changes a LIVE listing (additive, never destructive). It previews the plan by default - show that plan and get human confirmation before re-running with `--yes`.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-store-config
|
|
3
|
+
description: Use when the developer wants to manage App Store Connect or Google Play configuration as code from launch.config.ts - in-app purchases, subscriptions, pricing, capabilities, listing metadata, promo offers, in-app events, A/B experiments, availability / territories, or custom product pages. Covers `launch sync`, `launch metadata`, `launch offers`, `launch play-products`, `launch play-subscriptions`, and more.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Store configuration as code
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- add or change an in-app purchase or subscription
|
|
13
|
+
- sync store config / capabilities to App Store Connect
|
|
14
|
+
- push or pull the store listing metadata
|
|
15
|
+
- set up Google Play products, subscriptions, or tracks
|
|
16
|
+
- generate promo offer codes, an in-app event, or an A/B experiment
|
|
17
|
+
|
|
18
|
+
## Steps
|
|
19
|
+
|
|
20
|
+
1. `npx launch sync` - reconcile ASC IAPs, subscriptions, pricing, and capabilities from config - run with --dry-run first
|
|
21
|
+
2. `npx launch metadata pull` - pull the current listing into store.config.json to edit (--platform android for Play)
|
|
22
|
+
3. `npx launch metadata push` - push edited listing copy / screenshots back to the store - --dry-run rehearses
|
|
23
|
+
4. `npx launch play-products` - reconcile Google Play in-app products from config
|
|
24
|
+
5. `npx launch play-subscriptions` - reconcile Google Play subscriptions (base plans + offers)
|
|
25
|
+
|
|
26
|
+
Store config lives in `launch.config.ts` (catalog) and `store.config.json` (listing). One catalog drives BOTH stores. Every reconcile runs plan -> confirm -> apply.
|
|
27
|
+
|
|
28
|
+
The safe loop: preview with `--dry-run` (or `metadata pull`), review the plan, then apply. See the bundled command reference for the full surface across both stores.
|
|
29
|
+
|
|
30
|
+
Preview the full cross-surface diff with `launch plan` and gate drift in CI with `launch drift` (see the launch-plan skill); draft listing copy with `launch ai listing` before pushing it (see the launch-ai-listing skill).
|
|
31
|
+
|
|
32
|
+
See [`reference.md`](./reference.md) for the full command surface across both stores.
|
|
33
|
+
|
|
34
|
+
## Cautions
|
|
35
|
+
|
|
36
|
+
- These commands change a LIVE store. Always preview with `--dry-run` (or `metadata pull`), show the plan, and get human confirmation before applying.
|
|
37
|
+
- `sync --allow-destructive` can remove a capability or product - treat it as requiring explicit human sign-off.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Store configuration as code - command reference
|
|
2
|
+
|
|
3
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
4
|
+
|
|
5
|
+
The full store-config surface, both stores. Each runs a read-only plan -> confirm -> apply; preview with `--dry-run` and never apply to a live or in-review listing without human confirmation.
|
|
6
|
+
|
|
7
|
+
| Command | What it does |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| `npx launch sync` | App Store Connect: reconcile IAPs, subscriptions, pricing, capabilities (--dry-run, --allow-destructive, --yes) |
|
|
10
|
+
| `npx launch metadata pull` | pull the store listing (copy, screenshots, previews) into store.config.json |
|
|
11
|
+
| `npx launch metadata push` | push the edited listing back to the store |
|
|
12
|
+
| `npx launch offers list` | list promotional offers for a subscription product |
|
|
13
|
+
| `npx launch offers generate-codes` | generate one-time promo / offer codes for a product |
|
|
14
|
+
| `npx launch offers deactivate` | deactivate an offer |
|
|
15
|
+
| `npx launch play-products` | Google Play: reconcile in-app products |
|
|
16
|
+
| `npx launch play-subscriptions` | Google Play: reconcile subscriptions (base plans + offers) |
|
|
17
|
+
| `npx launch play-tracks status` | show Google Play track state |
|
|
18
|
+
| `npx launch play-tracks promote` | promote a build between Play tracks |
|
|
19
|
+
| `npx launch availability` | manage territory / country availability |
|
|
20
|
+
| `npx launch custom-pages` | manage custom product pages |
|
|
21
|
+
| `npx launch experiments` | manage product-page A/B experiments |
|
|
22
|
+
| `npx launch events list` | list in-app events |
|
|
23
|
+
| `npx launch events create` | create an in-app event |
|
|
24
|
+
| `npx launch app-clips` | configure App Clips |
|
|
25
|
+
| `npx launch game-center` | configure Game Center leaderboards / achievements |
|
|
26
|
+
| `npx launch accessibility` | set the accessibility declarations on the listing |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-verify
|
|
3
|
+
description: Use when the developer wants to know whether the app would pass review right now - a pre-submit sweep, store-account readiness, in-app-purchase readiness, or a privacy / permissions reconcile. All read-only. Covers `launch audit`, `launch store doctor`, `launch iap doctor`, and `launch privacy scan`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pre-submit readiness & verification
|
|
7
|
+
|
|
8
|
+
<!-- generated by launch v0.32.12 - `npx launch agents init` - do not hand-edit -->
|
|
9
|
+
|
|
10
|
+
## Use this when
|
|
11
|
+
|
|
12
|
+
- is the app ready to submit / would it get rejected?
|
|
13
|
+
- run a pre-submit readiness check
|
|
14
|
+
- verify the App Store / Play account and in-app purchases are set up
|
|
15
|
+
- check the privacy declarations against the app's permissions
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. `npx launch audit` - one-shot pre-submit sweep - would a submission be rejected right now? (read-only)
|
|
20
|
+
2. `npx launch store doctor` - store-account readiness: the Apple app record, Play onboarding & access (read-only)
|
|
21
|
+
3. `npx launch iap doctor` - in-app-purchase readiness: products & subscriptions exist and are submittable (read-only)
|
|
22
|
+
4. `npx launch privacy scan` - reconcile permissions / manifests against the privacy declarations; flags undeclared collection
|
|
23
|
+
|
|
24
|
+
Run these before a `release` to catch rejections on your machine instead of in App Review. Every command here only reads - none of them changes the store.
|
|
25
|
+
|
|
26
|
+
- `audit` is the headline sweep; the focused doctors (`store doctor`, `iap doctor`) and `privacy scan` drill into the specific area that fails.
|
|
27
|
+
- Pair this with `launch plan` (see the launch-plan skill) to also diff your config-as-code against live state before submitting.
|
|
@@ -78,6 +78,20 @@
|
|
|
78
78
|
"harden",
|
|
79
79
|
"instrument-feature-flags",
|
|
80
80
|
"instrument-product-analytics",
|
|
81
|
+
"launch-agent-access",
|
|
82
|
+
"launch-ai-listing",
|
|
83
|
+
"launch-ai-screenshots",
|
|
84
|
+
"launch-ci",
|
|
85
|
+
"launch-doctor",
|
|
86
|
+
"launch-insights",
|
|
87
|
+
"launch-migrate",
|
|
88
|
+
"launch-ota",
|
|
89
|
+
"launch-plan",
|
|
90
|
+
"launch-release",
|
|
91
|
+
"launch-ship",
|
|
92
|
+
"launch-snapshot",
|
|
93
|
+
"launch-store-config",
|
|
94
|
+
"launch-verify",
|
|
81
95
|
"mongodb-atlas-stream-processing",
|
|
82
96
|
"mongodb-connection",
|
|
83
97
|
"mongodb-mcp-setup",
|
|
@@ -128,5 +142,5 @@
|
|
|
128
142
|
"wrangler",
|
|
129
143
|
"xcode-project-setup"
|
|
130
144
|
],
|
|
131
|
-
"count":
|
|
145
|
+
"count": 141
|
|
132
146
|
}
|
|
@@ -33,22 +33,28 @@ account steps the stores legally require, one at a time.
|
|
|
33
33
|
review contact). Decide sensible defaults; confirm the name with the builder.
|
|
34
34
|
**Verify:** the app's identity is set and no `publish-app` markers remain (re-grep `TODO(vybekiit)`).
|
|
35
35
|
|
|
36
|
-
3. **
|
|
36
|
+
3. **Prepare the store pictures.** Ask which real screens best explain the app, then run
|
|
37
|
+
`launch ai screenshots` with a short description of the product. The official picture tool is
|
|
38
|
+
already installed. If it opens a browser, ask the builder to approve that one sign-in. Show the
|
|
39
|
+
finished pictures before spending more credits or sending anything to a store.
|
|
40
|
+
**Verify:** `launch plan screenshots` shows the approved pictures and makes no live change.
|
|
41
|
+
|
|
42
|
+
4. **The one-time store accounts (they cost money — say so plainly).** Tell them, in plain words,
|
|
37
43
|
that each store needs a paid developer account (Apple's is a yearly fee; Google's is a one-time
|
|
38
44
|
fee) and walk them through creating each — **one step at a time**, where to tap. Then guide the
|
|
39
45
|
one sign-in the build tool needs (a browser opens; they approve).
|
|
40
46
|
**Verify:** both accounts exist and the tools report they're signed in (run `vybekiit doctor`).
|
|
41
47
|
|
|
42
|
-
|
|
48
|
+
5. **Build the installable version.** Run the build yourself. Explain in one line: *"I'm packaging
|
|
43
49
|
your app for the stores now — this runs in the cloud and can take a little while."*
|
|
44
50
|
**Verify:** the build finishes green and an installable file is produced. If it fails, run `doctor`
|
|
45
51
|
and read the one real cause — never paste the red log.
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
6. **Submit to the stores.** Send the build in for review.
|
|
48
54
|
**Verify:** each store confirms the submission was received. 🎉 *Celebrate this milestone* — it's
|
|
49
55
|
submitted.
|
|
50
56
|
|
|
51
|
-
|
|
57
|
+
7. **Set expectations on review.** Tell them plainly: the stores read every app before it goes
|
|
52
58
|
public, which can take anywhere from a few hours to a few days — nothing is broken while they
|
|
53
59
|
wait. Check the review state with `launch status` and report it in plain words; don't claim it's
|
|
54
60
|
live until the store says so.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vybekiit",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.24",
|
|
4
4
|
"description": "Choose your services, sign in, create a VybeKiit app, and open its verified local welcome page.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"tsup": "8.5.1",
|
|
33
33
|
"typescript": "5.7.2",
|
|
34
34
|
"vitest": "3.2.6",
|
|
35
|
-
"@vybekiit/agent-
|
|
36
|
-
"@vybekiit/
|
|
37
|
-
"@vybekiit/
|
|
38
|
-
"@vybekiit/
|
|
39
|
-
"@vybekiit/
|
|
40
|
-
"@vybekiit/
|
|
41
|
-
"@vybekiit/payments": "0.7.
|
|
35
|
+
"@vybekiit/agent-mcp": "0.7.24",
|
|
36
|
+
"@vybekiit/db": "0.7.24",
|
|
37
|
+
"@vybekiit/core": "0.7.24",
|
|
38
|
+
"@vybekiit/deploy": "0.7.24",
|
|
39
|
+
"@vybekiit/agent-kit": "0.7.24",
|
|
40
|
+
"@vybekiit/report-mode": "0.7.24",
|
|
41
|
+
"@vybekiit/payments": "0.7.24"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsup && node scripts/bundleGlobalSkills.mjs",
|