Files
Sybil-2/ios/AGENTS.md
2026-02-20 00:09:02 -08:00

1.5 KiB

AGENTS.md (iOS)

Scope

Instructions for work under /Users/buzzert/src/sybil-2/ios.

Build + Run

  • Preferred build command: just build
  • just build will:
    1. generate Sybil.xcodeproj with xcodegen if missing,
    2. build scheme Sybil for iPhone 16e simulator.
  • If xcbeautify is installed it is used automatically; otherwise raw xcodebuild output is used.

App Structure

  • App target entry: /Users/buzzert/src/sybil-2/ios/Apps/Sybil/Sources/SybilApp.swift
  • Shared iOS app code lives in Swift package:
    • /Users/buzzert/src/sybil-2/ios/Packages/Sybil/Sources/Sybil
  • Main UI root: SplitView.swift
  • Networking + SSE client: SybilAPIClient.swift
  • State coordinator: SybilViewModel.swift

Product Expectations

  • Keep the iOS design aligned to the web app dark aesthetic (no light mode support required).
  • Preserve these core features:
    • conversation/search list,
    • streaming chat transcript,
    • streaming search results + answer,
    • settings screen for API URL and token.
  • Markdown rendering currently uses MarkdownUI via SwiftPM.

API Contract

  • iOS client must follow docs in:
    • /Users/buzzert/src/sybil-2/docs/api/rest.md
    • /Users/buzzert/src/sybil-2/docs/api/streaming-chat.md
  • If backend contract changes (request/response shapes, SSE events, auth semantics), update docs in the same change.

Practical Notes

  • Default API URL is http://127.0.0.1:8787/api (configurable in-app).
  • Provider fallback models:
    • OpenAI: gpt-4.1-mini
    • Anthropic: claude-3-5-sonnet-latest
    • xAI: grok-3-mini