Skip to main content

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:

toml
# 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:

shell
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:

shell
shoplazza app deploy --config prod

Link a new configuration:

shell
shoplazza app config link --client-id your-client-id

shoplazza.extension.toml​

Each extension has its own configuration file:

toml
# 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