Skip to content

Latest commit

ย 

History

History
67 lines (56 loc) ยท 3.27 KB

File metadata and controls

67 lines (56 loc) ยท 3.27 KB

CLAUDE.md

๋„ˆ๊ตดํฌํ„ธ+ (ACNH-wiki) โ€” ๋ชจ์—ฌ๋ด์š” ๋™๋ฌผ์˜ ์ˆฒ ๊ฐ€์ด๋“œ iOS ์•ฑ. UIKit + RxSwift + ReactorKit. ๋‹จ์ผ App ๋ชจ๋“ˆ, Tuist ๋นŒ๋“œ ์‹œ์Šคํ…œ.

Documentation Map

๋ชฉ์  ๋ฌธ์„œ
์•„ํ‚คํ…์ฒ˜ ์ „์ฒด ๊ตฌ์กฐ docs/architecture.md
Reactor ์ž‘์„ฑ๋ฒ• docs/patterns/reactor-pattern.md
Coordinator ์ž‘์„ฑ๋ฒ• docs/patterns/coordinator-pattern.md
๋ฐ์ดํ„ฐ ํ๋ฆ„ (Items.shared) docs/patterns/data-flow.md
์ƒˆ ํ™”๋ฉด ์ถ”๊ฐ€ docs/guides/add-new-screen.md
API ์—”๋“œํฌ์ธํŠธ ์ถ”๊ฐ€ docs/guides/add-api-endpoint.md
CoreData ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€ docs/guides/add-coredata-entity.md
๋นŒ๋“œ / CI / SwiftLint docs/guides/build-and-run.md
Dashboard ๊ธฐ๋Šฅ docs/features/dashboard.md
Catalog + Animals ๊ธฐ๋Šฅ docs/features/catalog.md
TurnipPrices ๊ธฐ๋Šฅ docs/features/turnip-prices.md
MusicPlayer ๊ธฐ๋Šฅ docs/features/music-player.md
iCloud Sync ๊ธฐ๋Šฅ docs/features/icloud-sync.md
๋„ค์ด๋ฐ/์šฉ์–ด ์‚ฌ์ „ docs/glossary.md
ํ•จ์ • ๋ชฉ๋ก (ํ•„๋…) docs/gotchas.md
๊ฒ€์ฆ ์Šคํฌ๋ฆฝํŠธ ๊ฐ€์ด๋“œ docs/guides/validation.md

Build Commands

mise install                             # Tuist 4.115.1 ์„ค์น˜
mise x -- tuist install                  # SPM ์˜์กด์„ฑ ์„ค์น˜
mise x -- tuist generate --no-open       # Xcode ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
mise x -- tuist build                    # CLI ๋นŒ๋“œ
swiftlint --config .swiftlint.yml        # ๋ฆฐํŠธ ๊ฒ€์‚ฌ
swiftlint --config .swiftlint.yml --fix  # ์ž๋™ ์ˆ˜์ •
make validate                            # ์•„ํ‚คํ…์ฒ˜ + ํŒจํ„ด ๊ฒ€์ฆ
make ci                                  # ๋ฆฐํŠธ + ๊ฒ€์ฆ + ๋นŒ๋“œ (CI ์ „์ฒด ํ๋ฆ„)

Key Paths

Path ์—ญํ• 
Projects/App/Sources/ ์•ฑ ์†Œ์Šค ๋ฃจํŠธ
Projects/App/Sources/Presentation/ UI ๋ ˆ์ด์–ด (6 features)
Projects/App/Sources/Utility/Items.swift ์ค‘์•™ ๋ฐ์ดํ„ฐ ํ—ˆ๋ธŒ ์‹ฑ๊ธ€ํ†ค
Projects/App/Sources/Coordinator.swift Coordinator ํ”„๋กœํ† ์ฝœ
Projects/App/Resources/{ko,en}.lproj/ ๋กœ์ปฌ๋ผ์ด์ œ์ด์…˜
Tuist/Package.swift SPM ์˜์กด์„ฑ
Projects/App/Project.swift Tuist ํ”„๋กœ์ ํŠธ ์ •์˜
.swiftlint.yml SwiftLint ์„ค์ •
scripts/validate-architecture.sh ์•„ํ‚คํ…์ฒ˜ ๊ฒฝ๊ณ„ ๊ฒ€์ฆ
scripts/validate-patterns.sh ํŒจํ„ด ๊ทœ์•ฝ ๊ฒ€์ฆ
Makefile ๋นŒ๋“œ/๊ฒ€์ฆ/๋ฆฐํŠธ ํƒ€๊ฒŸ

Critical Rules

  1. ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ ๊ธˆ์ง€ (ํŒ€ ์Šน์ธ ํ•„์š”)
  2. RxSwift ๊ด€๋ จ ํŒจํ‚ค์ง€๋Š” .framework (dynamic) ์œ ์ง€ โ†’ gotchas.md #1
  3. ํ™”๋ฉด ์ „ํ™˜์€ ๋ฐ˜๋“œ์‹œ Coordinator๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰
  4. ReactorKit ํŒจํ„ด ์ค€์ˆ˜: Action โ†’ mutate() โ†’ Mutation โ†’ reduce() โ†’ State
  5. ์„ค์ • ๋ณ€๊ฒฝ ํ›„ mise x -- tuist generate ์žฌ์‹คํ–‰

Language

  • ์ฝ”๋“œ์™€ ์‚ฌ๊ณ  ๊ณผ์ •์€ ์˜์–ด
  • ์ตœ์ข… ์‘๋‹ต์€ ํ•œ๊ตญ์–ด