Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LUCA

This is a tool to construct LUCA for Xcode project.

What is LUCA?

LUCA is a modern architecture for SwiftUI development.
It is a practical architecture optimized for the SwiftUI × Observation era.

LLayeredClear 3-layer separation of concerns
UUnidirectional Data FlowSingle-direction data flow
CComposableComposability and testability like TCA
AArchitectureArchitecture

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

Claude Code Skills

LUCA-Skills provides Claude Code skills for developing apps with LUCA.

CommandDescription
/luca-setupGuides project scaffolding — installing prerequisites and running the luca CLI
/luca-archExplains the LUCA architecture: layers, components, data flow, and patterns
/luca-implImplements features across all three layers following LUCA coding rules
/luca-testWrites unit tests for Services and Stores using Swift Testing

Requirements

  • 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+

Installation

Homebrew

brew tap kyome22/tap
brew install luca

Swift Package Manager

git clone https://github.com/kyome22/LUCA.git
cd LUCA
swift run luca

Usage

luca --name <name> --organization-id <organization-id> [--platform <platform>] [--path <path>]

Options

ShortLongExplain
-n--nameSpecify the project name.
-o--organization-idSpecify the organization identifier (e.g., com.company).
--platformSpecify the target platform (iOS or macOS). Default: iOS.
-p--pathSpecify the path to the directory to create Xcode project.

About

Command line tool to construct LUCA for Xcode project.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages