# REPOMAP — Timetrack > Machine-readable overview of the repository. Every important file and > directory with a one-line description. Update this file when adding new > features or renaming paths. ## Root | Path | Description | |--------------------------|--------------------------------------------------| | `pubspec.yaml` | Dependencies and Flutter config | | `analysis_options.yaml` | Dart linter rules | | `AGENT.md` | AI agent context — project rules and conventions | | `REPOMAP.md` | This file — repository map | ## lib/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/main.dart` | Entry point — ProviderScope wraps App | | `lib/app.dart` | MaterialApp.router — theme, locales, router | ### lib/core/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/core/database/app_database.dart` | Drift AppDatabase — tables, DAOs, connection setup | | `lib/core/router/app_router.dart` | GoRouter provider — routes, bottom nav shell | | `lib/core/theme/app_theme.dart` | AppTheme.light / AppTheme.dark (Material 3) | | `lib/core/l10n/` | ARB localisation files (en, de, …) | ### lib/features/timer/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/features/timer/data/timer_repository.dart` | TimerRepository interface | | `lib/features/timer/domain/` | TimerState (freezed), TimerNotifier (Riverpod) | | `lib/features/timer/presentation/timer_screen.dart` | Timer UI — start/stop, project picker, elapsed | ### lib/features/entries/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/features/entries/data/entries_repository.dart` | EntriesRepository — CRUD TimeEntry | | `lib/features/entries/domain/` | TimeEntry model (freezed), EntriesNotifier | | `lib/features/entries/presentation/entries_screen.dart` | List of time entries, manual add/edit | ### lib/features/projects/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/features/projects/data/projects_repository.dart` | ProjectsRepository — CRUD Project | | `lib/features/projects/domain/` | Project model (freezed), ProjectsNotifier | | `lib/features/projects/presentation/projects_screen.dart` | Project list, create/edit/archive | ### lib/features/reports/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/features/reports/data/reports_repository.dart` | Report queries — aggregation by day/week/month | | `lib/features/reports/domain/` | ReportData model, ReportsNotifier | | `lib/features/reports/presentation/reports_screen.dart` | Day/week/month charts (fl_chart) | ### lib/features/settings/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `lib/features/settings/presentation/settings_screen.dart` | Language, theme, export, about | ## test/ | Path | Description | |---------------------------------------------------|-----------------------------------------------------| | `test/features/timer/` | Unit + widget tests for timer feature | | `test/features/entries/` | Unit + widget tests for entries feature | | `test/features/projects/` | Unit + widget tests for projects feature | | `test/features/reports/` | Unit + widget tests for reports feature | | `test/core/` | Database migration tests, router tests | ## .ai/ | Path | Description | |----------------------------|-------------------------------------------------------| | `.ai/database.md` | Full Drift schema, DAO list, migration strategy | | `.ai/architecture.md` | ADRs — why Riverpod, Drift, go_router, feature-first | | `.ai/testing.md` | Test patterns, mocktail conventions, coverage goals | | `.ai/features/timer.md` | Timer state machine, restore-on-launch logic | | `.ai/features/reports.md` | Report queries, fl_chart data format, filters | | `.ai/features/export.md` | CSV/PDF/JSON schemas, share_plus flow | ## Generated Files (do not edit manually) | Pattern | Generator | |---------------------------|------------------| | `**/*.g.dart` | build_runner | | `**/*.freezed.dart` | freezed | | `lib/core/router/app_router.g.dart` | riverpod_generator |