Get Context running and understand the codebase in under 10 minutes.
# 1. Clone the repository
git clone https://github.com/tartavull/context.git
cd context
# 2. Open in Xcode
open context.xcodeproj
# 3. Build and run (Cmd+R in Xcode)
context/
├── context.xcodeproj/ # Xcode project file
├── context/ # Main app source
│ ├── contextApp.swift # App entry point (@main)
│ ├── ContentView.swift # Main UI layout
│ ├── AppStateManager.swift # Centralized state management
│ ├── Models.swift # Data models (Project, Task, Message)
│ └── Views/ # SwiftUI view components
│ ├── ProjectsView.swift # Task tree sidebar
│ ├── Chat/ # Chat interface components
│ └── Tree/ # Task visualization components
└── docs/ # Documentation
contextApp.swift
: App entry pointContentView.swift
: Main split-pane layoutAppStateManager.swift
: ObservableObject managing all app stateModels.swift
: Core data structures for projects, tasks, and messagesViews/
: SwiftUI view components organized by featureContext uses SwiftUI’s declarative UI with reactive state management:
// AppStateManager is an ObservableObject
@StateObject private var appState = AppStateManager()
// Views automatically update when @Published properties change
@Published var state: AppState
Views/
directoryAppStateManager.swift
methodsModels.swift
Cmd+R
to rebuild and testAll state changes should go through AppStateManager
:
// Good: Use AppStateManager methods
appState.createTask(projectId: projectId, title: "New Task")
// Avoid: Direct state manipulation