Phase 22: Capacitor Init — iOS Project Setup

phase-wkq-22-capacitor-init Phase

phase
Goal: Add Capacitor to westside-app. iOS project generated, web deployment unchanged.
Owner: Dev agent
Repo: forgejo_admin/westside-app
Depends on: Phase 29: SvelteKit Convention (plan-pal-e-platform)

Scope

  • Install: @capacitor/core, @capacitor/cli, @capacitor/ios
  • npx cap init — app ID: com.westsidekingsandqueens.app
  • npx cap add ios
  • capacitor.config.ts: webDir='build', server URL handling
  • Platform detection in src/lib/keycloak.js — follow mcd-tracker pattern (~/mcd-tracker-app/src/lib/keycloak.js lines 100-105)
  • Keycloak client westside-spa already has capacitor://localhost/* redirect URIs
  • Verify: npm run build && npx cap sync ios produces valid Xcode project
Independent of Phase 21 (Enterprise Auth) — can run in parallel.

Acceptance Criteria

  • westside-app has capacitor.config.ts and ios/ directory
  • npm run build && npx cap sync ios succeeds
  • Xcode project opens and builds without errors
  • Web deployment continues unchanged