Configuration files
Shoplazza CLI uses TOML configuration files to manage app and extension settings.
shoplazza.app.toml
The main app configuration file, created by shoplazza app init:
# Application Client ID (required)
client_id = "your-client-id"
# Partner (organization) that owns the app
partner_id = "your-partner-id"
# Application permission scopes
scopes = "read_customer write_cart_transform"
# Synced to the Partner dashboard by 'shoplazza app config push'
[dashboard]
name = "My App"
app_url = "https://example.com"
redirect_url = "https://example.com/callback"
embed = true
Environment-specific configurations
You can create environment-specific config files:
my-app/
├── shoplazza.app.toml # Default configuration
├── shoplazza.app.prod.toml # Production
└── shoplazza.app.staging.toml # Staging
Switch between configurations:
shoplazza app config use --config prod
Or target one configuration for a single run of app dev, app deploy, or app function release, without switching:
shoplazza app deploy --config prod
Link a new configuration:
shoplazza app config link --client-id your-client-id
shoplazza.extension.toml
Each extension has its own configuration file:
# Extension ID (system-generated)
id = "extension-id"
# Extension name
name = "My Extension"
# Extension type (theme / checkout / function)
type = "theme"
shoplazza.theme.toml
A theme project can record named environments (store, theme ID, path, ignore rules, profile) in shoplazza.theme.toml and target one with -e <name>. See themes env.
CLI configuration directory
Accounts, profiles, and credentials are not stored in the project. They live in a shoplazza-cli folder under your OS user config directory (~/Library/Application Support/shoplazza-cli on macOS, ~/.config/shoplazza-cli on Linux, %AppData%\shoplazza-cli on Windows): config.json holds accounts and profiles, and tokens are stored encrypted next to it.
Project directory structure
A typical app project after initialization:
my-app/
├── shoplazza.app.toml
├── extensions/
│ ├── theme-extension/
│ │ ├── shoplazza.extension.toml
│ │ └── src/
│ ├── checkout-extension/
│ │ ├── shoplazza.extension.toml
│ │ └── src/
│ └── function-extension/
│ ├── shoplazza.extension.toml
│ └── src/
├── package.json
└── README.md