Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 1.94 KB

File metadata and controls

40 lines (32 loc) · 1.94 KB

SkateHive Mobile App — Claude Code

The canonical agent instructions for this project live in AGENTS.md. Read that first; it is the shared, agent-neutral guide (architecture, critical files, task patterns, conventions, security rules, gotchas). Keep it as the single source of truth and update it there, not here.

@AGENTS.md


Claude Code operational notes

These build/release specifics are not in AGENTS.md.

Releasing to TestFlight (local Xcode build — NOT EAS)

Builds are made locally in Xcode and uploaded to App Store Connect under the owner's personal Apple account. EAS is not used (free Expo account, queue too long) — ignore the eas build/eas submit flow in eas.json. ios/ is gitignored and regenerated by prebuild, so app.json is the single source of version truth (the old "bump 4 places" checklist no longer applies).

  1. git pull, then pnpm install. Use pnpm 9, never corepack pnpm — v11 ignores .npmrc's node-linker=hoisted and the bundler then can't resolve babel-preset-expo. (package.json pins pnpm@9.7.1 via packageManager.)
  2. Bump expo.ios.buildNumber in app.json (must be unique per upload).
  3. pnpm prebuild:ios — clean-prebuilds iOS (adds the SkateSpots widget target via @bacons/apple-targets) and runs scripts/sync-widget-version.js, which copies the build number onto the widget target. apple-targets resets the widget's CURRENT_PROJECT_VERSION to 1, and App Store Connect rejects an extension whose build number ≠ the app's.
  4. Open ios/SkateHive.xcworkspace, set destination to Any iOS Device, then Product → Archive (not Build) → Organizer → Distribute App → App Store Connect → Upload.

Identifiers

  • iOS App Store ID: 6751173076
  • iOS bundle: com.bgrana.skatehive · widget com.bgrana.skatehive.widget
  • App Group: group.com.bgrana.skatehive · Apple Team ID: JBJ68VAF83
  • Android package: com.skatehive.app