- 프로젝트명: DDDAttendance (출석 관리 시스템)
- 스택: Swift 6, SwiftUI, TCA 1.25, Tuist 4
- 아키텍처: TCA + Clean Architecture 멀티모듈
- 배포 타겟: iOS 26.0, iPhone 전용
- 네비게이션: TCAFlow @FlowCoordinator
- 의존성 주입: WeaveDI
Projects/
├── App/ # 앱 타겟 (진입점, DI 조립)
│ ├── Di/ # WeaveDI 의존성 등록
│ ├── Reducer/ # AppReducer (루트 상태 관리)
│ └── Application/ # App Entry Point
├── Presentation/ # 화면 + ViewModel (TCA Feature)
│ ├── Auth/ # 인증 플로우 (Login, OnBoarding)
│ ├── Attendance/ # 출석 관리 플로우
│ ├── Schedule/ # 스케줄 관리 플로우
│ ├── Profile/ # 프로필 플로우
│ └── Common/ # 공통 프레젠테이션 컴포넌트
├── Domain/
│ ├── Entity/ # 도메인 엔티티 + Protocol
│ ├── UseCase/ # 비즈니스 로직 구현
│ └── DomainInterface/ # Repository 인터페이스 및 Mock 구현체
├── Data/
│ ├── Model/ # DTO, API Response → Entity 변환
│ ├── Repository/ # Repository 구현체
│ ├── API/ # REST API Endpoint
│ └── Service/ # 데이터 처리 서비스
├── Network/
│ ├── Networking/ # HTTP 클라이언트 설정
│ ├── Foundations/ # 네트워크 기반 유틸리티 (Token, Header)
│ └── ThirdPartys/ # AsyncMoya, WeaveDI 등
└── Shared/
├── DesignSystem/ # 공통 UI 컴포넌트, 폰트, 색상
├── Shared/ # 공통 공유 모듈
└── Utill/ # 날짜, 문자열, 로깅 유틸리티
의존성 방향: Presentation → Domain ← Data, Network는 Data에서만 참조
// Core Architecture
ComposableArchitecture: 1.25.5+ // TCA (자동 최신 버전)
TCAFlow: 1.1.1+ // 네비게이션 관리 (자동 최신 버전)
WeaveDI: 3.4.1 // 의존성 주입
// Networking
AsyncMoya: 1.1.8 // 비동기 네트워크
ReactiveSwift: 6.7.0 // 리액티브 프로그래밍
// Authentication
AppAuth-iOS: 2.0.0 // OAuth 2.0
GoogleSignIn-iOS: 9.1.0 // Google 소셜 로그인
// Analytics & Monitoring
Firebase: 12.12.0 // 분석, 크래시리틱스
Mixpanel: 5.1.3 // 사용자 행동 분석프로젝트의 상세한 가이드라인은 다음 docs 폴더의 문서들을 참고하세요:
- TCA 기본 구조 및 규칙
- Extension 패턴 활용법
- Action 처리 메서드 분리
- State Computed Properties
- Coordinator Extension 패턴
- SwiftUI 코드 구조화
- View Extension 패턴
- Computed Properties + @ViewBuilder 조합
- 조건부 렌더링 및 Skeleton 패턴
- Swift 스타일 가이드
- 에러 처리 패턴
- TCA 에러 처리 규칙
- 테스트 패턴
- CustomAlert (TCA 기반 커스텀 알림)
- Toast 시스템 (전역 메시지)
- CustomModal (드래그 지원 모달)
- TCA Presentation 패턴 규칙
- WeaveDI 3.4.1 패턴
- AppDIManager 구조
- TCA Dependencies 통합
- Interface 기반 등록 규칙
- 성능 최적화 통합 시스템
- 서브에이전트 호출 규칙
- TCA/SwiftUI 성능 문제 해결
- 빌드 오류 해결 프로세스
- 브랜치 전략
- 커밋 메시지 컨벤션
- Pull Request 규칙
- 코드 리뷰 가이드라인
- 에이전트가 작성하는 모든 git commit 메시지는 한국어로 작성
- 커밋 제목/본문 모두 한글 기준으로 작성
- 영문 타입 prefix(
feat,fix,refactor,test,chore)는 사용 가능하지만, 설명 문구는 반드시 한국어 - 별도 요청이 없는 한 영어 커밋 메시지는 사용하지 않음
- @FlowCoordinator 패턴
- 기본 네비게이션 동작 (Push, Present, Dismiss)
- 화면 간 통신 패턴
- 딥 링크 처리
🔧 개발 환경 설정
- Make 명령어
- Xcode 빌드 설정
- Tuist 사용 규칙
- 테스트 패턴
@test-auto-pr-agent- Swift Testing 기반 완전 자동 테스트 생성- 8개 전체 도메인 테스트 코드 자동 생성 (Attendance, Auth, Profile, Schedule, MyPage, QRCode, OnBoarding, Manager)
- 106개 테스트 케이스 자동 구현 및 검증
- docs/tdd/ 폴더 기반 도메인 분석 → 테스트 생성 → PR 자동 생성
- Swift Testing 프레임워크 사용 (XCTest 대신)
- TCA Mock Store, WeaveDI Mock 자동 설정
- 테스트 실행 → 실패 시 자동 수정 → 성공까지 반복
@ios-performance-optimizer- PFW 철학 통합 자동화 시스템 (v4.0)@ios-performance-pfw- Point-Free Workshop 전문@swiftui-uikit-interop- SwiftUI ↔ UIKit 상호 운용성 전문@swift-concurrency- Swift 6 Concurrency 및 async/await 전문
다음 키워드 언급 시 자동으로 성능 최적화 스킬 호출:
ifCaseLet,TCA,Effect,메모리 누수,성능,최적화SwiftUI,렌더링,빌드 시간,TCAFlow,WeaveDICannot infer,Extensions must not,Type annotation missing빌드 오류,컴파일 에러,SourceKit error
이 문서는 DDDAttendance iOS 프로젝트의 아키텍처 가이드라인입니다. 새로운 기능 개발이나 코드 리뷰 시 이 가이드와 세부 문서들을 참고하여 일관성 있는 코드를 작성해주세요.