mycode/myApp/TallyFlow/CLAUDE.md
songyc macbook b209199c2d feat: Setup app shell, SwiftData models, and real-time tracking engine
- Initialize iOS project with 6-tab navigation structure
- Configure custom Light/Dark themes and AppColors
- Define SwiftData models for Tasks, Tags, Goals, and TrackingRecords
- Setup relationships (Super/Sub tags) and cascade delete rules
- Implement Observable TrackingEngine for real-time timer updates
2026-06-26 03:32:29 +09:00

2.4 KiB

TallyFlow

Product summary

TallyFlow is an iOS productivity tracker for measuring tasks by either time or count. It supports hierarchical tags (super tag / sub tag), flexible goals, historical statistics, widgets, Live Activities, and a paired watchOS experience.

Source root

  • iOS source root folder: IOS/
  • Do not assume the default inner app folder name is TallyFlow; use IOS/ as the app source root.

Non-negotiable constraints

  • Use SwiftUI.
  • Use SwiftData as the local persistence layer.
  • Keep the project buildable after every milestone.
  • Do not scan or refactor the entire project.
  • Read only the files explicitly listed in each prompt.
  • Edit only the files explicitly listed in each prompt.
  • Do not mention competitor app names in code comments, docs, or commit messages.
  • Korean is the default app language; English must be supported.
  • Theme must support Light and Dark modes with custom green/yellow palettes, not generic system default vibes.
  • All date aggregation must respect configurable week start day and configurable custom day start time.
  • Time tracking must support multiple concurrent running timer tasks.
  • A task can have multiple tags.
  • Selecting a sub tag implies its parent super tag is also associated logically.

Architecture rules

  • Separate app shell, domain models, services, and feature views.
  • Create a single source of truth for:
    1. task definitions,
    2. tag hierarchy,
    3. goals,
    4. tracking sessions / count logs,
    5. calendar boundary calculations.
  • Avoid business logic inside SwiftUI view bodies.
  • Put theme colors/tokens in dedicated files.
  • Keep milestone 1 free of widget/watch/live activity target work; only prepare the architecture so those can be added later.

UX rules

  • Tab order must be:
    1. Main
    2. Tasks
    3. Tags
    4. Goals
    5. Stats
    6. Settings
  • Add a splash/loading screen that shows the app name.
  • Main tab should be scaffolded for:
    • today / week / month summary cards,
    • task action buttons,
    • future layout-edit mode.
  • Settings must be scaffolded for:
    • theme mode,
    • language,
    • week start day,
    • custom day start time,
    • premium section entry.

Coding style

  • Prefer small SwiftUI views.
  • Prefer explicit model names over vague names.
  • Add TODO markers only where the next milestone will extend logic.
  • Do not add placeholder lorem ipsum text.
  • Do not introduce third-party dependencies in milestone 1.