operator.config

operator.config.yaml holds the answers that are the same for every app you build — so the producer, branding, and ASO stages don't ask you the same global questions each time. Copy operator.config.example.yaml to operator.config.yaml and fill it in.

Non‑secret defaults live here; secrets (API keys) stay in .env — this file only references the path to your App Store Connect key.

# Where your apps live (relative to this file). `dw --app <AppName>` resolves here.
apps_root: "../apps"

# Reverse-domain prefix → bundle IDs. "com.example" makes "ExampleApp"
# become com.example.exampleapp automatically.
reverse_domain: "com.example"

# Defaults shown in App Store metadata.
company_name: "Example Inc."
default_support_url: "https://example.com/support"
default_marketing_url: "https://example.com"
default_privacy_url: "https://example.com/privacy"

# Default integrations for new apps (overridable per App Spec).
defaults:
  analytics: telemetrydeck
  auth: none
  push: none
  iap: storekit2

# App Review contact (Apple may reach out during review).
review_contact:
  first_name: "Your"
  last_name: "Name"
  phone_number: "+1 555 000 0000"
  email_address: "you@example.com"

# Apple / App Store Connect identity. Secrets stay out — only the .p8 PATH is here.
apple:
  account_name: "Your Name"     # doctor asserts the live account matches this
  apple_id: "you@example.com"
  team_id: ""                   # 10-char Developer Portal team id
  itc_team_id: ""               # App Store Connect team id (numeric)
  asc_key_id: ""                # App Store Connect API key id
  asc_issuer_id: ""
  asc_key_p8_path: "~/.appstoreconnect/private_keys/AuthKey_XXXX.p8"

Notes

  • default_support_url / default_privacy_url — point these at your studio pages (for the Delicious studio, https://delicious.works/support and /privacy). They become the App Store URLs unless an app overrides them.
  • defaults seed each new App Spec's integrations; any app can override its own choices.
  • apple is the single signing identity used across apps; a per‑app .env can override it. The dw doctor check verifies the live ASC account matches account_name and warns about stray shell env vars.