openclaw/apps/ios-github-mobile
Claude cffaf0b904
feat: add SwiftUI GitHub mobile app inspired by Claude Code
- Create new iOS app at apps/ios-github-mobile
- Session list view with repository info and status
- Chat view with collapsible tool executions (Write, Bash, Read)
- Message input with model/repo/branch selection chips
- PR creation flow simulation
- Dark theme matching Claude Code aesthetic
- Mock data for repos, sessions, and tool calls
- Modern SwiftUI with @Observable, NavigationStack

https://claude.ai/code/session_018qmTB96S8xvNRQFrhcvzJp
2026-01-23 08:22:15 +00:00
..
Sources feat: add SwiftUI GitHub mobile app inspired by Claude Code 2026-01-23 08:22:15 +00:00
Package.swift feat: add SwiftUI GitHub mobile app inspired by Claude Code 2026-01-23 08:22:15 +00:00
README.md feat: add SwiftUI GitHub mobile app inspired by Claude Code 2026-01-23 08:22:15 +00:00

GitHub Mobile - SwiftUI App

A beautiful SwiftUI mobile app inspired by the Claude Code mobile experience. This app provides a clean interface for managing GitHub repositories and sending code requests through an AI assistant.

Features

  • Session Management: View and manage coding sessions organized by repository
  • Chat Interface: Send messages and view AI responses with tool execution details
  • Repository Selection: Browse and select from your GitHub repositories
  • Model Selection: Choose between different AI models (Sonnet, Opus, Haiku)
  • Dark Theme: Beautiful dark theme matching the Claude Code aesthetic
  • PR Creation: Simulate creating pull requests from the app

Screenshots

The app is inspired by the Claude Code mobile app UI:

  • Session list with repository information
  • Chat view with collapsible tool executions (Write, Bash, Read, etc.)
  • Bottom input with model/repo selection chips

Requirements

  • iOS 17.0+
  • Xcode 15.0+
  • Swift 5.9+

Project Structure

Sources/
├── GitHubMobileApp.swift      # App entry point
├── ContentView.swift          # Main navigation container
├── Models/
│   ├── Models.swift           # Data models (Session, Message, Repository, etc.)
│   └── AppState.swift         # Observable app state
├── Views/
│   ├── SessionListView.swift  # Session list screen
│   └── ChatView.swift         # Chat/conversation screen
├── Components/
│   ├── MessageInputView.swift # Message input component
│   ├── PickerSheets.swift     # Model and repo picker sheets
│   └── StatusIndicator.swift  # Status indicators and badges
├── Theme/
│   └── AppTheme.swift         # Colors, spacing, and styling
└── Assets.xcassets/           # App icons and colors

Architecture

The app uses modern SwiftUI patterns:

  • @Observable macro for state management (iOS 17+)
  • NavigationStack with typed navigation paths
  • Environment for dependency injection
  • View modifiers for reusable styling

Building

Using Xcode

  1. Open Package.swift in Xcode
  2. Select your target device
  3. Build and run (Cmd+R)

Using Swift Package Manager

swift build

Mock Data

The app includes mock data for demonstration:

  • Sample repositories (clawdbot, systemss, Awesome-Prompts, etc.)
  • Sample sessions with various titles
  • Mock tool executions (Write, Bash commands)

Customization

Colors

Edit Theme/AppTheme.swift to customize:

  • Background colors
  • Accent colors (warm orange by default)
  • Text colors
  • Tool execution colors

Mock Data

Edit Models/Models.swift to customize:

  • Repository.mockList - Available repositories
  • Session.mockList - Session list items
  • Session.mockActiveSession() - Active session with tool calls

License

Open source - feel free to use and modify.