This is a tool to construct LUCA for Xcode project.
LUCA is a modern architecture for SwiftUI development.
It is a practical architecture optimized for the SwiftUI × Observation era.
| L | Layered | Clear 3-layer separation of concerns |
|---|---|---|
| U | Unidirectional Data Flow | Single-direction data flow |
| C | Composable | Composability and testability like TCA |
| A | Architecture | Architecture |
Layers
┌───────────────────┐
│ UserInterface │ ← UI provision and event handling
├───────────────────┤
│ Model │ ← Business logic and state management
├───────────────────┤
│ DataSource │ ← Data access and infrastructure abstraction
└───────────────────┘
File Structure
.
├── LocalPackage
│ ├── Package.swift
│ ├── Sources
│ │ ├── DataSource
│ │ │ ├── Dependencies
│ │ │ │ └── AppStateClient.swift
│ │ │ ├── Entities
│ │ │ │ ├── AppState.swift
│ │ │ │ └── AsyncStreamBundle.swift
│ │ │ ├── Extensions
│ │ │ ├── Repositories
│ │ │ └── DependencyClient.swift
│ │ ├── Model
│ │ │ ├── Extensions
│ │ │ ├── Services
│ │ │ ├── Stores
│ │ │ ├── AppDelegate.swift (optional)
│ │ │ ├── AppDependencies.swift
│ │ │ └── Composable.swift
│ │ └── UserInterface
│ │ ├── Extensions
│ │ ├── Resources
│ │ ├── Scenes
│ │ └── Views
│ └── Tests
│ └── ModelTests
│ ├── ServiceTests
│ ├── StoreTests
│ ├── TestStore.swift
│ └── WaitUntil.swift
├── ProjectName
│ └── ProjectNameApp.swift
└── ProjectName.xcodeproj
LUCA-Skills provides Claude Code skills for developing apps with LUCA.
| Command | Description |
|---|---|
/luca-setup |
Guides project scaffolding — installing prerequisites and running the luca CLI |
/luca-arch |
Explains the LUCA architecture: layers, components, data flow, and patterns |
/luca-impl |
Implements features across all three layers following LUCA coding rules |
/luca-test |
Writes unit tests for Services and Stores using Swift Testing |
- Development with Xcode 26.0+
- Compatible with iOS 18.0+ / macOS 15.0+
- Written in Swift 6.2
- This tool depends on XcodeGen 2.44.1+
Homebrew
brew tap kyome22/tap
brew install lucaSwift Package Manager
git clone https://github.com/kyome22/LUCA.git
cd LUCA
swift run lucaluca --name <name> --organization-id <organization-id> [--platform <platform>] [--path <path>]Options
| Short | Long | Explain |
|---|---|---|
-n |
--name |
Specify the project name. |
-o |
--organization-id |
Specify the organization identifier (e.g., com.company). |
--platform |
Specify the target platform (iOS or macOS). Default: iOS. |
|
-p |
--path |
Specify the path to the directory to create Xcode project. |