mcpField
G
gplay-migrate-fastlane

gplay-migrate-fastlane

github.com/tamtomCloud & DevOps52336 installsUpdated 13w ago
Repository

About gplay-migrate-fastlane

A skill for moving Android store metadata from Fastlane supply into gplay’s file-based metadata format. It is intended for teams switching their metadata workflow and supports previews and locale-specific migrations.

Key features

  1. 01Convert listing text files into listing.json
  2. 02Copy changelogs and images
  3. 03Preview changes with dry-run
  4. 04Migrate selected locales

Use cases

  1. 01Move existing Fastlane metadata to gplay
  2. 02Preview output before writing files
  3. 03Migrate locales incrementally

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tamtom/gplay-cli-skills --skill gplay-migrate-fastlane

After installing, type/gplay-migrate-fastlanein Claude Code to confirm it loaded.

Details

From the project README

Fastlane Migration

Use this skill when you need to migrate from Fastlane supply to the gplay CLI.

Preconditions

  • Existing Fastlane metadata directory structure.
  • gplay CLI installed and authenticated.
  • Familiarity with the source Fastlane directory layout.

Migrate Command

Basic migration
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata
Dry run (preview without writing files)
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --dry-run
Migrate specific locales only
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,es-ES,fr-FR
Dry run with specific locales
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,ja-JP \
  --dry-run

Flags

FlagDescriptionRequired
--sourcePath to Fastlane metadata directoryYes
--output-dirOutput directory for gplay metadataYes
--dry-runPreview changes without writing filesNo
--localesComma-separated list of locales to migrateNo (all by default)

What Gets Migrated

The command converts the Fastlane directory structure into the format used by gplay's file-based metadata commands (metadata pull / metadata push / metadata validate):

Fastlane source structure
fastlane/metadata/android/
├── en-US/
│   ├── title.txt
│   ├── short_description.txt
│   ├── full_description.txt
│   ├── video.txt
│   ├── changelogs/
│   │   ├── 100.txt
│   │   └── 101.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   └── ...
Migrated output structure
metadata/
├── en-US/
│   ├── listing.json
│   ├── changelogs/
│   │   ├── 100.txt
│   │   └── 101.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   └── ...
File conversions
  • title.txt, short_description.txt, full_description.txt, video.txt are consolidated into listing.json.
  • changelogs/ are copied as-is.
  • images/ are copied as-is.

Workflow Examples

Full migration from Fastlane
# 1. Preview the migration
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --dry-run

# 2. Run the actual migration
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata

# 3. Verify the output
ls -R ./metadata

# 4. Import to Play Store
gplay sync import-listings \
  --package com.example.app \
  --dir ./metadata
Incremental locale migration
# Migrate English first
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US

# Verify and test
gplay sync diff-listings \
  --package com.example.app \
  --dir ./metadata

# Migrate remaining locales
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales es-ES,fr-FR,de-DE,ja-JP
CI/CD migration validation
# In CI, validate that migration produces expected output
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata-test \
  --dry-run

# Check exit code
if [ $? -eq 0 ]; then
  echo "Migration validation passed"
else
  echo "Migration validation failed"
  exit 1
fi

Replacing Fastlane Supply Commands

Fastlane Commandgplay Equivalent
fastlane supply initgplay sync export-listings --dir ./metadata
fastlane supplygplay sync import-listings --dir ./metadata
fastlane supply --skip_upload_imagesgplay sync import-listings --dir ./metadata
fastlane supply --track betagplay release --track beta --bundle app.aab
fastlane supply --track production --rollout 0.1gplay release --track production --bundle app.aab --rollout 0.1

Best Practices

  1. Always dry-run first - Preview the migration output before writing files.
  2. Migrate locale by locale - Start with your primary locale and verify.
  3. Keep Fastlane source - Do not delete the Fastlane directory until fully migrated and verified.
  4. Validate after migration - Use gplay validate listing to check character limits.
  5. Update CI/CD gradually - Replace Fastlane commands one at a time.
  6. Version control the output - Commit migrated metadata to track changes.

Comments

Markdown supported