Skip to main content

ios-app

Build and maintain the native iOS client inside this turborepo (XcodeGen, SwiftUI, WebSocket feed). Use when creating/updating the iOS app, wiring turbo tasks, or documenting iOS workflows.

Quellinformationen

Repository
joelhooks/atproto-agent-network
Letzte Quellaktivität
12. Februar 2026 um 20:18
Erkannte Sprache von SKILL.md
Englisch
Sterne
23
Forks
4

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ios-app
description
Build and maintain the native iOS client inside this turborepo (XcodeGen, SwiftUI, WebSocket feed). Use when creating/updating the iOS app, wiring turbo tasks, or documenting iOS workflows.
# iOS App Skill (Highswarm Feed) This repo includes a native iOS app at `apps/ios/` built with XcodeGen. ## Purpose (v0) - Tokenless, read-only feed. - Connect to the firehose WebSocket and render the full stream in a SwiftUI list. - Dense "TUI" theme (max info density, small fonts, stacked rows). - Geist Pixel font (bundled under `HighswarmFeed/Resources/Fonts/`). - CarPlay mirror (shows the same feed using the same underlying socket/state). - Keep the iOS workflow reproducible inside the turborepo. ## Paths - App: `apps/ios/` - XcodeGen spec: `apps/ios/project.yml` - Sources: `apps/ios/HighswarmFeed/` - Tests: `apps/ios/HighswarmFeedTests/` - Font resources: `apps/ios/HighswarmFeed/Resources/Fonts/` ## Server API Facts (Current) - Default base URL: `https://agent-network.joelhooks.workers.dev` - Firehose WS endpoint (raw, tokenless for now): `wss://.../firehose` (aliases to `/relay/firehose`). - Sanitized public stream still exists at: `wss://.../relay/public-firehose`. ## Workflow Generate the project: ```bash cd apps/ios pnpm gen ``` Open in Xcode: ```bash cd apps/ios pnpm open ``` Build + test from CLI (uses installed iOS 26.2 simulator runtime): ```bash cd apps/ios pnpm ios:test ``` Run it in the Simulator (fast loop, no Xcode needed): ```bash pnpm ios:build APP=$(ls -d ~/Library/Developer/Xcode/DerivedData/HighswarmFeed-*/Build/Products/Debug-iphonesimulator/HighswarmFeed.app | head -n 1) UDID=$(xcrun simctl list devices available | rg "iPhone 17 \\(" | head -n 1 | sed -n 's/.*(\\([0-9A-F-]\\{36\\}\\)).*/\\1/p') open -a Simulator xcrun simctl bootstatus "$UDID" -b xcrun simctl install "$UDID" "$APP" xcrun simctl launch "$UDID" com.joelhooks.highswarm.feed ``` ## Turborepo Integration `apps/ios` includes a `package.json` so pnpm/turbo can run scripts: - `pnpm --filter @atproto-agent-network/ios ios:test` We intentionally avoid naming these scripts `build`/`test` so `turbo build` / `turbo test` doesn't start running Xcode builds when you're just shipping the Workers app. ## Keeping It Updated When the network event payload shape changes (especially `event_type`, `timestamp`, and `context` fields): - Update the Swift decoder in `apps/ios/HighswarmFeed/Models.swift` - Update normalization logic in `apps/ios/HighswarmFeed/EventNormalizer.swift` - Add/adjust tests in `apps/ios/HighswarmFeedTests/EventNormalizerTests.swift` ## CarPlay Notes - CarPlay UI lives in `apps/ios/HighswarmFeed/CarPlaySceneDelegate.swift`. - We intentionally reuse `SharedStores.shared` so CarPlay does not open a second WebSocket. - CarPlay policies/entitlements are a future problem; this is intended for local/simulator testing while iterating.
Auf GitHub ansehen