Skip to content

Latest commit

 

History

History
70 lines (55 loc) · 3.1 KB

File metadata and controls

70 lines (55 loc) · 3.1 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.

Pre-PR checklist (Maestri note)

Before opening any PR, read the connected Maestri note "Checklist pré-PR — SkateHive mobile" (CLI name: checklist-pre-pr-skatehive) and review the diff against it:

maestri note read "checklist-pre-pr-skatehive"

It is the review checklist, not a copy of AGENTS.md: theme tokens, security, build steps, scope of the diff, PR conventions.

If you discover a new convention or a gotcha while working, write it into the note yourself instead of only mentioning it in chat:

maestri note edit "checklist-pre-pr-skatehive" "<existing line>" "<existing line>
- [ ] <new check>"

Prefer edit over write so nothing already in the note is lost. This is about the check; a convention that belongs to the codebase itself still goes in AGENTS.md as well.

The note lives on the repo owner's Maestri canvas, so maestri will not be on PATH for everyone. If the command is missing or the note is not connected, skip this section and review the diff against AGENTS.md, which covers the repository conventions. Say in the PR that the Maestri-specific checks were unavailable, rather than treating the review as complete.

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