| name | cross-platform |
| description | Cross-platform codebase exploration for Pocket Casts. Use when asked about Web, iOS, or Android implementation of a feature, or when comparing implementations across platforms. |
Cross-Platform Codebase Exploration
Repository Locations
Other platform repos are siblings of the root iOS repo (not worktrees):
| Platform | Relative to project root | Trunk Branch |
|---|
| Web | ../pocket-casts-webplayer/ | develop |
| Android | ../pocket-casts-android/ | main |
Finding Repos (Worktree-Safe)
If working in a worktree, first find the root iOS repo:
ROOT=$(git worktree list --porcelain | head -n 1 | awk '{print $2}')
WEB_REPO="$ROOT/../pocket-casts-webplayer"
ANDROID_REPO="$ROOT/../pocket-casts-android"
Before Exploring
Each repository contains a CLAUDE.md at its root. Read it first to understand architecture and conventions.
Branch Sync Procedure
Before exploring code:
-
Navigate to repo and check current state:
cd "$WEB_REPO"
git status --short
git branch --show-current
-
If uncommitted/unstaged changes exist → ask the user: stash them, discard, or abort?
-
Determine target branch:
- If user specified a PR → check out that PR's branch
- If on
develop (Web) main (Android) or trunk (iOS) → pull latest
- If on a different branch → ask the user: switch to main/trunk, or stay on current branch?
-
Sync the branch:
git checkout <branch>
git pull
What to Focus On
When comparing or describing implementations:
- Logic flow and feature architecture
- State transitions
- DTOs / data models
- API usage, endpoints, request/response structures
- Feature flags and configuration patterns
- Cross-platform differences and similarities
Avoid language-specific syntax unless necessary to explain behavior.
Example Queries
- "How does iOS handle Up Next syncing?"
- "Compare podcast following between Android and Web"
- "What endpoints does the Server use for Up Next sync?"
- "How are feature flags structured on iOS vs Android?"