#pabal-app-review-miner Docs (en-US)
#Overview
pabal-app-review-miner is a CLI for collecting raw competitor reviews from Google Play and App Store, grouped by your app id.
#What It Does
- Collects newest reviews from Google Play and App Store
- Supports single competitor and multi competitor workflows
- Auto-discovers top competitors when only
--my-appis provided - Saves raw JSON per competitor under your app scope
- Translates collected reviews to Korean under
reviews-ko/ - Generates Korean competitor analysis reports under
reports/
Output structure:
data/{myAppId}/reviews/{competitor}.json
#Quick Start
npm install
npm run build
npm run setup:config
npm run review:collect -- --my-app golden-horizon --apps apps.json --limit 200
npm run review:collect -- --my-app golden-horizon --auto-top 5 --limit 200
npm run review:collect -- --my-app golden-horizon --apps apps.json --platform ios --limit 200
npm run review:collect-by-name -- --my-app golden-horizon --name "BJJBuddy"
npm run report:translate -- --my-app golden-horizon
npm run report:analyze -- --my-app golden-horizon
npm run report:render-html -- --my-app golden-horizon
npm run report:preview -- --my-app golden-horizon --port 4173
#Setup
#1. Install
Runtime requirement:
- Node.js
>=20.19.0
npm install
npm run build
#2. Prepare registered-apps.json
This project resolves myAppId from:
~/.config/pabal-mcp/registered-apps.json
Option A: Automatic template (recommended)
npm run setup:config
This command:
- creates
~/.config/pabal-mcp - applies
chmod 700(best effort) - creates
registered-apps.jsonwith a starter template if missing - locks file permissions to
600for files in~/.config/pabal-mcp
Option B: Manual shell commands
mkdir -p ~/.config/pabal-mcp
chmod 700 ~/.config/pabal-mcp
cat > ~/.config/pabal-mcp/registered-apps.json <<'JSON'
{
"apps": [
{
"slug": "golden-horizon",
"name": "Golden Horizon",
"appStore": {
"bundleId": "com.quartz.goldenhorizon",
"appId": "1234567890",
"name": "Golden Horizon",
"supportedLocales": ["en-US", "ko-KR"]
},
"googlePlay": {
"packageName": "com.quartz.goldenhorizon",
"name": "Golden Horizon",
"supportedLocales": ["en-US", "ko-KR"]
}
}
]
}
JSON
open ~/.config/pabal-mcp
chmod 600 ~/.config/pabal-mcp/*
#3. JSON Rules
- Minimum required field per app is
slug. --my-appcan matchslug,name,appStore.bundleId,appStore.appId, orgooglePlay.packageName.- Keep
slugstable because it is used as{myAppId}in output paths. - Auto competitor discovery (
--my-apponly mode) requires at least one ofgooglePlay.packageNameorappStore.appId.
#4. Optional Custom Path
--registered-apps-path /your/path/registered-apps.json
#5. Quick Validation
npm run review:collect -- --my-app golden-horizon --apps apps.json --limit 1
#Documentation Map
- Review Commands:
review:*scripts - Report Commands:
report:*scripts