Environment setup
Prerequisites
Section titled “Prerequisites”| Tool | Version | Notes |
|---|---|---|
| Flutter (via FVM) | 3.41.8 | Pinned in .fvmrc; always prefix commands with fvm. |
| Node.js | ≥ 20 | Only needed for this docs site (docs-site/). |
| Xcode + simulators | current | Debug on the iOS Simulator, not a physical device. |
| Android Studio / SDK | current | |
| CocoaPods | current | iOS pods use use_frameworks! :linkage => :static — do not change this (see ios/Podfile). |
One-time setup
Section titled “One-time setup”# 1. Install dependencies (FVM picks up 3.41.8 from .fvmrc)fvm flutter pub get
# 2. Enable the git hooks# pre-commit formats staged Dart files, pre-push runs the quality gategit config core.hooksPath .githooks
# 3. Generate route and Hive codedart run build_runner build --delete-conflicting-outputsPlayer path dependencies — important
Section titled “Player path dependencies — important”ottstack_player and kvideo (the video player stack) are declared in
pubspec.yaml as absolute path dependencies pointing at
/Users/fahad/myLab/FlutterProjects/Player/. They are machine-specific: on a
fresh checkout, repoint those two paths to your local clone of the Player
workspace before pub get will resolve. flutter_cast lives in-repo under
local_lib/.
Code generation — when to run what
Section titled “Code generation — when to run what”| You changed… | Run |
|---|---|
AppRouter or any @AutoRoute annotation |
dart run build_runner build --delete-conflicting-outputs |
A @HiveType entity |
same — and register the adapter in main() |
.arb files in lib/l10n/ |
fvm flutter gen-l10n |
| Assets in a new folder | declare the folder in pubspec.yaml before referencing it |
Added/moved any file under lib/ |
fvm dart run tool/gen_coverage_imports.dart (the gate fails with exit 12 otherwise) |
VS Code
Section titled “VS Code”The repo ships launch configurations, including chorki (staging) which
builds against the staging API with --dart-define=USE_STAGING=true. Use it
for day-to-day work so you never hit production with test data.