Repository navigation
chore: AI 하네스 정착 (CLAUDE.md + .gitignore 정리 + SDD) - #108
Conversation
- 루트 CLAUDE.md: Tuist 빌드/실행/배포 명령, 모듈 구조, MVVM·브랜치·커밋 컨벤션 - .omc/ 를 gitignore 처리하고 index에서 제거 (머신 생성 상태 파일, diff noise 제거) - swiftui-specialist 커스텀 스킬을 버전 관리에 포함 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- docs/specs/_template/ (spec/plan/tasks) 복사용 템플릿 추가 - CLAUDE.md에 SDD 규율 명시: 비자명 기능은 스펙 먼저, drift 시 스펙부터 수정 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive SwiftUI specialist skill guide, adding reference documents on animations, data flow, environment performance, ForEach, localization, modifiers, soft-deprecated APIs, and view structure. It also adds a CLAUDE.md file, spec templates, and updates the .gitignore. The review feedback correctly identifies a few technical inaccuracies in the documentation, such as correcting the deployment target for AnimatableValues to 18.0, updating the Swift version for EnumeratedSequence conditional conformance to 6.2, and resolving an escaped newline character in the soft-deprecated APIs list.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
|
||
| Reach for an explicit `animatableData` when the interpolated value needs custom logic that doesn't correspond 1:1 to a stored property, like normalization, clamping, or driving a derived value. | ||
|
|
||
| For deployment target >= 26.0, use `AnimatableValues`: |
There was a problem hiding this comment.
| } | ||
| ``` | ||
|
|
||
| ### `.enumerated()` and `RandomAccessCollection` |
There was a problem hiding this comment.
EnumeratedSequence가 Collection, BidirectionalCollection, RandomAccessCollection에 조건부 부합하도록 하는 제안(SE-0459)은 Swift 6.1이 아닌 Swift 6.2에서 구현되었습니다. 따라서 Swift 6.1 환경에서는 items.enumerated()를 직접 전달하면 컴파일 에러가 발생하므로, 기준 버전을 Swift 6.2로 수정해야 합니다.
| ### `.enumerated()` and `RandomAccessCollection` | |
| As of Swift 6.2, the sequence returned by .enumerated() conditionally conforms to Collection, BidirectionalCollection, and RandomAccessCollection when the base collection does. ForEach requires its data to be a RandomAccessCollection, so on Swift 6.2 and later you can pass items.enumerated() directly - no Array(...) wrapper is needed. On earlier toolchains the wrapper is still required. Favor the direct form in new code; it avoids an eager copy of the collection on every body evaluation. |
| - `View.colorScheme(_ colorScheme: ColorScheme) -> some View` (iOS, macOS, tvOS, watchOS, visionOS) | ||
| - Renamed to preferredColorScheme(_:) | ||
| - `Section.collapsible(_ collapsible: Bool) -> some View` (macOS, tvOS, watchOS) | ||
| - Use a standard Section initializer which does not allow for collapsibility\nby default after macOS 14.0. |
There was a problem hiding this comment.
텍스트 내에 이스케이프 문자 \\n이 리터럴 문자열로 포함되어 있습니다. 마크다운 가독성을 위해 공백이나 실제 줄바꿈으로 수정하는 것이 좋습니다.
| - Use a standard Section initializer which does not allow for collapsibility\nby default after macOS 14.0. | |
| - Use a standard Section initializer which does not allow for collapsibility by default after macOS 14.0. |
요약
AI 에이전트 하네스를 이 프로젝트에 정착시킵니다.
.omc/gitignore + 언트랙 — 머신 생성 상태 파일(214개+세션 30개)로 인한 diff noise 영구 제거docs/specs/_template/(spec/plan/tasks) + CLAUDE.md 규율영향
소스 코드 변경 없음. 에이전트/문서/gitignore만.
🤖 Generated with Claude Code