Skip to content

Ship to Google Play from your terminal

gplay is a fast, single-binary CLI for the Google Play Developer API. Releases, staged rollouts, store listings, reviews, compliance, and team management — built for CI pipelines and AI agents, designed to replace Fastlane on Android pipelines.

$ brew install PollyGlot/tap/gplay more options ↓

commands
46
namespaces
10
static binary
1
runtime deps
0

Built for pipelines, not demos

Every design decision is documented in public architecture decision records. These are the load-bearing ones.

One static binary

Written in Go. No Ruby, no Node, no Python in your CI image — one file, fast cold start, trivial caching.

CI-first output

TTY-aware: tables for humans, raw Google Play API JSON in pipes and CI. stdout carries data only; logs go to stderr.

Semantic exit codes

Exit 40/50 mean "retry me", exit 3 names the missing safety flag, the rest fail fast. Retry logic without parsing error text.

Safe production defaults

Uploads and promotions to production land as drafts. Reaching real users always takes an explicit --complete or --staged, plus --confirm.

Store front as code

Pull listings and images into a fastlane-compatible tree, validate offline, diff with --dry-run, apply additively. Deletion is opt-in.

Agent-first design

Dry-runs announce the safety flags a write needs, the API schema is introspectable offline, and the docs ship as llms.txt.

A CLI your AI agent already understands

gplay treats autonomous callers as first-class users. JSON output mirrors the Google Play API schemas verbatim. A refused write names the exact safety flag it needs (exit code 3) instead of dead-ending. --dry-run previews any mutation without HTTP — and on team writes it returns a requires array announcing the gates ahead.

The docs you're reading ship as llms.txt and llms-full.txt, including the full generated command reference. The agent guide spells out the whole contract.

Ready-made skills

$ npx skills add PollyGlot/google-play-cli-skills

Nine skills — one per namespace plus a conventions foundation — each documenting the safe command sequence for its workflow, for Claude Code and compatible tools. Browse the roster.

Install

One binary, four ways to get it. Then the quickstart takes you from login to a release upload in five commands.

$ brew install PollyGlot/tap/gplay

macOS and Linux.

FAQ

What is gplay?

gplay is an open-source command-line interface for the Google Play Developer API, shipped as a single static Go binary. It uploads and promotes releases, runs staged rollouts, manages tracks and testers, syncs store listings and images, replies to reviews, pushes Data Safety declarations, and administers Play Console users and permissions.

How is gplay different from Fastlane supply?

No Ruby runtime — gplay is one static binary, so CI images stay small and cold starts stay fast. Output is machine-stable (raw API JSON in pipes), exit codes are semantic so scripts know what is retryable, and production uploads default to draft releases instead of publishing to 100% of users. An existing fastlane metadata tree drops in unchanged.

Does gplay work in CI?

Yes — that is its home turf. Credentials inject via the GPLAY_SERVICE_ACCOUNT environment variable (file path or inline JSON), CI=true switches output to JSON automatically, no command ever prompts interactively, and exit codes 40/50 mark exactly the failures worth retrying.

Can AI agents drive gplay?

Yes, by design. JSON output mirrors the Google Play API schemas, refusals are machine-resolvable (exit 3 names the missing acknowledgment flag), --dry-run previews any write without HTTP, gplay schema answers API-shape questions offline, and this site publishes llms.txt and llms-full.txt. A companion repo ships ready-made agent skills: npx skills add PollyGlot/google-play-cli-skills.

Is gplay free?

Yes — open source under the MIT license. The source, issue tracker, and architecture decision records are public on GitHub.

Is gplay affiliated with Google?

No. gplay is an independent open-source project that uses the public Google Play Developer API. It is not endorsed by, affiliated with, or sponsored by Google LLC. "Google Play" is a trademark of Google LLC.