跳到正文
cccskills
免费在 GitHub 公开

ns-release

Cut a NowStack Mobile release. Bump version, generate changelog, and promote existing TestFlight/Play internal builds to production. Does not rebuild.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Release - NowStack Mobile

Ship the version that's already on TestFlight (iOS) and the Play internal track (Android) to production — with a real changelog and a version bump. This skill does not build; it bumps the version, writes the changelog/release notes, and hands the existing beta builds to ns-ios-distribute and ns-android-distribute for the production submission. If there's no build on a testing track yet, run ns-ios-testflight / ns-android-beta first.

<objective> Turn "the beta build is verified" into "a versioned, documented production release" with one orchestrated flow: pick the version, generate the changelog, write store release notes, bump version files, then promote per platform and tag the release. </objective> <scope> - **What this owns:** version bump, changelog/release-notes generation, git tag, and orchestrating the per-platform production submission. - **What it delegates:** the actual store submission — iOS → `ns-ios-distribute`, Android → `ns-android-distribute` (which promotes the internal build to production). - **What it never does:** rebuild the app, or upload a fresh binary. Production ships the binary that testers already validated. </scope> <phase n="1" title="Preflight"> ```bash git status --short # clean tree; commit/stash first git rev-parse --abbrev-ref HEAD uname -s || node -p "process.platform" ``` - Confirm a verified build exists on each target surface: TestFlight (iOS) and the Play internal track (Android). Skip a platform the user isn't releasing. - If a requested platform has no beta build yet, do not rebuild inside this skill. Delegate to the OS-aware build skill first: `ns-ios-testflight` for iOS or `ns-android-beta` for Android. Those skills decide local macOS vs. Windows/Linux EAS cloud and run `ns-setup-expo` when required. - Ask which platforms to release (iOS, Android, or both). </phase> <phase n="2" title="Pick the version"> Read the current marketing version (single source for the human-facing version): ```bash grep -m1 "version:" mobile-app/app.config.ts # e.g. version: '1.0.0' node -p "require('./mobile-app/package.json').version" ``` Decide the bump with the user: `patch` (fixes), `minor` (features), `major` (breaking). Compute the new semver `X.Y.Z`.

Native build numbers (iOS buildNumber, Android versionCode) are auto-incremented by EAS (mobile-app/eas.json > autoIncrement: true) — do NOT hand-edit them. </phase>

<phase n="3" title="Generate the changelog"> Collect commits since the last release tag: ```bash LAST=$(git describe --tags --abbrev=0 2>/dev/null || echo "") git log ${LAST:+$LAST..}HEAD --no-merges --pretty="- %s" ``` From that list produce TWO things: 1. **`CHANGELOG.md` entry** — a new `## vX.Y.Z — <date>` section (developer-facing, grouped by feat/fix/chore). Prepend it under the title; pass the date in, don't invent one. 2. **Store release notes** — a concise, user-facing "what's new" (≤500 chars, no commit hashes, no internal jargon). This is what App Store / Play reviewers and users read.

Show both to the user and let them edit before anything ships. </phase>

<phase n="4" title="Bump version files"> Set the new `X.Y.Z` in both files (keep them in sync): - `mobile-app/app.config.ts` → `version: 'X.Y.Z'` - `mobile-app/package.json` → `"version": "X.Y.Z"`

Commit the bump + changelog together:

git add mobile-app/app.config.ts mobile-app/package.json CHANGELOG.md
git commit -m "chore(release): vX.Y.Z"
</phase> <phase n="5" title="Promote to production (per platform)"> Hand the store submission to the distribute skills, passing the store release notes from phase 3. Confirm with the user before each store mutation. - **iOS** → follow `.agents/skills/ns-ios-distribute/SKILL.md` (submits the TestFlight build for App Store review with the new version + release notes). - **Android** → follow `.agents/skills/ns-android-distribute/SKILL.md` (promotes the internal build to the production track with a staged rollout + release notes).

These can run in parallel; report each platform's outcome separately. </phase>

<phase n="6" title="Tag the release"> After the submissions are accepted/queued, tag and push: ```bash git tag vX.Y.Z git push && git push --tags ``` The tag becomes the baseline for the next release's changelog (phase 3). </phase> <rules> - Never rebuild or upload a new binary here — promote the validated beta build. A rebuild means a new, untested binary in production. - Store mutations (App Store submit, Play production promote) always need explicit user confirmation; the iOS App Store review submission and the Android 100% rollout each get their own confirmation. - Keep `app.config.ts` and `package.json` versions identical. Don't touch `buildNumber`/`versionCode` — EAS owns them. - Release notes are user-facing prose, not a commit dump. </rules>

<success_metrics>

  • New semver in app.config.ts + package.json, committed with the changelog and tagged vX.Y.Z.
  • CHANGELOG.md has a dated entry; store release notes written and approved.
  • Each requested platform's existing beta build is promoted to production (no rebuild), each confirmed by the user. </success_metrics>

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.

中文简介正在准备中。当前显示原文说明。

Melvynx/saveit.now322026年10月19日 更新

convex

免费

Routes general Convex requests to the right project skill. Use when the user asks which Convex skill to use or gives an underspecified Convex app task.

中文简介正在准备中。当前显示原文说明。

Melvynx/saveit.now322026年10月19日 更新

Use when optimizing Convex database read bandwidth, documents-read cost, query indexes, full-table scans, function-level usage dashboard findings, or code that uses .filter(), unbounded .collect(), N+1 reads, or expensive reactive Convex queries.

中文简介正在准备中。当前显示原文说明。

Melvynx/saveit.now322026年10月19日 更新

Build reusable Convex components with isolated tables and app-facing wrappers. Use for defineComponent, app.use, ComponentApi, or shared backend modules.

中文简介正在准备中。当前显示原文说明。

Melvynx/saveit.now322026年10月19日 更新

Plan safe Convex schema and data migrations. Use for widen-migrate-narrow rollouts, backfills, breaking field changes, table splits, or failed schema deploys.

中文简介正在准备中。当前显示原文说明。

Melvynx/saveit.now322026年10月19日 更新

Audit Convex performance for hot reads, write contention, subscriptions, function limits, OCC conflicts, latency, read amplification, and expensive reactive queries.

中文简介正在准备中。当前显示原文说明。

Melvynx/saveit.now322026年10月19日 更新

查看 Melvynx 的全部技能

报告此技能的问题