# ---------------------------------------------------------------------------
# 产物策略来源：conti-docs/14-conventions-and-ci-gates.md §四
#
#   *.g.dart / *.freezed.dart  不提交（CI 会跑 melos run gen 重新生成）
#   Pigeon 产物                 提交（评审时能看到跨语言接口变更）
#   根 pubspec.lock             提交；各子包 pubspec.lock 不提交
# ---------------------------------------------------------------------------

# --- 代码生成产物 ---
**/*.g.dart
**/*.freezed.dart
**/*.mocks.dart

# Pigeon 产物必须入库：上面的 **/*.g.dart 会误伤 native_* 的生成文件，
# 这里显式反选回来。生成的 Kotlin/Swift 用的是 .g.kt / .g.swift，不受影响。
!packages/native_*/lib/src/generated/**

# --- 依赖锁 ---
# 根 lock 提交（保证所有人和 CI 拿到同一套版本），子包 lock 不提交。
app/pubspec.lock
packages/*/pubspec.lock
# Melos 8 + Pub Workspace 下不再生成 pubspec_overrides.yaml，保留兜底规则。
**/pubspec_overrides.yaml

# --- 签名与密钥：任何情况下都不能进仓库 ---
android/key.properties
app/android/key.properties
**/*.jks
**/*.keystore
**/*.p12
**/*.mobileprovision
**/*.cer
.env
.env.*

# --- Dart / Flutter ---
.dart_tool/
.packages
build/
.flutter-plugins
.flutter-plugins-dependencies
coverage/
doc/api/

# --- FVM ---
.fvm/

# --- Android ---
app/android/.gradle/
app/android/local.properties
app/android/app/debug/
app/android/app/profile/
app/android/app/release/
**/GeneratedPluginRegistrant.java

# --- iOS ---
app/ios/Pods/
app/ios/.symlinks/
app/ios/Flutter/Flutter.framework/
app/ios/Flutter/Flutter.podspec
app/ios/Flutter/Generated.xcconfig
app/ios/Flutter/flutter_export_environment.sh
**/Podfile.lock
**/*.xcworkspace/xcuserdata/
**/xcuserdata/

# --- 编辑器 ---
.idea/
*.iml
.vscode/*
!.vscode/launch.json
!.vscode/settings.json
.DS_Store
