Skip to content
Yasser'sstudio.

Digital Builder & Strategist

Own Product2025-PresentDeveloper Tools

GPC

Google Play Console CLI

The entire Google Play Console, run from your terminal. GPC replaces the click-through-every-screen release process with one command, covering all 227 Play Developer API endpoints from a single binary with no Ruby, JVM, or browser. Seven packages, published on npm and Homebrew.

gpc status
$ gpc status
App: com.example.app (fetched just now)
RELEASES
production v142 completed -
beta v143 inProgress 10%
internal v144 draft -
VITALS (last 7 days)
crashes 0.80% ↓ ✓ anr 0.20% ↓ ✓
slow starts 2.10% slow render 4.30%
REVIEWS (last 30 days)
★ 4.6 142 new 89% positive ↑ from 4.4
01

What I was solving

Shipping an Android update means working through the Play Console screen by screen: upload the build, write the notes, configure the rollout, check the crash numbers, read the reviews. Every single release. The usual automation tools cover only a slice of the Play API and pull in heavy runtimes most teams would rather not install.

02

How I approached it

I built GPC as a full command-line replacement for the Play Console, not a partial one. Seven TypeScript packages cover the entire Google Play Developer API: releases and staged rollouts, store listings, vitals, reviews, subscriptions, and Managed Google Play. Before a build ever reaches Google, nine scanners check it for the things that get apps rejected, so problems surface on your machine instead of in review. Every command speaks JSON and returns a meaningful exit code, so GPC drops straight into CI as a quality gate. It ships as a single binary for five platforms, on npm and Homebrew, with a plugin system for teams that need to extend it.

gpc status
$ gpc status
App: com.example.app (fetched just now)
RELEASES
production v142 completed -
beta v143 inProgress 10%
internal v144 draft -
VITALS (last 7 days)
crashes 0.80% ↓ ✓ anr 0.20% ↓ ✓
slow starts 2.10% slow render 4.30%
REVIEWS (last 30 days)
★ 4.6 142 new 89% positive ↑ from 4.4
App health at a glance: releases, vitals, and reviews in one command
gpc preflight
$ gpc preflight app-release.aab
Scanning app-release.aab (9 scanners)
Target SDK 35 (meets requirement)
Permissions All declared correctly
Exported components All flagged
API keys 1 hardcoded key in BuildConfig
Billing SDK Play Billing v7
Privacy/tracking No issues
COPPA flags Not targeted at children
Download size 24.3 MB (under 200 MB)
Store listing Metadata complete
8 passed 1 warning 0 errors
9 offline policy scanners catch rejections before Google does
gpc releases
$ gpc releases upload app.aab --track beta --notes "Bug fixes"
Creating edit... done
Uploading app.aab... done (24.3 MB)
Assigning to beta track... done
Setting release notes... done
Committing edit... done
v143 uploaded to beta track
$ gpc releases promote --from beta --to production --rollout 10
v143 promoted to production at 10% rollout
Upload, promote, and roll out from the terminal
gpc doctor
$ gpc doctor
Node.js v20.20.0
GPC version v0.9.51
Configuration loaded from .gpcrc.json
Default app com.example.myapp
Authentication service account
API connectivity verified
All checks passed!
Validate your entire setup before shipping

Built With

TypeScript
Node.js
Turborepo
Vitest
esbuild
Google Play API

Impact & Outcomes

0

Play API endpoints covered

0

npm downloads in the past year

0

Automated tests

0

Pre-submit policy scanners

0

Packages published on npm

0

Runtimes needed (no Ruby or JVM)

Let's automate it.

Tell me what you're working on and I'll get back to you within 24 hours.

Start a Project