Phase 29: SvelteKit Convention + Capacitor SOP Stages 5-6

phase-pal-e-platform-29-sveltekit-convention Phase

phase
Goal: Codify the SvelteKit-on-Pal-E paradigm as a single convention note, and expand the Capacitor SOP with iOS + App Store stages.
Owner: Betty Sue (documentation, no code)
Repo: pal-e-docs (knowledge, no code)
Depends on: None (can start immediately)

Scope

Deliverable 1: convention-sveltekit-spa

Unified "SvelteKit on Pal-E" convention note:
  • Stack: adapter-static + keycloak-js + PKCE
  • Auth: Public client, in-memory tokens, Capacitor platform detection
  • CSS: Global app.css from playground, no scoped styles, design tokens only
  • Data fetching: Client-side fetch() with Bearer token, no +page.server.ts
  • Routing: Role-based redirect in +layout.svelte, public routes allowlist
  • API: import.meta.env.VITE_API_URL with production fallback
Also fills the empty sveltekit-spa-configuration section on project-capacitor-mobile.

Deliverable 2: Capacitor SOP Stages 5-6

  • Stage 5: iOS Build Pipeline — cap init, cap add ios, Xcode project, Fastlane match signing, Mac Woodpecker agent. Gate 4: TestFlight build installs on phone.
  • Stage 6: App Store Submission — App Store Connect, assets, Fastlane deliver, Apple review. Gate 5: App Store approval.

Notes to Create/Update

  • Create: convention-sveltekit-spa
  • Update: project-capacitor-mobile (fill sveltekit-spa-configuration)
  • Update: sop-capacitor-mobile-lifecycle (add stages 5-6)