This project is a native Swift/SwiftUI implementation of ArcForge: The Unified Creation Engine.
Given the massive scope of ArcForge (IDE, local LLMs, Agent Swarms, Git orchestration), this application is structured using a production-ready SwiftUI Architecture featuring Dependency Injection, State Management, and a modular feature-based folder structure.
The codebase is organized exactly according to the ArcForge specifications:
- App: Core entry point, Dependency Container, and main routing.
- Core: App State, Theme definitions, and Service Protocols (Mocked for now; ready for real backend bindings like
llama.cpp-swiftandSwiftGit2). - Features:
- Forge: The IDE Editor interface with split views and file explorers.
- Nexus: Git repository tracking, CI/CD, and deployment hub.
- Mind: Local LLM management, prompt handling, and chat interface.
- Swarm: Visual agent orchestration system and workflow visualizer.
- Mirror: The live-preview engine layout and device frame simulators.
- UI: Shared components, Vibe Coding overlays, and App-wide layout controls.
This project was built as a modern .swiftpm (Swift Package App). It contains no proprietary .xcodeproj cruft and is universally compatible with Apple's ecosystem.
- On macOS: Simply double-click the
ArcForge.swiftpmfolder. It will instantly open in Xcode as a native app package. You can build and run it on any iOS Simulator, Mac Catalyst, or a plugged-in physical device. - On iPad: Airdrop the
ArcForge.swiftpmfolder to your iPad and open it in Swift Playgrounds. It will compile and run natively on the device.
To realize the full "local execution" scope on iOS devices:
- The Mind: Replace
MockLLMServiceby linking llama.cpp for Swift to run GGUF models via Apple's Metal framework directly on-device. - The Nexus: Replace
MockGitServicewith SwiftGit2 to manage true local repository orchestration. - The Forge: iOS strictly forbids spawning arbitrary bash terminals or sub-processes natively. For a true iOS App Store release, the "Terminal" pillar must either be emulated (e.g., via SSH to a remote worker) or the app must be distributed via macOS (where arbitrary processes are allowed).