archon-ios

Archon Mobile

A complete, polished iOS app for building apps with AI. Describe what you want in chat, watch an AI agent build it step by step, browse and edit the generated code, and manage your projects.

Screens

Architecture

┌─────────────────────────────────────────────┐
│                 ArchonMobileApp              │
│  ┌─────────┐  ┌──────────┐  ┌────────────┐  │
│  │ Onboard │→ │  Auth    │→ │ MainTab    │  │
│  └─────────┘  └──────────┘  └────────────┘  │
└─────────────────────────────────────────────┘
                       │
         ┌─────────────┼─────────────┐
         ▼             ▼             ▼
    ┌─────────┐  ┌─────────┐  ┌──────────┐
    │Dashboard│  │ Builder │  │  Code    │
    │   VM    │  │   VM    │  │ Browser  │
    └────┬────┘  └────┬────┘  │   VM     │
         │             │      └────┬─────┘
         ▼             ▼           ▼
    ┌─────────────────────────────────────┐
    │         APIClientProtocol           │
    │  ┌───────────┐  ┌───────────────┐   │
    │  │  MockAPI   │  │ Authenticated │   │
    │  │  Client    │  │   APIClient    │   │
    │  └───────────┘  └───────────────┘   │
    └─────────────────────────────────────┘
                       │
              ┌────────┴────────┐
              ▼                 ▼
    ┌──────────────┐  ┌──────────────┐
    │ Keychain     │  │  Supabase    │
    │ SessionStore │  │   Client     │
    └──────────────┘  └──────────────┘

Build Instructions

Prerequisites

Setup

  1. Clone and configure:
git clone https://github.com/Mattjhagen/archon-ios.git
cd archon-ios
cp Config/Config.example.xcconfig Config/Config.xcconfig
  1. Edit Config/Config.xcconfig with your Supabase credentials:
SUPABASE_ANON_KEY = your_publishable_key_here
SUPABASE_URL = https:/$()/your-project.supabase.co
API_BASE_URL = https:/$()/archon-ide-pacmac.fly.dev/api
  1. Generate the Xcode project:
xcodegen generate
  1. Open and run:
open ArchonMobile.xcodeproj

Select an iOS 17+ simulator and press Cmd+R.

Production builds use the authenticated Supabase and Fly services. MockAPIClient is retained only for unit tests and SwiftUI development.

TestFlight

See TESTFLIGHT.md for the verified release checklist, App Store Connect metadata, and upload steps.

Project Structure

ArchonMobile/
├── App/                    # App entry, main tab view
├── Config/                 # Environment, xcconfig
├── DesignSystem/           # Colors, typography, spacing tokens
├── Models/                 # Codable models, API types
├── Network/                # APIClient protocol, MockAPIClient
├── Services/               # Keychain, Supabase client, Auth
├── ViewModels/             # ObservableObject view models
└── Views/
    ├── Onboarding/         # Welcome flow, auth
    ├── Dashboard/          # Project list/grid
    ├── Builder/            # AI chat, event timeline
    ├── CodeBrowser/        # File tree, syntax editor
    ├── Preview/            # WKWebView preview
    └── Settings/           # App settings

Tech Stack

Design Principles

License

MIT License — Copyright (c) 2024 Matt Hagen