Configuration
Configure the CLI using environment variables and configuration files.
Environment Variables
The CLI supports the following environment variables:
| Variable | Description | Default |
|---|---|---|
ASC_API_KEY | API key for authentication | - |
ASC_PROFILE | Named profile to use | default |
ASC_PROJECT | Default project ID | - |
ASC_API_URL | API base URL (for self-hosted) | https://api.appstorecopilot.com |
ASC_OUTPUT_FORMAT | Default output format (text, json) | text |
ASC_NO_COLOR | Disable colored output | false |
CI/CD Setup
Configure environment variables in your CI/CD platform:
GitHub Actions
github-workflows-metadata.ymlyaml
name: Update Store Metadataon:push:branches: [main]jobs:update-metadata:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- name: Setup Node.jsuses: actions/setup-node@v4with:node-version: '20'- name: Install CLIrun: npm install -g @appstorecopilot/cli- name: Push metadataenv: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:20stage: deployscript:- npm install -g @appstorecopilot/cli- asc push --forcevariables:ASC_API_KEY: $ASC_API_KEYASC_PROJECT: $ASC_PROJECTonly:- main
CircleCI
.circleci/config.ymlyaml
version: 2.1jobs:update-metadata:docker:- image: cimg/node:20.0steps:- checkout- run:name: Install CLIcommand: npm install -g @appstorecopilot/cli- run:name: Push metadatacommand: asc push --forceenvironment:ASC_API_KEY: $ASC_API_KEYASC_PROJECT: $ASC_PROJECTworkflows: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.jsmodule.exports = {project: 'proj_abc123',defaultLocale: 'en-US',locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE', 'ja'],// Field mappings between storesfieldMappings: {playstore: {description: 'fullDescription',subtitle: 'shortDescription'}},// Pre-push validationvalidation: {strict: true,maxDescriptionLength: 4000,requiredFields: ['name', 'description', 'keywords']},// Hookshooks: {prePush: './scripts/validate-metadata.js',postPush: './scripts/notify-team.js'}}
Config File Location
The CLI looks for configuration files in this order:
asc.config.jsin the current directory.ascrc.jsonin the current directory~/.config/asc/config.jsonfor global settings
Multiple Profiles
Use profiles to manage multiple accounts or environments:
Profile Managementbash
# Create profiles for different environmentsasc auth login --profile development --key asc_dev_xxxasc auth login --profile staging --key asc_staging_xxxasc auth login --profile production --key asc_live_xxx# Use a specific profileasc push --profile production# Or set via environmentexport ASC_PROFILE=productionasc push# List all profilesasc auth profiles
Global Options
These options are available for all commands:
| Option | Description |
|---|---|
--help, -h | Show help for command |
--version | Show CLI version |
--profile, -P | Use named profile |
--project, -p | Use specific project |
--json | Output as JSON |
--quiet, -q | Suppress non-essential output |
--verbose | Show detailed output |