Configuration

Configure the CLI using environment variables and configuration files.

Environment Variables

The CLI supports the following environment variables:

VariableDescriptionDefault
ASC_API_KEYAPI key for authentication-
ASC_PROFILENamed profile to usedefault
ASC_PROJECTDefault project ID-
ASC_API_URLAPI base URL (for self-hosted)https://api.appstorecopilot.com
ASC_OUTPUT_FORMATDefault output format (text, json)text
ASC_NO_COLORDisable colored outputfalse

CI/CD Setup

Configure environment variables in your CI/CD platform:

GitHub Actions

github-workflows-metadata.ymlyaml
name: Update Store Metadata
on:
push:
branches: [main]
jobs:
update-metadata:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install CLI
run: npm install -g @appstorecopilot/cli
- name: Push metadata
env:
ASC_API_KEY: ${{ secrets.ASC_API_KEY }}
ASC_PROJECT: ${{ secrets.ASC_PROJECT }}
run: asc push --force

GitLab CI

.gitlab-ci.ymlyaml
update-metadata:
image: node:20
stage: deploy
script:
- npm install -g @appstorecopilot/cli
- asc push --force
variables:
ASC_API_KEY: $ASC_API_KEY
ASC_PROJECT: $ASC_PROJECT
only:
- main

CircleCI

.circleci/config.ymlyaml
version: 2.1
jobs:
update-metadata:
docker:
- image: cimg/node:20.0
steps:
- checkout
- run:
name: Install CLI
command: npm install -g @appstorecopilot/cli
- run:
name: Push metadata
command: asc push --force
environment:
ASC_API_KEY: $ASC_API_KEY
ASC_PROJECT: $ASC_PROJECT
workflows:
deploy:
jobs:
- update-metadata:
filters:
branches:
only: main

Configuration File

You can also use a configuration file in your project:

asc.config.jsjavascript
// asc.config.js
module.exports = {
project: 'proj_abc123',
defaultLocale: 'en-US',
locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE', 'ja'],
// Field mappings between stores
fieldMappings: {
playstore: {
description: 'fullDescription',
subtitle: 'shortDescription'
}
},
// Pre-push validation
validation: {
strict: true,
maxDescriptionLength: 4000,
requiredFields: ['name', 'description', 'keywords']
},
// Hooks
hooks: {
prePush: './scripts/validate-metadata.js',
postPush: './scripts/notify-team.js'
}
}

Multiple Profiles

Use profiles to manage multiple accounts or environments:

Profile Managementbash
# Create profiles for different environments
asc auth login --profile development --key asc_dev_xxx
asc auth login --profile staging --key asc_staging_xxx
asc auth login --profile production --key asc_live_xxx
# Use a specific profile
asc push --profile production
# Or set via environment
export ASC_PROFILE=production
asc push
# List all profiles
asc auth profiles

Global Options

These options are available for all commands:

OptionDescription
--help, -hShow help for command
--versionShow CLI version
--profile, -PUse named profile
--project, -pUse specific project
--jsonOutput as JSON
--quiet, -qSuppress non-essential output
--verboseShow detailed output