# Project-local toolchain installed by scripts/setup_flutter.sh.
# The Flutter SDK is downloaded here, never committed.
.tool/

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

# The android/ and linux/ platform scaffolds are committed — both are real
# build targets with CI behind them, and linux/ carries Linthra's own edits
# (window identity, the offline SQLite seam) that a regeneration would drop.
# linux/flutter/ephemeral is per-build output and is excluded by linux/.gitignore.
# Any other native platform (windows/, macos/, …) is still generated locally via
# `flutter create .`; there is no target for them yet.

# flatpak-builder's own state/cache dir, plus the local build/repo output of
# `flatpak-builder ... flatpak-builder-build io.github.thezupzup.linthra.yml`
# (see flatpak/README.md). All generated, none committed —
# flatpak/io.github.thezupzup.linthra.yml and flatpak/generated/ are the
# source of truth.
.flatpak-builder/
/flatpak/repo/
/flatpak/flatpak-builder-build/

# IDE
.idea/
.vscode/
*.iml

# OS
.DS_Store
Thumbs.db

# Python (only `scripts/prepare_release_bump.py` runs locally; its bytecode cache
# is incidental and never belongs in git).
__pycache__/
*.pyc

# Release signing & store secrets — NEVER commit any of these.
# This is a repo-wide safety net (android/.gitignore also covers the files
# under android/). Templates such as android/key.properties.example contain no
# secrets and are intentionally tracked; the patterns below do not match them.
# See docs/release-signing.md.
#
# Upload/release keystores (incl. upload-keystore.jks).
*.jks
*.keystore
# Local Gradle signing config (copy android/key.properties.example instead).
key.properties
# Google Play Console / Play Developer API credentials (service-account JSON,
# fastlane supply). Linthra uses none of these today; excluded defensively so a
# future local publishing setup can never leak one.
service-account*.json
play-console*.json
