Skip to content

Repository files navigation

app-store-review-digest

A small read-only CLI for App Store review digests. It fetches or loads reviews, summarizes what changed in the selected window, flags urgent unanswered reviews, reports public-response coverage, groups recurring themes, and writes Markdown or JSON reports.

It is built for solo iOS and macOS developers who want something useful in a few minutes without a dashboard, database, scheduler, or reply-posting workflow.

Quick Start

npm install
npm run digest -- --fixture examples/reviews.json

The demo command writes reports/latest.md. The reports/ directory is ignored by git.

Write JSON instead:

npm run digest -- --fixture examples/reviews.json --json --out reports/latest.json

Filter the report:

npm run digest -- --fixture examples/reviews.json --since 7d --territory US --min-rating 1

Live App Store Connect Reads

Set these environment variables, or put them in a local .env file:

APP_STORE_CONNECT_KEY_ID=ABC123DEFG
APP_STORE_CONNECT_ISSUER_ID=00000000-0000-0000-0000-000000000000
APP_STORE_CONNECT_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY_CONTENT\n-----END PRIVATE KEY-----"

Then run:

npm run digest -- --app-id <APP_ID>

The CLI reads customer reviews from App Store Connect and includes public response metadata when Apple returns it. It does not create, update, submit, publish, or delete review responses.

Creating an App Store Connect API Key

Apple's current setup flow is documented in:

Short version:

  1. Sign in to App Store Connect.
  2. Open Users and Access.
  3. Select the Integrations tab.
  4. Select App Store Connect API.
  5. Generate a Team Key or Individual Key with a role that can read app review data.
  6. Copy the key ID and issuer ID.
  7. Download the .p8 private key immediately. Apple only lets you download it once.
  8. Store the key outside git, such as in a local .env file.

Commands

npm run digest -- --fixture examples/reviews.json
npm run digest -- --app-id <APP_ID>
npm run digest -- --fixture examples/reviews.json --json
npm run digest -- --fixture examples/reviews.json --out reports/custom.md

Options:

  • --fixture <path> loads local review JSON without credentials.
  • --app-id <id> fetches reviews from App Store Connect.
  • --since <window> accepts values like 7d, 24h, 2w, or an ISO date.
  • --min-rating <1-5> keeps reviews with at least that rating.
  • --territory <code> keeps one territory, such as US.
  • --json writes a JSON report instead of Markdown.
  • --out <path> chooses the output path. The default is reports/latest.md or reports/latest.json.

Report Contents

Each Markdown report includes:

  • Executive summary.
  • New review count for the selected report window.
  • Average rating and rating distribution.
  • Worst recent reviews.
  • Reviews needing attention.
  • Unanswered review count and public-response coverage.
  • Common themes with example snippets.
  • Suggested next actions.
  • Local-only draft response suggestions, clearly marked as drafts.

Draft suggestions are local notes only. The tool has no public reply-posting command.

Fixture Format

Fixture mode accepts either:

  • An object with a reviews array.
  • A plain JSON array of reviews.
  • An App Store Connect-style payload with data and optional included response resources.

Minimal review shape:

{
  "id": "review-001",
  "rating": 1,
  "title": "Crashes after update",
  "body": "The app freezes on launch.",
  "reviewerNickname": "ExampleReviewer",
  "territory": "US",
  "createdDate": "2026-07-01T15:30:00Z",
  "response": null
}

Development

npm install
npm test
npm run build
npm run digest -- --fixture examples/reviews.json --out reports/latest.md
npm run digest -- --fixture examples/reviews.json --json --out reports/latest.json

Safety

  • Read-only against App Store Connect.
  • No dashboard.
  • No database.
  • No scheduled cloud function.
  • No email or messaging integration.
  • No public reply posting.
  • Generated reports stay in reports/ and are ignored by git.

About

Read-only CLI for App Store review digests

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages